Perancangan Antarmuka Mobile: Tugas
Perancangan Antarmuka Mobile: Tugas
TUGAS
PERANCANGAN ANTARMUKA MOBILE
PEMANFAATAN INTENT
Disusun Oleh :
NAMA : Arif Riyadi
NIM : 155410098
JENJANG : S1
STMIK AKAKOM
YOGYAKARTA
2017
Arif Riyadi
PERANCANGAN ANTARMUKA MOBILE
(155410098)
PEMANATAN INTENT
Membuat 2 aktivity dimana actifity yang pertama untuk halaman awal saat aplikasi
dijalankan dan yang kedua untuk menampilkan data menggunakan INTENT
activity_main.xml halaman utama
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
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.ghea.data.MainActivity">
<TextView
android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="NIM"
android:textAppearance="@style/TextAppearance.AppCompat.Body2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/txtNim"
android:layout_width="340dp"
android:layout_height="40dp"
android:layout_marginStart="16dp"
android:ems="10"
android:inputType="number"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView7" />
<TextView
android:id="@+id/textView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="Nama"
android:textAppearance="@style/TextAppearance.AppCompat.Body2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/txtNim" />
<EditText
android:id="@+id/txtNama"
android:layout_width="340dp"
android:layout_height="40dp"
android:layout_marginStart="16dp"
android:ems="10"
android:inputType="textPersonName"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView8" />
<TextView
android:id="@+id/textView9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="Alamat"
android:textAppearance="@style/TextAppearance.AppCompat.Body2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/txtNama" />
<EditText
Arif Riyadi
PERANCANGAN ANTARMUKA MOBILE
(155410098)
android:id="@+id/txtAlamat"
android:layout_width="340dp"
android:layout_height="70dp"
android:layout_marginStart="16dp"
android:ems="10"
android:inputType="textMultiLine"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView9" />
<TextView
android:id="@+id/textView10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="Telepon"
android:textAppearance="@style/TextAppearance.AppCompat.Body2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/txtAlamat" />
<EditText
android:id="@+id/txtTelp"
android:layout_width="340dp"
android:layout_height="40dp"
android:layout_marginStart="16dp"
android:ems="10"
android:inputType="phone"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView10" />
<TextView
android:id="@+id/textView11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="Email"
android:textAppearance="@style/TextAppearance.AppCompat.Body2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/txtTelp" />
<EditText
android:id="@+id/txtEmail"
android:layout_width="340dp"
android:layout_height="40dp"
android:layout_marginStart="16dp"
android:ems="10"
android:inputType="textEmailAddress"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView11" />
<Button
android:id="@+id/button"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="173dp"
android:layout_height="56dp"
android:layout_marginStart="40dp"
android:layout_marginTop="16dp"
android:text="Simpan"
app:layout_constraintStart_toEndOf="@+id/imgView"
app:layout_constraintTop_toBottomOf="@+id/imageButton" />
<ImageButton
android:id="@+id/imageButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="40dp"
android:layout_marginTop="16dp"
android:onClick="load"
app:layout_constraintStart_toEndOf="@+id/imgView"
Arif Riyadi
PERANCANGAN ANTARMUKA MOBILE
(155410098)
app:layout_constraintTop_toBottomOf="@+id/txtEmail"
app:srcCompat="@android:drawable/ic_menu_camera" />
<ImageView
android:id="@+id/imgView"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/txtEmail"
/>
</android.support.constraint.ConstraintLayout>
HASILNYA
import android.content.Intent;
import android.database.Cursor;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent
data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == image && resultCode == RESULT_OK && null != data)
{
Uri selectedImage = data.getData();
String[] filePathColumn = {MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
img = picturePath;
cursor.close();
ImageView imageView = (ImageView) findViewById(R.id.imgView);
imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));
}
}
}
PEMBAHASAN
Pertama mendeklrasikan import class yang dibutuhkan, kemudian mendeklarasikan
button untuk menjadi object, selanjutnya pada program utama mendeklarasikan
namafield untuk menangkap semua inputan data, selanjutnya jika tommbol simpan
ditekan maka akan mengirimkan data ke class Main2Activity dengan memanfaatakan
INTENT, selanjutnya terdapat fungsi load yang berfungsi untuk menggambil gambar
dari galery dengan memanfaatkan fungsi onActivityResult()
Arif Riyadi
PERANCANGAN ANTARMUKA MOBILE
(155410098)
Activity_main2.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
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.ghea.data.Main2Activity">
<TextView
android:id="@+id/textView"
android:layout_width="33dp"
android:layout_height="20dp"
android:layout_marginStart="16dp"
android:layout_marginTop="208dp"
android:text="NIM "
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/nim"
android:layout_width="275dp"
android:layout_height="19dp"
android:layout_marginStart="100dp"
android:layout_marginTop="208dp"
android:text="nim"
android:textAppearance="@style/TextAppearance.AppCompat.Body2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="Nama"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView" />
<TextView
android:id="@+id/nama"
android:layout_width="275dp"
android:layout_height="19dp"
android:layout_marginStart="100dp"
android:layout_marginTop="16dp"
android:text="nama"
android:textAppearance="@style/TextAppearance.AppCompat.Body2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/nim" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="Alamat"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView3" />
<TextView
android:id="@+id/alamat"
android:layout_width="275dp"
android:layout_height="75dp"
android:layout_marginStart="100dp"
android:layout_marginTop="16dp"
Arif Riyadi
PERANCANGAN ANTARMUKA MOBILE
(155410098)
android:text="alamat"
android:textAppearance="@style/TextAppearance.AppCompat.Body2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/nama" />
<TextView
android:id="@+id/textView12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="72dp"
android:text="Telepon"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView5" />
<TextView
android:id="@+id/telepon"
android:layout_width="275dp"
android:layout_height="16dp"
android:layout_marginStart="100dp"
android:layout_marginTop="16dp"
android:text="telepon"
android:textAppearance="@style/TextAppearance.AppCompat.Body2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/alamat" />
<TextView
android:id="@+id/textView14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="Email"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView12" />
<TextView
android:id="@+id/email"
android:layout_width="275dp"
android:layout_height="20dp"
android:layout_marginStart="100dp"
android:layout_marginTop="17dp"
android:text="email"
android:textAppearance="@style/TextAppearance.AppCompat.Body2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/telepon" />
<Button
android:id="@+id/button2"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="44dp"
android:layout_marginTop="40dp"
android:text="Kembali"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/email" />
<ImageView
android:id="@+id/imageView"
android:layout_width="175dp"
android:layout_height="175dp"
android:layout_marginStart="116dp"
android:layout_marginTop="16dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@android:drawable/ic_menu_camera" />
</android.support.constraint.ConstraintLayout>
Arif Riyadi
PERANCANGAN ANTARMUKA MOBILE
(155410098)
HASILNYA
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.ImageView;
import android.graphics.BitmapFactory;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
nim.setText(getIntent().getStringExtra("data_nim"));
nama.setText(getIntent().getStringExtra("data_nama"));
alamat.setText(getIntent().getStringExtra("data_alamat"));
telp.setText(getIntent().getStringExtra("data_telp"));
email.setText(getIntent().getStringExtra("data_email"));
if(MainActivity.img != ""){
ImageView imageView = (ImageView) findViewById(R.id.imageView);
Arif Riyadi
PERANCANGAN ANTARMUKA MOBILE
(155410098)
imageView.setImageBitmap(BitmapFactory.decodeFile(MainActivity.img));
}
PEMBAHASAN
Pertama import class yang dibutuhkan kemudian pada program utama
mendekrasikan object untuk menampilkan data yang dikirimkan, selanjutnya data
yang telah dikirimkan ditampilkan pada masing-masing objec yang telah di
deklarasikan terlibih dahulu selanjutanya jika terdapat gambar yang dikirimkan maka
tampilkan, terdapat juga fungsi on click untuk kembali ke halaman utama
Catatan :
Tambahkan
<manifest>
......
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"/>
.....
</manifest>
Pada file AndroidManifest.xml, juga jika menggunakan android versi 6 ketas setting
permission storage pada app
Arif Riyadi
PERANCANGAN ANTARMUKA MOBILE
(155410098)
Jalannya aplikasi
1. Saat Aplikasi dijalankan
2 Isi data
Isikan data sesuai form kemudian klik tombol ikon kamera untuk memilih foto,
selanjutnya klik tombol simpan untuk mengirimkan halaman berikutnya
Arif Riyadi
PERANCANGAN ANTARMUKA MOBILE
(155410098)