Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit f9b5cd5

Browse files
Smart Alarm
1 parent 9755be0 commit f9b5cd5

File tree

6 files changed

+52
-15
lines changed

6 files changed

+52
-15
lines changed

‎app/src/main/java/it/ezzie/smartalarm/AlarmAdapter.java‎

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,48 @@
11
package it.ezzie.smartalarm;
22

3-
import android.view.View;
3+
import android.content.Context;
4+
import android.view.LayoutInflater;
45
import android.view.ViewGroup;
5-
66
import androidx.annotation.NonNull;
77
import androidx.recyclerview.widget.RecyclerView;
8+
import java.util.List;
9+
import it.ezzie.smartalarm.Entity.AlarmEntity;
10+
import it.ezzie.smartalarm.databinding.AdapterAlarmBinding;
811

912
public class AlarmAdapter extends RecyclerView.Adapter<AlarmAdapter.AlarmViewHolder> {
10-
public AlarmAdapter(){
11-
13+
private Context context;
14+
private List<AlarmEntity> alarmList;
15+
public AlarmAdapter(Context context , List<AlarmEntity> alarmList){
16+
this.context = context;
17+
this.alarmList = alarmList;
1218
}
19+
1320

1421
public class AlarmViewHolder extends RecyclerView.ViewHolder{
15-
16-
public AlarmViewHolder(@NonNull View itemView) {
17-
super(itemView);
22+
private AdapterAlarmBinding binding;
23+
public AlarmViewHolder(AdapterAlarmBinding binding) {
24+
super(binding.getRoot());
25+
this.binding = binding;
1826
}
1927
}
2028

2129
@NonNull
2230
@Override
2331
public AlarmViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
24-
return null;
32+
var binding = AdapterAlarmBinding.inflate(LayoutInflater.from(parent.getContext()),parent,false);
33+
return new AlarmViewHolder(binding);
2534
}
2635

2736
@Override
2837
public void onBindViewHolder(@NonNull AlarmViewHolder holder, int position) {
29-
38+
var alarm = alarmList.get(position);
39+
holder.binding.alarmTime.setText(alarm.getAlarmTime());
40+
holder.binding.alarmLabel.setText(alarm.getAlarmLabel());
3041
}
3142

3243
@Override
3344
public int getItemCount() {
34-
return 0;
45+
return alarmList.size();
3546
}
3647

3748

‎app/src/main/java/it/ezzie/smartalarm/Data_Access_Object/AlarmDAO.java‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313
@Dao
1414
public interface AlarmDAO {
1515
@Insert
16-
void createAlarm();
16+
void createAlarm(AlarmEntityalarm);
1717
@Update
18-
void updateAlarm();
18+
void updateAlarm(AlarmEntityalarm);
1919
@Delete
20-
void deleteAlarm();
20+
void deleteAlarm(AlarmEntityalarm);
2121
@Query("SELECT * FROM Alarms")
2222
List<AlarmEntity> getAllAlarms();
2323
}

‎app/src/main/java/it/ezzie/smartalarm/Entity/AlarmEntity.java‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import androidx.room.ColumnInfo;
44
import androidx.room.Entity;
5+
import androidx.room.Ignore;
56
import androidx.room.PrimaryKey;
67

78
@Entity(tableName = "Alarms")
@@ -13,6 +14,19 @@ public class AlarmEntity {
1314
@ColumnInfo(name = "Label")
1415
private String alarmLabel;
1516

17+
public AlarmEntity(){
18+
19+
}
20+
@Ignore
21+
public AlarmEntity( String alarmTime){
22+
this.alarmTime = alarmTime;
23+
}
24+
@Ignore
25+
public AlarmEntity( String alarmTime, String alarmLabel){
26+
this.alarmTime = alarmTime;
27+
this.alarmLabel = alarmLabel;
28+
}
29+
1630
public int getId() {
1731
return id;
1832
}

‎app/src/main/java/it/ezzie/smartalarm/MainActivity.java‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import androidx.core.graphics.Insets;
88
import androidx.core.view.ViewCompat;
99
import androidx.core.view.WindowInsetsCompat;
10+
import androidx.recyclerview.widget.LinearLayoutManager;
1011

1112
import java.util.List;
1213

@@ -19,19 +20,28 @@ public class MainActivity extends AppCompatActivity {
1920
private ActivityMainBinding binding;
2021
private List<AlarmEntity> alarmList;
2122
private AlarmDAO alarmDAO;
23+
private AlarmAdapter alarmAdapter;
2224

2325
@Override
2426
protected void onCreate(Bundle savedInstanceState) {
2527
super.onCreate(savedInstanceState);
2628
EdgeToEdge.enable(this);
2729
binding = ActivityMainBinding.inflate(getLayoutInflater());
2830
setContentView(binding.getRoot());
31+
initUI();
2932
initDatabase();
3033
}
3134

3235
private void initDatabase() {
3336
var db = AppDatabase.getInstance(this);
3437
alarmDAO = db.alarmDAO();
38+
alarmDAO.createAlarm(new AlarmEntity("4:00","Wake UP"));
39+
// alarmList = alarmDAO.getAllAlarms();
40+
}
41+
private void initUI(){
42+
alarmAdapter = new AlarmAdapter(this,alarmList);
43+
binding.recyclerView.setAdapter(alarmAdapter);
44+
binding.recyclerView.setLayoutManager(new LinearLayoutManager(this));
3545
}
3646

3747
}

‎app/src/main/res/layout/activity_main.xml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
android:paddingTop="10dp"/>
3737

3838
<androidx.recyclerview.widget.RecyclerView
39+
android:id="@+id/recyclerView"
3940
android:layout_width="match_parent"
4041
android:layout_height="0dp"
4142
tools:listitem="@layout/adapter_alarm"

‎app/src/main/res/layout/adapter_alarm.xml‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
android:layout_marginStart="40dp"/>
2121

2222
<TextView
23+
android:id="@+id/alarmLabel"
2324
android:layout_width="wrap_content"
2425
android:layout_height="wrap_content"
2526
android:text="Add Label"
@@ -32,7 +33,7 @@
3233
android:layout_marginBottom="10dp"/>
3334

3435
<TextView
35-
android:id="@+id/ampm"
36+
android:id="@+id/alarmUnit"
3637
android:layout_width="wrap_content"
3738
android:layout_height="wrap_content"
3839
android:text="AM"
@@ -49,7 +50,7 @@
4950
android:layout_height="35dp"
5051
android:layout_marginStart="10dp"
5152
android:src="@drawable/ic_sun"
52-
app:layout_constraintBottom_toTopOf="@id/ampm"
53+
app:layout_constraintBottom_toTopOf="@id/alarmUnit"
5354
app:layout_constraintStart_toEndOf="@id/alarmTime" />
5455

5556
<com.google.android.material.materialswitch.MaterialSwitch

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /