Anda di halaman 1dari 32

LAPORAN TUGAS PRAKTIKUM 6

LAPORAN TUGAS PRAKTIKUM 6 Disusun oleh: Emiliyana Varida Sholehah A1316028 TEKNIK INFORMATIKA POLITEKNIK NEGERI TANAH LAUT

Disusun oleh:

Emiliyana Varida Sholehah

A1316028

TEKNIK INFORMATIKA POLITEKNIK NEGERI TANAH LAUT

2018

1. Keyboard Sample Deskripsi program Menyentuh bidang teks EditText yang bisa diedit akan menempatkan kursor pada bidang teks dan otomatis menampilkan keyboard di layar. Anda akan mengubah

atribut bidang entri teks sehingga keyboard akan menyarankan pembetulan ejaan selagi Anda mengetik, dan otomatis memulai setiap kalimat baru dengan huruf kapital. Misalnya:

android:inputType="textCapSentences": Menyetel keyboard untuk menjadikan huruf besar di awal kalimat.

android:inputType="textAutoCorrect":Menyetel keyboard untuk menampilkan koreksi ejaan otomatis selagi Anda memasukkan karakter.

android:inputType="textMultiLine":Mengaktifkan kunci Return pada keyboard untuk mengakhiri baris dan membuat baris kosong baru tanpa menutup keyboard.

android:inputType="textPassword”:Menyetel karakter yang dimasukkan pengguna agar menjadi titik-titik untuk menyembunyikan sandi yang dimasukkan.

Coding activity_main.xml

<?xml version="1.0" encoding="utf-8"?>

<

xmlns:android="http://schemas.android.com/apk/res/android"

RelativeLayout

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context="com.example.emiliyana.keyboardsample.MainActivity"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin">

<Button

android:id="@+id/button_main"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentBottom="true"

android:layout_alignParentRight="true"

android:onClick="showText" android:text="@string/show" />

<EditText android:id="@+id/editText_main" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_toLeftOf="@id/button_main" android:inputType="textEmailAddress" android:hint="@string/enter" />

</

RelativeLayout

>

Coding dimens.xml

<?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="activity_vertical_margin">16dp</dimen> <dimen name="activity_horizontal_margin">16dp</dimen> </resources>

Coding strings.xml

<resources> <string name="app_name">Keyboard Sample</string> <string name="show">Show</string> <string name="enter">Enter An Email Address</string> </resources>

Coding MainActivity.java

package com.example.emiliyana.keyboardsample;

import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.EditText; import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

}

public void showText(View view) { // Associate editText with the editText_main EditText

element.

EditText editText = (EditText) findViewById(R.id.editText_main); if (editText != null) {

// Assign showString to the text that was entered. String showString = editText.getText().toString(); // Make the Toast message with showString. Toast.makeText(this, showString, Toast.LENGTH_SHORT).show();

}

}

}

Gambar Aplikasi

message with showString. Toast. makeText ( this , showString, Toast. LENGTH_SHORT ).show(); } } } Gambar
message with showString. Toast. makeText ( this , showString, Toast. LENGTH_SHORT ).show(); } } } Gambar
message with showString. Toast. makeText ( this , showString, Toast. LENGTH_SHORT ).show(); } } } Gambar

Kesimpulan Pada gambar diatas merupakan aplikasi dimana terdapat interaksi secara langsung yang diberikan oleh aplikasi dengan cara mengeluarkan keyboard secara otomatis ketika kita menyentuh tulisan Enter An Email Address dan pesan apa yang kita ketik dapat keluar secara otomatis dengan menekan button show. Dimana kita dapat membaca ulang pesan kita setelah mengetik.

2. Phone Number Spinner Deskripsi program Setiap bidang teks mengharapkan tipe masukan teks tertentu, seperti alamat email,

nomor telepon, sandi, atau hanya teks biasa. Penting untuk menetapkan tipe masukan untuk setiap bidang teks di aplikasi Anda sehingga sistem akan menampilkan metode masukan virtual yang sesuai, seperti:

Keyboard di layar standar untuk teks biasa

Keyboard untuk alamat email yang menyertakan simbol "@" di lokasi penting

Keypad ponsel untuk nomor telepon

Kemudian kita juga akan menambahkan kontrol masukan. Kontrol masukan adalah komponen interaktif dalam antarmuka pengguna aplikasi Anda. Android menyediakan aneka ragam kontrol yang bisa Anda gunakan dalam UI, seperti tombol, bilah pencarian, kotak centang, tombol zoom, tombol toggle, spinner, dan masih banyak lagi. (Untuk informasi selengkapnya tentang kontrol masukan, lihat Kontrol Masukan.) Spinner menyediakan cara cepat untuk memilih salah satu dari serangkaian nilai. Menyentuh spinner akan menampilkan daftar tarik-turun dengan semua nilai yang tersedia, yang bisa dipilih oleh pengguna. Jika hanya menyediakan dua atau tiga pilihan, Anda mungkin ingin menggunakan tombol radio untuk pilihan jika memiliki ruang di layout untuk tombol-tombol itu. akan tetapi, jika ada lebih dari tiga pilihan, spinner bekerja sangat baik, menggulir seperlunya untuk menampilkan item, dan hanya membutuhkan sedikit ruang di layout Anda. Untuk informasi selengkapnya tentang spinner, lihat Spinner. Untuk memberikan cara memilih label untuk nomor telepon (misalnya Rumah, Kantor, Seluler, dan Lainnya), Anda bisa menambahkan spinner ke layout agar tampil tepat di sebelah bidang nomor telepon.

Coding activity_main.xml

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"

tools:context="com.example.emiliyana.phonenumberspinner.MainActivity"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin">

<LinearLayout

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_marginTop="@dimen/activity_vertical_margin"

android:orientation="horizontal">

<EditText android:id="@+id/editText_main" android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="phone" android:hint="@string/hint_phonenumber" />

<Spinner

android:id="@+id/label_spinner"

android:layout_width="wrap_content"

android:layout_height="wrap_content">

</Spinner>

<Button android:id="@+id/button_main" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="showText" android:text="@string/show_button" />

</LinearLayout>

<LinearLayout

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="horizontal"

android:layout_alignParentBottom="true">

<TextView

android:id="@+id/title_phonelabel"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/phonenumber_label"/>

<TextView

android:id="@+id/text_phonelabel"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/nothing_entered"/>

</LinearLayout>

</RelativeLayout>

Coding strings.xml

<resources> <string name="app_name">Phone Number Spinner</string> <string name="phonenumber_label">"Phone Number: "</string>

<string-array name="labels_array"> <item>Home</item> <item>Work</item> <item>Mobile</item> <item>Other</item> </string-array>

<string name="spinner_work">Home</string> <string name="hint_phonenumber">Enter phone number</string> <string name="show_button">Show</string>

<string name="nothing_entered">Nothing entered.</string> <string name="nothing_selected">"onNothingSelected: "</string> </resources>

Coding dimens.xml

<?xml version="1.0" encoding="utf-8"?>

<

resources

>

<dimen name="activity_vertical_margin">16dp</dimen> <dimen name="activity_horizontal_margin">16dp</dimen>

</

resources

>

Coding MainActivity.java

package com.example.emiliyana.phonenumberspinner;

import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.EditText; import android.widget.Spinner; import android.widget.TextView;

public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener { // Define TAG for logging. private static final String TAG = MainActivity.class.getSimpleName(); // Define mSpinnerLabel for the label (the spinner item that the user chooses). private String mSpinnerLabel = "";

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

// Create the spinner. Spinner spinner = (Spinner) findViewById(R.id.label_spinner); if (spinner != null) { spinner.setOnItemSelectedListener(this);

}

// Create ArrayAdapter using the string array and default spinner layout. ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.labels_array, android.R.layout.simple_spinner_item);

// Specify the layout to use when the list of choices

appears.

adapter.setDropDownViewResource

(android.R.layout.simple_spinner_dropdown_item);

// Apply the adapter to the spinner. if (spinner != null) { spinner.setAdapter(adapter);

}

}

public void showText(View view) { EditText editText = (EditText) findViewById(R.id.editText_main); if (editText != null) { // Assign to showString both the entered string and mSpinnerLabel. String showString = (editText.getText().toString() + " - " + mSpinnerLabel);

// Assign to phoneNumberResult the view for text_phonelabel to prepare to show it. TextView phoneNumberResult = (TextView) findViewById(R.id.text_phonelabel);

// Show the showString in the phoneNumberResult. if (phoneNumberResult != null) phoneNumberResult.setText(showString);

}

}

@Override public void onItemSelected(AdapterView<?> adapterView, View view, int pos, long id) { mSpinnerLabel = adapterView.getItemAtPosition(pos).toString(); showText(view);

}

@Override public void onNothingSelected(AdapterView<?> adapterView) { Log.d(TAG, getString(R.string.nothing_selected));

}

}

Gambar Aplikasi

adapterView) { Log. d ( TAG , getString(R.string. nothing_selected )); } } Gambar Aplikasi
adapterView) { Log. d ( TAG , getString(R.string. nothing_selected )); } } Gambar Aplikasi
adapterView) { Log. d ( TAG , getString(R.string. nothing_selected )); } } Gambar Aplikasi

Kesimpulan Pada gambar diatas merupakan aplikasi dimana terdapat interaksi secara langsung yang diberikan oleh aplikasi dengan cara mengeluarkan keyboard secara otomatis dengan format ketikan number, dan ketika kita menyentuh tulisan Enter phone number dan kita diminta untuk memilih Home, Work, Mobile, atau Other dan kemudian pesan apa yang kita ketik dapat keluar secara otomatis dengan menyentuh button show. Dimana kita dapat membaca ulang pesan kita setelah mengetik ulang pada bagian bawah layar.

3. Alart Sample Deskripsi program Anda bisa menyediakan dialog untuk peringatan yang mengharuskan pengguna membuat keputusan. Dialog adalah jendela yang muncul di atas tampilan atau mengisi tampilan, menyela alur aktivitas. Misalnya, sebuah dialog peringatan mungkin mengharuskan pengguna untuk mengeklik Continue setelah membacanya, atau memberi pilihan kepada pengguna untuk menyetujui suatu tindakan dengan mengeklik tombol positif (seperti OK atau Accept), atau untuk tidak menyetujui dengan mengeklik tombol negatif (seperti Cancel). Di Android, gunakan subkelas AlertDialog dari kelas Dialog untuk menampilkan dialog standar untuk peringatan.

Coding activity_main.xml

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.emiliyana.alertsample.MainActivity" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin">

<TextView

android:id="@+id/top_message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/tap_test" />

<Button

android:id="@+id/button1"

android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/top_message" android:layout_marginTop="@dimen/button_top_margin" android:text="@string/alert_button" android:onClick="onClickShowAlert" />

</RelativeLayout>

Coding dimens.xml

<?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="activity_vertical_margin">16dp</dimen> <dimen name="activity_horizontal_margin">16dp</dimen> <dimen name="button_top_margin">36dp</dimen> </resources>

Coding String.xml

<resources> <string name="app_name">AlertSample</string> <string name="tap_test">Tap to test the alert:</string> <string name="alert_button">Alert</string> <string name="alert_message">Click OK to continue, or Cancel to stop:</string> <string name="alert_title">Alert</string> <string name="pressed_ok">Tekan OK</string> <string name="pressed_cancel">Tekan Cancel</string> <string name="ok">OK</string> <string name="cancel">Cancel</string> </resources>

Coding MainActivity.java

package com.example.emiliyana.alertsample;

import android.content.DialogInterface; import android.os.Bundle; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

}

public void onClickShowAlert(View view) { // Build the alert dialog. AlertDialog.Builder myAlertBuilder = new AlertDialog.Builder(MainActivity.this);

// Set the dialog title. myAlertBuilder.setTitle(R.string.alert_title); // Set the dialog message.

myAlertBuilder.setMessage(R.string.

alert_message

);

// Add the buttons. myAlertBuilder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) {

// User clicked OK button. Toast.makeText(getApplicationContext(), R.string.pressed_ok,

Toast.LENGTH_SHORT).show();

}

}); myAlertBuilder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // User clicked the CANCEL button.

Toast.makeText(getApplicationContext(),

R.string.pressed_cancel,

});

}

Toast.LENGTH_SHORT).show();

// Create and show the AlertDialog. myAlertBuilder.show();

}

}

Gambar Aplikasi

AlertDialog. myAlertBuilder.show(); } } Gambar Aplikasi Kesimpulan Pada gambar diatas merupakan aplikasi dimana
AlertDialog. myAlertBuilder.show(); } } Gambar Aplikasi Kesimpulan Pada gambar diatas merupakan aplikasi dimana
AlertDialog. myAlertBuilder.show(); } } Gambar Aplikasi Kesimpulan Pada gambar diatas merupakan aplikasi dimana
AlertDialog. myAlertBuilder.show(); } } Gambar Aplikasi Kesimpulan Pada gambar diatas merupakan aplikasi dimana

Kesimpulan Pada gambar diatas merupakan aplikasi dimana terdapat interaksi secara langsung yang diberikan oleh aplikasi dengan cara menyentuh button alert. Dimana kita dapat memilih Ok atau Cancel untuk sebagai perintah peringatan kepada kita agar kita mendapat pringatan sebelum kita memilih salah satu diantaranya, dan setelah kita menyentuh salah satunya maka akan keluar pesan apa yang kita telah pilih seperti gambar diatas.

4. Date Time Picker Deskripsi program Android menyediakan dialog yang siap digunakan, disebut picker, untuk memilih waktu atau tanggal. Anda bisa menggunakannya untuk memastikan pengguna Anda memilih waktu atau tanggal yang valid, yang diformat dengan benar dan disesuaikan dengan waktu dan tanggal lokal pengguna. Masing-masing picker menyediakan kontrol untuk memilih setiap bagian waktu (jam, menit, AM/PM) atau tanggal (bulan, tanggal, tahun). Anda bisa membaca semua tentang mempersiapkan picker di Picker. Dalam tugas ini, Anda akan membuat proyek baru, dan menambahkan picker tanggal dan picker waktu. Anda juga akan mempelajari cara menggunakan fragmen. Fragmen adalah perilaku atau bagian antarmuka pengguna dalam suatu aktivitas. Fragmen mirip seperti aktivitas mini di dalam aktivitas utama, dengan siklus hidupnya sendiri, dan digunakan untuk membangun picker. Semua pekerjaan dilakukan untuk Anda. Untuk mengetahui tentang fragmen, lihat Fragmen dalam Panduan API. Salah satu manfaat menggunakan fragmen untuk picker adalah Anda bisa mengisolasi bagian kode untuk mengelola tanggal dan waktu untuk berbagai lokal yang menampilkan tanggal dan waktu dengan cara yang berbeda. Praktik terbaik untuk menampilkan picker adalah dengan menggunakan instance DialogFragment yang merupakan subkelas Fragmen. DialogFragment menampilkan jendela dialog yang mengambang di atas jendela aktivitasnya. Dalam latihan ini, Anda akan menambahkan fragmen untuk setiap dialog picker dan menggunakan DialogFragment untuk mengelola daur hidup dialog.

Coding activity_main.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"

tools:context="com.example.emiliyana.datetimepickers.MainActivity"

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">

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="@dimen/text_size" android:text="@string/choose_datetime" />

<RelativeLayout

android:layout_width="match_parent"

android:layout_height="match_parent">

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/button_date"

