Anda di halaman 1dari 35

Modul Pelatihan Android Pemula

Biro Kajian Teknologi Informasi

Silabus :

 Installing Software

 Create Project

 Struktur projek

 Hello world

 Layouting halaman interface (padding, margin, weight, size, color)

 onclick listener : Toast, Snackbar, Alert Dialog, Intent

 Mengganti icon

 Splashscreen

 Pindah antar Activity

 Menu Utama : Spinner

 Item menu tentang


INSTALLING SOFTWARE
Untuk dapat menggunakan aplikasi Android Studio ini ada beberapa software yang diperlukan
yakni Java Development Kit (JDK) minimum versi 7 atau yang lebih tinggi dan software
Android Studio yang dapat di download melalui situs web http://developer.android.com.
1. Install Java Development Kit (JDK) versi 8 – 64 bit.
Berikut ini langkah – langkah untuk melakukan instalasi software Java Development Kit
(JDK) versi 8 – 64 bit pada windows :
a. Download software JDK melalui link berikut :
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-
1880260.html
b. Install Java JDK dan ingat path dimana file java disimpan.

c. Klik tombol windows dan type Environment Variables  klik Edit the system
Environment Variables. Pada jendela window akan tampil System Properties.
Kemudian klik Environment Variables.
d. Setelah itu klik New

e. Pada kolom pertama tulislah JAVA_HOME. Lihat lokasi dimana path java tadi di
install. Dan pada kolom kedua Variable_value isilah path lokasi java tersebut di
install.

f. Setelah itu pilih OK.


Pemecahan masalah :
Jika terdapat error pada saat memulai install Android Studio, hal itu disebabkan karena
class java nya tidak ditemukan dan terdapat error yang berhubungan dengan path. Hal
yang harus dilakukan adalah buka Environment, cari JAVA_HOME yang telah
ditambahkan, kemudian masukkan path jre, bukan jdk.

INSTALL ANDROID STUDIO


Setelah berhasil melakukan proses install Java Development Kit (JDK), selanjutnya install
software Android Studio seperti langkah – langkah dibawah ini :
a. Double klik pada file android_studio.exe kemudian pilih NEXT

b. Kemudian muncul tampilan seperti dibawah ini :

Kemudian pilih NEXT


c. Setelah itu pilih Agree

d. Klik NEXT
e. Kemudian pilih alokasi RAM yang akan digunakan misalnya 3 GB. Kemudian pilih
NEXT

f. Klik Install, setelah itu tunggu proses selesai


g. Klik Next

h. Setelah proses selesai KLIK NEXT

i. Proses checking for Update SDK components.


j. Proses check updated SDK components selesai, klik NEXT.

k. Proses instalasi selesai,


CREATE NEW PROJECT

1. Buka Aplikasi Android Studio


2. Buat Project baru dengan Pilih Start a new Android Studio project. Atau jika sudah
membuka project lain klik File NewNew Project

3. Isi nama Application Name dan Companion Domain. Kedua input ini akan menjadi
Package Name pada aplikasi anda. Package ini akan menjadi nama yang tetap dan
sebagai link ketika aplikasi anda diupload di Play Store nanti. Seperti contoh di bawah
ini,maka link pada Play Store akan menjadi
https://play.google.com/store/apps/details?id=com.bekatei.sinauandroid
Selain itu setting Project Location sebagai tempat peyimpanan project sesuai
keinginan anda.
4. Pilih Target Device dan Minimum SDK untuk aplikasi yang akan anda buat, pilih
Phone and Tablet dan Minimal SDK Gingerbread, kemudian pilih Next.

5. Pilih Empty Activity untuk project baru, pilih Next.


6. Secara default akan muncul setting sebagai berikut;

Activity Name : MainActivity


Layout Name : activity_main
Title : MainActivity
Menu Resource Name : menu_main
Kita boleh mengganti isi dari setiap kolom tersebut sesuai yang kita inginkan. Namun
disini saya tetap memakai nama tersebut. Keudian Klik Finish. Maka Android Studio
akan membuka tampilan utama. Harap sabar ketika pertama kali membuat projek
karena membutuhkan waktu yang cukup lama sampai proses Gradle (cek) selesai.
STRUKTUR DIREKTORI PROJEK ANDROID STUDIO

Setelah Anda membuka projek,


maka Anda akan melihat banyak
sekali folder yang otomatis dibuat di
sebelah panel kiri. Nah, alangkah
baiknya jika kita memahami terlebih
dahulu apa maksud dari adanya
folder-folder tersebut. Mari kita
simak satu-satu :

1. Manifest
Pada folder ini terdapat satu file
yaitu AndroidManifest.xml, adalah
file yang berfungsi untuk mengatur
nama aplikasi, icon aplikasi, tema
aplikasi, dan juga mengatur Activity
mana yang akan dijalankan pertama
kali. Selain itu juga untuk mengatur
permission aplikasi tersebut.

2. Java
Di dalamnya folder app kita, dan
folder AndroidTest. AndroidTest
digunakan untuk mengecek tanpa
menjalankan aplikasinya, sedangkan
folder yang biasa berisi file utama
MainActivity, yaitu tempat kita
ngoding alias menulis source code
untuk memberikan perintah tertentu
pada aplikasi yang kita buat.

3. Res
Singkatan dari resource, adalah folder tempat kita membuat layout dalam format xml,
selain itu juga berfungsi untuk menyimpan gambar, musik, icon, dan juga beverapa
values, seperti : colors, string, style, dimens.

4. Gradle
Adalah tempat untuk edit minimal SdkVersion, target SdkVersion, Version Code,
Version Name, buildTypes, dan depencies untuk library yang akan kita pakai.
MENJALANKAN PROJEK ANDROID STUDIO

Untuk menjalankan project cukup dengan pilih Run  Run ‘app’ atau melalui
icon run berbentuk segitiga hijau atau dengan kombinasi keyboard Shift + F10.
Setelah itu, ada beberapa cara untuk menjalankan aplikasi pertama kita, yaitu :
1. Menggunakan Android Virtual Device (AVD).
2. Langsung disambungkan dengan USB Device.
3. Menggunakan Emulator pihak ketiga, seperti Genymotion.

CARA MENGAKTIFKAN DUBUGGING MODE PADA HP

Supaya kita dapat menjalankan aplikasi pada hp, kita perlu mengaktifkannya debugging
mode, caranya sebagai berikut :

1. Buka Setting
2. Pilih About Phone
3. Tekan beberapa kali sampai muncul tulisan “Developer Option” telah diaktifkan
4. Kembali ke Setting, akan muncul menu baru “Developer Option”
5. Centang pada USB Debugging

Jika HP masih belum terdeteksi : masuk ke Klik Kanan My Computer  Properties 


advanced System Setting  Environtment Variables  Pada Kotak System Variable  Edit
PATH : tambahkan dengan lokasi sdk, biasanya ada di
C:\Users\Win8\AppData\Local\Android\sdk\platform-tools;

Jika HP sudah muncul tapi masih OFFLINE : end task Adb.exe pada TaskManager, dan
jalankan lagi.
MEMASUKKAN RESOURCE

Untuk memasukkan resource berupa image, musik, icon, maupun video caranya sangat
mudah, tinggal copy file yang akan dimasukkan dari Windows Explorer kemudian paste di
Folder Drawable. Ketentuannya nama file hanya boleh terdiri dari a-z dan 1-9.

MEMBUAT LAYOUT TAMPILAN UTAMA

Tampilan pada menu utama yang kita pakai disini berbentuk ikon ikon dengan menggunakan
ImageView dimana jika kita memilih ikon tersebut maka akan muncul halaman menu
lainnya.

Berikut adalah tampilan desain dari content_main.xml. Supaya tiap Linear Layout terbagi 2
dengan sama rata, maka digunakan Weight dengan perbandingan 1:1.
Berikut ini adalah kode pada Java dan Layout pada Menu Utama :

content_main.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView 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="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.bekatei.sinauandroid.MainActivity"
tools:showIn="@layout/activity_main">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<ImageView
android:id="@+id/imageView2"
android:layout_width="match_parent"
android:layout_height="120dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignTop="@+id/scrollView"
android:layout_gravity="center"
android:src="@drawable/logo" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="TEST YOUR RESISTOR"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="20dp"
android:textStyle="italic" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<ImageView
android:id="@+id/btnPita4"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_margin="10dp"
android:layout_weight="1"
android:src="@drawable/pita4" />

<ImageView
android:id="@+id/btnPita5"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_margin="10dp"
android:layout_weight="1"
android:src="@drawable/pita5" />

