Name : SAFIRA AINI
Student ID : 1202154315
Class : SI-39-03
Lesson 8: Triggering, Scheduling, and Optimizing Background Tasks
8.1: Notifikasi
Tugas 1: Membuat notifikasi dasar
1.1 Membuat Proyek
1.2 Membuat notifikasi pertama
1.3 Menambahkan intent konten
1.4 Tambahkan prioritas dan default ke notifikasi Anda
Tugas 2. Memperbarui dan membatalkan notifikasi
2.1 Menambahkan tombol update dan cancel
2.2 Mengimplementasikan metode notifikasi pembatalan dan pembaruan
2.3 Mengalihkan keadaan tombol
Tugas 3. Menambahkan tindakan notifikasi
3.1 Mengimplementasikan tindakan “Learn More”
3.2 Mengimplementasikan tindakan “Update”
Hasil :
8.2: Alarm Manager
Tugas 1. Menyiapkan Stand Up! Proyek dan Tampilan
1.1 Membuat Stand Up! Layout proyek
Tugas 2. Menyiapkan Notifikasi
2.1 Membuat notifikasi
Tugas 3. Membuat Alarm Berulang
3.1 Menyiapkan intent tertunda siaran
3.2 Menyetel alarm berulang
3.3 Membuat Penerima Siaran
3.4 Memeriksa Status Alarm
Hasil :
8.3: Job Scheduler
Tugas 1. Mengimplementasikan JobService
1.1 Membuat Proyek dan NotificationJobService
1.2Mengimplementasikan onStartJob()
Tugas 2. Mengimplementasikan kondisi kerja
2.1 Mengimplementasikan batasan jaringan
Code :
<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”
xmlns:tools=”http://schemas.android.com/tools”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:paddingBottom=”@dimen/activity_vertical_margin”
android:paddingLeft=”@dimen/activity_horizontal_margin”
android:paddingRight=”@dimen/activity_horizontal_margin”
android:paddingTop=”@dimen/activity_vertical_margin”
android:orientation=”vertical”
tools:context=”com.example.android.notificationscheduler.MainActivity”>
<TextView
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”@string/required_network_type”
android:textAppearance=”@style/TextAppearance.AppCompat.Subhead”
android:layout_margin=”4dp”/>
<RadioGroup
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:orientation=”horizontal”
android:id=”@+id/networkOptions”
android:layout_margin=”4dp”>
<RadioButton
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”@string/no_network”
android:checked=”true”
android:id=”@+id/noNetwork”/>
<RadioButton
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”@string/any_network”
android:id=”@+id/anyNetwork”/>
<RadioButton
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”@string/wifi_network”
android:id=”@+id/wifiNetwork”/>
</RadioGroup>
<TextView
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”@string/requires”
android:textAppearance=”@style/TextAppearance.AppCompat.Subhead”
android:layout_margin=”4dp”/>
<LinearLayout
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:orientation=”horizontal”
android:layout_margin=”4dp”>
<Switch
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”@string/device_idle”
android:id=”@+id/idleSwitch”/>
<Switch
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”@string/device_charging”
android:id=”@+id/chargingSwitch”/>
</LinearLayout>
<Switch
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”@string/periodic”
android:id=”@+id/periodicSwitch”
android:layout_margin=”4dp”/>
<LinearLayout
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:orientation=”horizontal”
android:layout_margin=”4dp”>
<TextView
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”@string/override_deadline”
android:id=”@+id/seekBarLabel”
android:textAppearance=”@style/TextAppearance.AppCompat.Subhead”/>
<TextView
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”@string/not_set”
android:id=”@+id/seekBarProgress”
android:textAppearance=”@style/TextAppearance.AppCompat.Subhead”/>
</LinearLayout>
<SeekBar
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:id=”@+id/seekBar”
android:layout_margin=”4dp”/>
<Button
android:id=”@+id/scheduleJobButton”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_margin=”4dp”
android:text=”@string/schedule_job”
android:layout_gravity=”center_horizontal”/>
<Button
android:id=”@+id/cancelJobsButton”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_margin=”4dp”
android:text=”@string/cancel_jobs”
android:layout_gravity=”center_horizontal”/>
</LinearLayout>
2.2 Memeriksa batasan
2.3 Mengimplementasikan batasan Device Idle dan Device Charging
2.4 Mengimplementasikan batasan Batas Waktu Pengganti
2.5 Mengimplementasikan batasan Periodik
Hasil :
Leave a Reply