android:layout_marginTop="@dimen/button_top_margin"

android:text="@string/date_button"

android:onClick="showDatePickerDialog"/>

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/button_time"

android:layout_marginTop="@dimen/button_top_margin"

android:layout_alignBottom="@id/button_date"

android:layout_toRightOf="@id/button_date"

android:text="@string/time_button"

android:onClick="showTimePickerDialog"/>

</RelativeLayout>

</LinearLayout>

Coding dimens.xml

<?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="activity_vertical_margin">16dp</dimen>

<dimen name="activity_horizontal_margin">16dp</dimen> <dimen name="text_size">20sp</dimen> <dimen name="button_top_margin">12dp</dimen> </resources>

Coding strings.xml

<resources> <string name="app_name">Date Time Pickers</string> <string name="choose_datetime">Choose the date and time:</string> <string name="date_button">Date</string> <string name="time_button">Time</string> <string name="date_picker">datePicker</string> <string name="time_picker">timePicker</string> <string name="date">"Date: "</string> <string name="time">"Time: "</string>

<!-- TODO: Remove or change this placeholder text --> <string name="hello_blank_fragment">Hello blank fragment</string> </resources>

Coding MainActivity.java

package com.example.emiliyana.datetimepickers;

import android.os.Bundle; import android.support.v4.app.DialogFragment; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

@Override protected void onCreate(Bundle

savedInstanceState

)

super.onCreate(

setContentView(R.layout.activity_main);

savedInstanceState

);

}

{

public void showDatePickerDialog(View v) { DialogFragment newFragment = new DatePickerFragment(); newFragment.show(getSupportFragmentManager(), getString(R.string.date_picker));

}

public void showTimePickerDialog(View view) { DialogFragment newFragment = new TimePickerFragment(); newFragment.show(getSupportFragmentManager(), getString(R.string.time_picker));

}

public void processDatePickerResult(int year, int month, int day)

{

// The month integer returned by the date picker starts counting at 0 // for January, so you need to add 1 to show months starting

at 1.

String month_string = Integer.toString(month + 1); String day_string = Integer.toString(day); String year_string = Integer.toString(year); // Assign the concatenated strings to dateMessage. String dateMessage = (month_string + "/" + day_string + "/" + year_string); Toast.makeText(this, getString(R.string.date) + dateMessage, Toast.LENGTH_SHORT).show();

}

public void processTimePickerResult(int hourOfDay, int minute) {

// Convert time elements into strings. String hour_string = Integer.toString(hourOfDay); String minute_string = Integer.toString(minute); // Assign the concatenated strings to timeMessage. String timeMessage = (hour_string + ":" + minute_string); Toast.makeText(this, getString(R.string.time) + timeMessage, Toast.LENGTH_SHORT).show();

}

}

Coding TimePickerFragment.java

package com.example.emiliyana.datetimepickers;

import android.app.Dialog; import android.app.TimePickerDialog; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.v4.app.DialogFragment; import android.support.v4.app.Fragment; import android.text.format.DateFormat; import android.widget.TimePicker; import java.util.Calendar;

/** * A simple {@link Fragment} subclass. */ public class TimePickerFragment extends DialogFragment implements TimePickerDialog.OnTimeSetListener {

@NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { // Use the current time as the default values for the picker. final Calendar c = Calendar.getInstance(); int hour = c.get(Calendar.HOUR_OF_DAY); int minute = c.get(Calendar.MINUTE);

// Create a new instance of TimePickerDialog and return it. return new TimePickerDialog(getActivity(), this, hour,

minute,

DateFormat.is24HourFormat(getActivity()));

}

public void onTimeSet(TimePicker view, int hourOfDay, int minute)

{

// Do something with the time chosen by the user. // Set the activity to the Main Activity. MainActivity activity = (MainActivity) getActivity(); // Invoke Main Activity's processTimePickerResult() method. activity.processTimePickerResult(hourOfDay, minute);

}

}