</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<ImageView
android:id="@+id/btnPita6"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_margin="10dp"
android:layout_weight="1"
android:src="@drawable/pita6" />

<ImageView
android:id="@+id/btnPita7"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_margin="10dp"
android:layout_weight="1"
android:src="@drawable/pita7" />

</LinearLayout>

</LinearLayout>

</ScrollView>

Dalam pembuatan layout ada beberapa hal yang dapat kita atur, seperti :
- Layout width dan height :
Match Parent : menyesuaikan dengan ukuran layar
Wrap Content : meyesuaikan dengan ukuran asli file
- Padding : jarak dari file ke dalam
- Margin : jarak dari file ke luar
- id : identitas pengenal jika akan menyambungkan objek tsb dengan java
- src : sumber resource dari objek kita
- background : gambar background objek
- weight : berat objek terhadap objek lainnya
- dan masih banyak lain, coba sendiri-sendiri ya
MEMAHAMI PENGGUNAAN onClickListener

Setelah membuat layout tampilan di atas, kita akan melakukan sesuatu pada gambar di atas,
sehingga apabila kita klik gambar tersebut, maka akan muncul Toast. Untuk itu buka
MainActivity.java dan ketikkan source code berikut:

MainActivity.java
package com.bekatei.sinauandroid;

import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AlertDialog;
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.ImageView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

ImageView menu1, menu2, menu3, menu4;

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

menu2 = (ImageView) findViewById(R.id.btnPita5);


menu3 = (ImageView) findViewById(R.id.btnPita6);
menu4 = (ImageView) findViewById(R.id.btnPita7);

menu2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "Menu ini belum ada",
Toast .LENGTH_SHORT).show();
}
});

menu3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Snackbar .make(v, "Maaf, menu ini juga masih belum bisa",
Snackbar.LENGTH_SHORT).show();
}
});

menu4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder = new
AlertDialog.Builder(MainActivity.this);
builder
.setTitle("Tahukah Anda")
.setMessage("Tidak ada resistor dengan 7 pita, yang
ada hanyalah 4-6 pita")
.setNeutralButton("OK", new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int
which) {
dialog.dismiss();
}
})
.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);
}
}
MEMBUAT SPLASH SCREEN

Splashscreen adalah tampilan pembuka awal ketika aplikasi pertama kali dijalankan sebelum
masuk ke Menu Utama. Pada splashscreen ini layout akan otomatis berpindah ke layout
selanjutnya tanpa harus diklik. Biasanya splashscreen berisi logo atau nama developer
aplikasi. Splashscreen bisa kita gunakan untuk branding, menunggu loading data, dan supaya
aplikasi terlihat professional.

Berikut adalah langkah langkah dalam pembuatan splashscreen :

1. Buat New Empty Activity pada folder app>java>package name dengan cara Klik
Kanan  New  Activity  Empty Activity

2. Beri nama SplashScreen Centang “Launcher Activity”  Klik Finish


3. Copy dahulu Asset gambar / logo dari Explorer, lalu Paste pada res>drawable , klik
OK, maka gambar akan masuk ke folder Drawable.

Catatan : Untuk nama file dalam folder drawable harus menggunakan huruf kecil
semua.

4. Buat tampilan Splashscreen pada Layout pada res>layout >


activity_splash_screen.xml. Ada 2 cara untuk membuat tampilan pada layout yaitu
menggunakan Design atau Text. Pada Design tinggal memasukkan widget dari
toolbar yang beraad di sisi kiri dan merubah propertise pada toolbar sisi kanan.
Sedangkan untuk membuat tampilan splashscreen menggunakan Text, masukkan
kode berikut ini :
<?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="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="id.co.arifstudio.ojekonline.SplashActivity"
tools:showIn="@layout/activity_splash"
android:background="#fdcb01">

<ImageView
android:layout_width="250dp"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:src="@drawable/jekojek" /> <!--nama file logo dalam
folder Drawable-->

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="JEK-O-JEK"
android:id="@+id/textView"
android:layout_marginBottom="66dp"
android:textColor="#ffffff"
android:layout_alignBottom="@+id/imageView"
android:layout_centerHorizontal="true"
android:textSize="40dp" />
</RelativeLayout>

