Safira A. // girl who's interesting to everything with rice.

Month: March 2018

Lesson 9: Preferences and Settings

Nama        : Safira Aini

NIM           : 1202154315

Kelas         : SI-39-03

Link Blog : http://safiraaini.student.telkomuniversity.ac.id/lesson-9-preferences-and-settings/

Lesson 9: Preferences and Settings

9.1: Preferensi Bersama

Tugas 1. Menjelajahi HelloSharedPrefs

1.1 Buka dan Jalankan Proyek HelloSharedPrefs

 

1.2 Jelajahi kode Aktivitas

Tugas 2. Menyimpan dan memulihkan data ke file preferensi bersama

2.1 Inisialisasi preferensi

 

2.2 Simpan preferensi di onPause()

2.3 Pulihkan preferensi di onCreate()

2.4 Setel ulang preferensi di handler klik reset()

Hasil :

    

 

9.2: Menambahkan Setelan ke Aplikasi

Tugas 1: Menambahkan setelan pengalihan ke aplikasi

1.1 Membuat proyek dan menambahkan direktori xml dan file sumber daya

1.2 Tambahkan preferensi XML dan atribut untuk setelan.

1.3 Tambahkan aktivitas untuk setelan dan fragmen untuk setelan yang spesifik

 

1.4 Hubungkan item menu Settings ke aktivitas setelan

1.5 Simpan nilai default di preferensi bersama

1.6 Baca nilai setelan yang diubah dari preferensi bersama

Hasil :

 

Tugas 2: Menggunakan template Settings Activity

2.1 Menjelajahi template Settings Activity

 

2.2 Tambahkan item menu Settings dan hubungkan ke aktivitas

Hasil :

 

2.3 Sesuaikan setelan yang disediakan oleh template

2.4 Tambahkan kode untuk menyetel nilai default untuk setelan

 

2.5 Tambahkan kode untuk membaca nilai untuk setelan

Hasil :

 

Lesson 8: Triggering, Scheduling, and Optimizing Background Tasks

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 :

Lesson 7: Background Tasks

Name                  : SAFIRA AINI

Student ID         : 1202154315

Class                   : SI-39-03

Lesson 7: Background Tasks
7.1: Membuat AsyncTask

Tugas 1: Menyiapkan Proyek SimpleAsyncTask

1.1 Membuat layout

 

Code :

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:paddingLeft="@dimen/activity_horizontal_margin"
     android:paddingRight="@dimen/activity_horizontal_margin"
     android:paddingTop="@dimen/activity_vertical_margin"
     android:paddingBottom="@dimen/activity_vertical_margin"
     android:orientation="vertical">
 
     <TextView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="@string/ready_to_start"
         android:id = "@+id/textView1"
         android:textSize="24sp"/>
 
     <Button
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="@string/start_task"
         android:id="@+id/button"
         android:layout_marginTop="56dp"
         android:onClick="startTask" />
 </LinearLayout>

Tugas 2: Membuat subkelas AsyncTask

2.1 Menjadikan AsyncTask Subkelas

2.2 Mengimplementasikan doInBackground()

Code :

@Override
 protected String doInBackground(Void... voids) {
 
 
     Random r = new Random();
     int n = r.nextInt(11);
 
 
     int s = n * 200;
 
 
     try {
         Thread.sleep(s);
     } catch (InterruptedException e) {
         e.printStackTrace();
     }
 
     // Return a String result
     return "Awake at last after sleeping for " + s + " milliseconds!";
 }


2.3 Mengimplementasikan onPostExecute()

 

Tugas 3: Mengimplementasikan Langkah Terakhir

3.1 Implementasikan metode yang mulai dengan AsyncTask

 

3.2 Mengimplementasikan onSaveInstanceState()

Code :

 package android.example.com.simpleasynctask;
 
 import android.os.Bundle;
 import android.support.v7.app.AppCompatActivity;
 import android.view.View;
 import android.widget.TextView;
 
 
 public class MainActivity extends AppCompatActivity {
 
 
     private static final String TEXT_STATE = "currentText";
 
     private TextView mTextView;
 
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
         //  Initialize mTextView
         mTextView = (TextView) findViewById(R.id.textView1);
 
         // Restore TextView if there is a savedInstanceState
         if(savedInstanceState!=null){
            mTextView.setText(savedInstanceState.getString(TEXT_STATE));
         }
     }
 
  public void startTask (View view) {
         // Put a message in the text view
         mTextView.setText(R.string.napping);
 
         // Start the AsyncTask.
         // The AsyncTask has a callback that will update the text view.
         new SimpleAsyncTask(mTextView).execute();
     }
 
     @Override
     protected void onSaveInstanceState(Bundle outState) {
         super.onSaveInstanceState(outState);
         // Save the state of the TextView
         outState.putString(TEXT_STATE, mTextView.getText().toString());
     }
 }

 

Hasil :

 

7.2: Menghubungkan ke Internet dengan AsyncTask dan AsyncTaskLoader

Tugas 1. Menjelajahi Books API

1.1   Mengirimkan Permintaan API Books

 

1.2   Menganalisis Respons API Books

Tugas 2: Membuat “Who Wrote it?” Aplikasi

2.1 Membuat proyek dan antarmuka pengguna

 

2.2 Menyiapkan Aktivitas Utama

2.3 Membuat AsyncTask kosong

2.4 Membuat kelas NetworkUtils dan membangun URI

2.5 Membuat Permintaan

 

2.6 Menambahkan izin internet

 

2.7 Parse string JSON

 

Tugas 3. Mengimplementasikan praktik terbaik UI

3.1 Menyembunyikan Keyboard dan Memperbarui TextView

3.2 Mengelola status jaringan dan kasus bidang penelusuran kosong

 

Tugas 4. Migrasi ke AsyncTaskLoader

4.1 Membuat AsyncTaskLoader

4.2 Memodifikasi MainActivity

Hasil :

 

7.3: Penerima Siaran

Tugas 1. Menyiapkan Proyek PowerReceiver

1.1   Membuat Proyek

 

1.2 Mendaftarkan Penerima untuk siaran sistem

1.3 Mengimplementasikan onReceive() dalam BroadcastReceiver

 

1.4 Membatasi Penerima Siaran

 

Tugas 2. Mengirimkan dan Menerima Siaran Khusus

2.1 Mendefinisikan string Tindakan Siaran khusus

2.2 Tambahkan Tombol “Send Custom Broadcast”

2.3 Mengimplementasikan sendCustomBroadcast()

2.4 Mendaftarkan Siaran Khusus

2.5 Merespons Siaran Khusus

Hasil :

 

© 2024 Xaveera.

Theme by Anders NorenUp ↑