Coding DatePickerFragment.java

package com.example.emiliyana.datetimepickers;

import android.app.DatePickerDialog; import android.app.Dialog; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.v4.app.DialogFragment; import android.support.v4.app.Fragment; import android.widget.DatePicker;

import java.util.Calendar;

/** * A simple {@link Fragment} subclass. */ public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {

@NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { // Use the current date as the default date in the picker. final Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); int day = c.get(Calendar.DAY_OF_MONTH);

// Create a new instance of DatePickerDialog and return it. return new DatePickerDialog(getActivity(), this, year, month,

day);

}

public void onDateSet(DatePicker view, int year, int month, int

day) {

// Do something with the date chosen by the user.

MainActivity activity = (MainActivity) getActivity(); // Invoke Main Activity's processDatePickerResult() method. activity.processDatePickerResult(year, month, day);

}

}

Gambar Aplikasi

processDatePickerResult() method. activity.processDatePickerResult(year, month, day); } } Gambar Aplikasi
processDatePickerResult() method. activity.processDatePickerResult(year, month, day); } } Gambar Aplikasi
processDatePickerResult() method. activity.processDatePickerResult(year, month, day); } } Gambar Aplikasi
processDatePickerResult() method. activity.processDatePickerResult(year, month, day); } } Gambar Aplikasi
processDatePickerResult() method. activity.processDatePickerResult(year, month, day); } } Gambar Aplikasi

Kesimpulan

Pada gambar diatas merupakan aplikasi dimana terdapat interaksi secara langsung yang diberikan oleh aplikasi dengan cara menyentuh salah satu button date atau time. Dimana kita dapat mengetahui tanggal dan waktu pada saat kita memilih dan menyentuh salah satu button tersebut, contoh ketika kita menekan button time maka akan keluar jam pada layar android dan kita juga dapat mengetahui baik jam maupun detik pada waktu saat kita menyentuk button time dan ketika kita menyemtuh ok maka akan keluar pesan jam saat kita menekan ok sebelumnya, dan begitu pula reaksi aplikasi ini ketika kita menyentuh button date.

5.

DroidCafe Deskripsi program Anda bisa membuat tampilan agar bisa diklik, sebagai tombol, dengan menambahkan atribut android:onClick di layout XML. Misalnya, Anda bisa membuat gambar agar berfungsi sebagai tombol dengan menambahkan android:onClick ke ImageView. Kita juga akan menambahkan Tombol radio. Tombol radio adalah kontrol masukan yang berguna untuk memilih hanya satu opsi dari serangkaian opsi. Anda harus menggunakan tombol radio jika Anda ingin pengguna melihat semua opsi yang tersedia secara berdampingan. Jika tidak perlu menampilkan semua opsi secara berdampingan, sebaiknya gunakan spinner. Nanti dalam praktik ini, Anda akan menambahkan aktivitas dan layout layar lainnya untuk menyetel opsi pengantaran untuk pesanan makanan, dan menggunakan tombol radio untuk pilihan pengantaran. Untuk ringkasan dan kode contoh lainnya untuk tombol radio, lihat Tombol Radio.

Coding activity_main.xml

<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.emiliyana.droidcafe.MainActivity">

<android.support.design.widget.AppBarLayout

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:theme="@style/AppTheme.AppBarOverlay">

<android.support.v7.widget.Toolbar

android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay" />

</android.support.design.widget.AppBarLayout>

<include layout="@layout/content_main" />

<android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|end" android:layout_margin="@dimen/fab_margin" app:srcCompat="@android:drawable/ic_dialog_email" />

</android.support.design.widget.CoordinatorLayout>

Coding content_main.xml

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" 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="

android:paddingRight="

android:paddingTop="@dimen/activity_vertical_margin"

app:layout_behavior="@string/appbar_scrolling_view_behavior"

@dimen/activity_horizontal_margin

@dimen/activity_horizontal_margin

"

tools:context="com.example.emiliyana.droidcafe.MainActivity"