Berikut ini adalah tampilan layout Splashscreen jika sudah jadi, gambar di
bawah ini hanyalah contoh saja, anda bisa merubah warna background, logo, tulisan
sesuai dengan kreatifitas anda sendiri.
`

5. Ubah pada bagian java  MainActivity.java seperti di bawah ini


package com.bekatei.sinauandroid;

import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;

public class SplashScreen extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash_screen);
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
startActivity(new Intent(SplashScreen.this,
MainActivity.class));
}
}, 2000L); // berpindah ke class Mainactivity setelah 2000ms

6. Supaya Layout bisa muncul pertama kali saat pertama kali dibuka kita perlu
mensetting AndroidManifest.xml pada folder Manifest
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.bekatei.sinauandroid">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
</activity>
<activity android:name=".Pita4" />
<activity
android:name=".SplashScreen"
android:noHistory="true"
android:theme="@style/Theme.AppCompat.NoActionBar">
<!--
Tambahkan noHistory supaya ketika di-back di Menu Utama tidak
kembali ke halaman Splashscreen
Dan pilih theme dengan NoActionBar supaya tidak terdapat
action bar di atas halaman Splashscreen
-->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
<!--
Pindahkan intent filter yang sebelumnya di MainActivity ke
Splashscreen Activity.
intent-filter ini digunakan untuk memilih activity mana yang
pertama kali dibuka-->
</application>

</manifest>

7. Lalu kita coba aplikasinya dengan cara Klik Menu Run  Run atau Tollbar Run
berbentuk segitiga hijau atau menggunakan shorcut Shift F10. Maka akan terlihat
Splash Screen muncul selama 2 detik kemudian pindah ke halaman Menu Utama.
MENNGANTI ICON

Seperti yang kita tahu, sampai sekarang, kita masih menggunakan icon default untuk aplikasi
kita, tentunya akan lebih keren jika kita membukan ikon sendiri, berikut langkah-langkahnya
:

1. Klik kanan pad folder Drawable  New  Image Asset

2. Pilih gambar yang akan dijadikan icon, disini kita dapat mengatur nama, tipe, shape,
dll. Disini saya menggunakan nama ic_launcher, tipe Image, dan shape Circle
3. Kemudian muncul dialog Confirm Icon Path, langsung saja klik Finish. disini gambar
yang akan kita upload akan otomatis dibagi menjadi hdpi, mdpi, xhdpi, xxhdpi,
xxxhdpi. Hal ini untuk menyesuaikan dengan ukuran layar setiap handphone.
PINDAH ANTAR ACTIVITY MENGGUNAKAN INTENT

Sebelum kita menulis source code untuk pindah antar activity, tentunya kita perlu membuat
Activity Baru terlebih dahulu, Langkahnya klik kanan pada folder Java  New  Activity
 Empty Activity

Kemudian isi nama Activity, dan nama Layoutnya, kemudian klik Finish.
Setelah itu tambahkan kode berikut pada MainActivity.java :
ImageView menu1 = (ImageView) findViewById(R.id.btnPita4);

menu1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, Pita4.class );
startActivity(i);
}
});

Maksud dari kode di atas yaitu ketika menu1 diklik, maka akan pindah dari MainActivity ke
Activity Pita4.

MENU UTAMA (SPINNER)

Ini adalah menu utama dari aplikasi ini yang berfungsi untuk mengetahui nilai suatu resistor
dari warnanya. Untuk pemilihan warnanya menggunakan component Spinner , yaitu hampir
sama seperti DropDown menu, dimana kita bisa memilih satu diantara banyak pilihan.

Langkah pertama yaitu membuat desain sebagai berikut :

Atau dapat dilihat kodenya sebagai berikut pada Activity_pita4.xml


<?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"
tools:context="com.bekatei.sinauandroid.Pita4"
android:orientation="vertical">

<ImageView
android:layout_width="wrap_content"
android:layout_height="70dp"
android:id="@+id/imageView"
android:src="@drawable/logo" />

<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal"
android:layout_margin="10dp">

<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="1"
android:id="@+id/nilaipita1"
android:layout_column="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="0dp"
android:textSize="30dp" />

<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="2"
android:id="@+id/nilaipita2"
android:layout_column="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="0dp"
android:layout_gravity="center"
android:textSize="30dp" />

<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="X1000"
android:id="@+id/nilaipita3"
android:layout_column="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="0dp"
android:layout_gravity="center"
android:textSize="30dp" />

<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="±"
android:id="@+id/textView6"
android:layout_column="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="0dp"
android:layout_gravity="center"
android:textSize="30dp" />
<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="0.25%"
android:id="@+id/nilaipita4"
android:layout_column="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="0dp"
android:layout_gravity="center"
android:textSize="30dp" />
</LinearLayout>

<TextView
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Warna Pita 1"
android:id="@+id/textView"
android:layout_column="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<Spinner
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner1"
android:layout_column="2"
android:spinnerMode="dialog" />

<TextView
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Warna Pita 2"
android:id="@+id/textView3"
android:layout_column="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<Spinner
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner2"
android:layout_column="2"
android:spinnerMode="dialog" />

<TextView
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Warna Pita 3"
android:id="@+id/textView4"
android:layout_column="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<Spinner
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner3"
android:layout_column="2"
android:spinnerMode="dialog" />

<TextView
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Warna Pita 4"
android:id="@+id/textView5"
android:layout_column="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<Spinner
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner4"
android:layout_column="2"
android:spinnerMode="dialog" />

</LinearLayout>

Setelah itu kita tambahkan kode berikut pada Pita4.Java


package com.bekatei.sinauandroid;

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

public class Pita4 extends AppCompatActivity implements


AdapterView.OnItemSelectedListener {

//Deklarasi variabel
private Spinner spinner1, spinner2, spinner3, spinner4;
TextView teks_pita1, teks_pita2, teks_pita3, teks_pita4;
private String[] listwarna =
{"Hitam","Coklat","Merah","Orange","Kuning","Hijau","Biru","Ungu","Abu-
Abu","Putih"};
private String[] listwarna2 =
{"Hitam","Coklat","Merah","Orange","Kuning","Hijau","Biru","Ungu","Emas","P
erak"};
private String[] listwarna3 =
{"Hitam","Coklat","Merah","Hijau","Biru","Ungu","Emas","Perak"};
private String[] listangka = {"0","1","2","3","4","5","6","7","8","9"};
private String[] listpangkat =
{"x1","x10","x100","x1K","x10K","x100K","x1M","x10M","x0.1","x0.01"};
private String[] listpersen =
{"20%","1%","2%","0.5%","0.25%","0.10%","0.05%","5%","10%"};

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

//menghubungkan variabel dengan design


teks_pita1 = (TextView) findViewById(R.id.nilaipita1);
teks_pita2 = (TextView) findViewById(R.id.nilaipita2);
teks_pita3 = (TextView) findViewById(R.id.nilaipita3);
teks_pita4 = (TextView) findViewById(R.id.nilaipita4);
spinner1 = (Spinner) findViewById(R.id.spinner1);
spinner2 = (Spinner) findViewById(R.id.spinner2);
spinner3 = (Spinner) findViewById(R.id.spinner3);
spinner4 = (Spinner) findViewById(R.id.spinner4);
spinner1.setOnItemSelectedListener(this);
ArrayAdapter adapter1 = new ArrayAdapter(this,
android.R.layout.simple_spinner_item, listwarna);

adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_i
tem);
spinner1.setAdapter(adapter1);

spinner2.setOnItemSelectedListener(this);
ArrayAdapter adapter2 = new ArrayAdapter(this,
android.R.layout.simple_spinner_item, listwarna);

adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_i
tem);
spinner2.setAdapter(adapter2);

spinner3.setOnItemSelectedListener(this);
ArrayAdapter adapter3 = new ArrayAdapter(this,
android.R.layout.simple_spinner_item, listwarna2);

adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_i
tem);
spinner3.setAdapter(adapter3);

spinner4.setOnItemSelectedListener(this);
ArrayAdapter adapter4 = new ArrayAdapter(this,
android.R.layout.simple_spinner_item, listwarna3);

adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_i
tem);
spinner4.setAdapter(adapter4);
}

@Override
public void onItemSelected(AdapterView<?> parent, View view, int
position, long id) {
Spinner spinner = (Spinner) parent;
if(spinner.getId() == R.id.spinner1)
{
teks_pita1.setText(listangka[position]);
}
else if(spinner.getId() == R.id.spinner2)
{
teks_pita2.setText(listangka[position]);
}
else if(spinner.getId() == R.id.spinner3)
{
teks_pita3.setText(listpangkat[position]);
}
else if(spinner.getId() == R.id.spinner4)
{
teks_pita4.setText(listpersen[position]);
}
}

@Override
public void onNothingSelected(AdapterView<?> parent) {

}
}
MENU ITEM

Menu Item adalah menu yang ada di sebelah kanan atas, biasanya untuk navigasi supaya
lebih cepat ke halamanan lain, seperti : Setting, Tentang, dll :

Untuk mengaplikasikannya, kita buat terlebih dahulu Activity baru About dengan cara seperti
sebelumnya dengan desain sesuka anda

activity_about.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView 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.bekatei.sinauandroid.About">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="120dp"
android:id="@+id/imageView"
android:background="@drawable/logo"
android:layout_gravity="center"
android:layout_marginBottom="0dp"
android:layout_marginTop="20dp"
android:layout_margin="20dp" />

<TextView
android:layout_width="171dp"
android:layout_height="wrap_content"
android:id="@+id/editText3"
android:layout_gravity="center_horizontal"
android:text="RESISTOR COLOR CODE"
android:textSize="@dimen/abc_text_size_large_material"
android:gravity="center"
android:textStyle="bold"/>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:id="@+id/editText"
android:text="Adalah sebuah aplikasi untuk mengetahui nilai
dari sebuah resistor dengan cepat dan mudah dengan hanya menginputkan
warnanya saja"
android:layout_gravity="center"
android:gravity="center"
android:layout_marginBottom="0dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:paddingTop="10dp"
android:paddingRight="10dp"
android:paddingLeft="10dp"
android:paddingBottom="10dp"
android:theme="@style/CardView.Dark" />

<TextView
android:layout_width="167dp"
android:layout_height="wrap_content"
android:id="@+id/editText2"
android:layout_gravity="center_horizontal"
android:text="(21 Mei 2016)"
android:gravity="center|top"
android:layout_marginTop="0dp"
android:layout_marginBottom="20dp" />

<TextView
android:layout_width="222dp"
android:layout_height="wrap_content"
android:id="@+id/editText8"
android:layout_gravity="center_horizontal"
android:text="DEVELOPER"
android:textSize="@dimen/abc_text_size_large_material"
android:gravity="center"
android:textStyle="bold"
android:layout_marginBottom="10dp" />

<ImageView
android:layout_width="98dp"
android:layout_height="97dp"
android:id="@+id/imageView2"
android:layout_gravity="center_horizontal"
android:background="@drawable/logopespro" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textMultiLine"
android:ems="10"
android:id="@+id/editText9"
android:text="CodeName : #AAF"
android:layout_gravity="center"
android:gravity="center"
android:layout_marginBottom="0dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:padding="10dp" />
</LinearLayout>
</ScrollView>

Kemudian kita edit file menu_main.xml menjadi sbb:


<menu 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"
tools:context="com.bekatei.sinauandroid.MainActivity">
<item
android:id="@+id/action_about"
android:orderInCategory="100"
android:title="About"
app:showAsAction="never" />
</menu>

Kemudian tambahkan intent pada kode berikut pada MainActivity.java


@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_about) {
Intent i = new Intent(MainActivity.this,About.class);
startActivity(i);
}

return super.onOptionsItemSelected(item);
}
EXPORT PROJECT ANDROID MENJADI FILE APK

Agar bisa upload aplikasi ke google playstore, file yang kita butuhkan adalah file dengan ekstensi APK
yang didapatkan dengan cara melakukan export pada project android tersebut. Berikut langkah –
langkah untuk export project android menjadi file Apk :

1. Pilih project yang ingin di export


2. Pada menu Build  pilih Generated Signed ApK

3. Muncul tampilan seperti ini, pilih create new

Tentukan lokasi tempat penyimpanan apk


Setelah itu pilih OK
kemudian isi Data Seperti berikut ini :

4. Setelah semua data berhasil di isi, pilih OK. Setelah itu muncul tampilan seperti ini :

Pilih NEXT
5. Muncul Tampilan seperti ini, Pada bagian buld type pilih release
6. Kemudian pilih Finish
7. Tunggu beberapa saat hingga muncul tampilan Signed APK’s generated succesfully.

8. Pilih Show In Explorer untuk menampilkan file APK dari project tersebut atau pilih Close
untuk menuntup jendela tersebut.
9. Tampilan ketika memilih show in explorer