tools:showIn="@layout/activity_main">

<TextView android:id="@+id/textintro" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="@dimen/padding_regular" android:text="@string/intro_text" android:textSize="@dimen/text_heading" />

<TextView android:id="@+id/choose_dessert" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/textintro" android:padding="@dimen/padding_regular" android:text="@string/choose_a_dessert" />

<ImageView android:id="@+id/donut" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/choose_dessert" android:contentDescription="@string/donuts" android:onClick="showDonutOrder" android:padding="@dimen/padding_regular" android:src="@drawable/donut_circle" />

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/choose_dessert" android:layout_toRightOf="@id/donut" android:padding="@dimen/padding_wide" android:text="@string/donuts" />

<ImageView

android:id="@+id/ice_cream"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_below="@id/donut" android:contentDescription="@string/ice_cream_sandwiches" android:onClick="showIceCreamOrder" android:padding="@dimen/padding_regular" android:src="@drawable/icecream_circle" />

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/donut" android:layout_toRightOf="@id/ice_cream" android:padding="@dimen/padding_wide" android:text="@string/ice_cream_sandwiches" />

<ImageView android:id="@+id/froyo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/ice_cream" android:contentDescription="@string/froyo" android:onClick="showFroyoOrder" android:padding="@dimen/padding_regular" android:src="@drawable/froyo_circle" />

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/ice_cream" android:layout_toRightOf="@id/froyo" android:padding="@dimen/padding_wide" android:text="@string/froyo" />

</RelativeLayout>

Coding activity_order.xml

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout 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"

tools:context="com.example.emiliyana.droidcafe.OrderActivity">

<TextView android:id="@+id/order_intro_text" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="@dimen/text_margin_bottom" android:layout_marginTop="@dimen/text_margin_top" android:text="@string/choose_delivery_method" android:textSize="@dimen/intro_text_size" />

<RadioGroup

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_below="@id/order_intro_text"

android:orientation="vertical">

<RadioButton android:id="@+id/sameday" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onRadioButtonClicked" android:text="@string/same_day_messenger_service" />

<RadioButton android:id="@+id/nextday" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onRadioButtonClicked" android:text="@string/next_day_ground_delivery" />

<RadioButton

android:id="@+id/pickup"

android:layout_width="wrap_content"

android:layout_height="wrap_content" android:onClick="onRadioButtonClicked" android:text="@string/pick_up" /> </RadioGroup>

</RelativeLayout>

Coding dimens.xml

<resources> <dimen name="activity_horizontal_margin">16dp</dimen> <dimen name="activity_vertical_margin">16dp</dimen> <dimen name="fab_margin">16dp</dimen> <dimen name="text_heading">24sp</dimen> <dimen name="padding_regular">10dp</dimen> <dimen name="padding_wide">35dp</dimen> <dimen name="text_margin_bottom">6dp</dimen> <dimen name="text_margin_top">24dp</dimen> <dimen name="intro_text_size">18sp</dimen> </resources>

Coding strings.xml

<resources> <string name="app_name">Droid Cafe</string> <string name="action_settings">Settings</string> <string name="intro_text">Droid Desserts</string> <string name="choose_a_dessert">Choose a dessert.</string> <string name="donuts">Donuts are glazed and sprinkled with candy.</string> <string name="ice_cream_sandwiches">Ice cream sandwiches have chocolate wafers and vanilla filling</string> <string name="froyo">FroYo is premium self-serve frozen yogurt.</string> <string name="donut_order_message">You ordered a donut.</string> <string name="ice_cream_order_message">You ordered an ice cream sandwich.</string> <string name="froyo_order_message">You ordered a FroYo.</string> <string name="choose_delivery_method">Choose a delivery

method:</string> <string name="same_day_messenger_service">Same day messenger service</string> <string name="next_day_ground_delivery">Next day ground delivery</string> <string name="pick_up">Pick up</string> <string name="chosen">"Chosen: "</string> <string name="action_contact">Contact</string> <string name="action_order">Order</string> <string name="action_status">Status</string> <string name="action_favorites">Favorites</string> <string name="action_order_message">You selected Order.</string> <string name="action_status_message">You selected Status.</string> <string name="action_favorites_message">You selected Favorites.</string> <string name="action_contact_message">You selected Contact.</string> <string name="title_activity_order">Order Activity</string> <string name="google_mtv_coord_zoom12">geo:37.422114,-

122.086744?z=12</string>

<string name="nothing_clicked">onRadioButtonClicked: Nothing clicked.</string> </resources>

Coding MainActivity.java

package com.example.emiliyana.droidcafe;

import android.content.Intent; import android.os.Bundle; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar);

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)

.setAction("Action", null).show();

}

});

}

@Override public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true;

}

@Override public boolean onOptionsItemSelected(MenuItem item) {

// Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId();

//noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true;

}

return super.onOptionsItemSelected(item);

}

public void displayToast(String message) {

Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show();

}

public void showFoodOrder(String message) { displayToast(message); Intent intent = new Intent(this, OrderActivity.class);

startActivity(intent);

}

/**

* Shows a message that the donut image was clicked.

*/ public void showDonutOrder(View view) { showFoodOrder(getString(R.string.donut_order_message));

}

/**

* Shows a message that the ice cream sandwich image was clicked.

*/ public void showIceCreamOrder(View view) { showFoodOrder(getString(R.string.ice_cream_order_message));

}

/**

* Shows a message that the froyo image was clicked.

*/ public void showFroyoOrder(View view) { showFoodOrder(getString(R.string.froyo_order_message));

}

}

Coding OrderActivity.java

package com.example.emiliyana.droidcafe;

import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log;

import android.view.View; import android.widget.RadioButton; import android.widget.Toast;

public class OrderActivity extends AppCompatActivity {

private static final String TAG_ACTIVITY = OrderActivity.class.getSimpleName(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_order);

}

public void displayToast(String message) { Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show();

}

public void onRadioButtonClicked(View view) { // Is a button now checked? boolean checked = ((RadioButton) view).isChecked(); // Check which radio button was clicked switch (view.getId()) { case R.id.sameday:

if (checked)

// Same day service displayToast(getString(R.string.chosen) +

getString(R.string.same_day_messenger_service)); break; case R.id.nextday:

if (checked)

// Next day delivery displayToast(getString(R.string.chosen) +

getString(R.string.next_day_ground_delivery)); break; case R.id.pickup:

if (checked) // Pick up

displayToast(getString(R.string.chosen) + getString(R.string.pick_up));

break;

default:

Log.d(TAG_ACTIVITY,

getString(R.string.nothing_clicked));

}

}

}

break;

Gambar Aplikasi

nothing_clicked )); } } } break ; Gambar Aplikasi Kesimpulan Pada gambar diatas merupakan aplikasi dimana
nothing_clicked )); } } } break ; Gambar Aplikasi Kesimpulan Pada gambar diatas merupakan aplikasi dimana
nothing_clicked )); } } } break ; Gambar Aplikasi Kesimpulan Pada gambar diatas merupakan aplikasi dimana
nothing_clicked )); } } } break ; Gambar Aplikasi Kesimpulan Pada gambar diatas merupakan aplikasi dimana

Kesimpulan Pada gambar diatas merupakan aplikasi dimana terdapat interaksi secara langsung yang diberikan oleh aplikasi dengan cara menyentuh salah satu Gambar atau menyentuh gambar pesan. Dimana kita dapat mengetahui gambar apa yang telah kita sentuh karena setelah menyentuh gambar tersebut kita akan berpindah ke aktivitas layar lain dengan deskripsi gambar apa yang telah kita sentuh dan kita juga akan dapat memilih radio mana, dan pada saat kita menyentuh salah satu radio tersebut aplikasi akan secara otomatis mengeluakan pesan radio mana yang telah kita pilih.