Agen Terpercaya   Advertise
 
 
 
Pasang iklan, hanya lewat Contact Us.
Waspada penipuan iklan. Klik di sini untuk melihat daftar penipu.

BELAJAR [ANDROID STUDIO]

RayMantic

Moderator
Staff member
Moderator
Daftar
4 Oct 1988
Post
×
Like diterima
9.183
Bimabet
Sekeren apapun aplikasi android yang kita lihat sekarang tidak akan mungkin bisa jadi keren tanpa melewati proses membuat aplikasi android yang sederhana. Salah satu cara untuk menguasai skill apapun apalagi skill programmer adalah latihan terus menerus. Semakin sering kita latihan membuat aplikasi android maka akan semakin terasah kemampuan dan logika untuk mengembangkan aplikasi android yang sesuai dengan keinginan kita ataupun orang lain.

Berikut ini tutorial membuat aplikasi android untuk pemula dengan android studio :
Android Studio merupakan Integrated Development Environment (IDE) atau software yang bisa digunakan untuk mengembangkan aplikasi android. Android Studio merupakan software resmi yang di dukung penuh oleh google sebagai perusahaan induk sistem operasi android. Sebelum Google meresmikan dan mendukung penuh Android Studio, Google lebih dulu mendukung Eclipse. Dimana Eclipse adalah software atau IDE yang digunakan oleh para developer android untuk mengembangkan aplikasi android. Namun kini Google sudah menghentikan dukungan penuh terhadap Eclipse

Dengan menggunakan Android Studio proses menciptakan aplikasi anroid menjadi lebih mudah. Itu karena banyaknya fitur-fitur android studio, diantaranya :
  • Sistem Versi Gradle yang fleksibel
  • Emulator yang cepat dan dilengkapi kaya fitur
  • Lingkungan yang menyatu untuk mengembangkan aplikasi android bagi semua perangkat android (smartphone, tablet, smarttv, dan smartwacth)
  • Template kode dan integrasi dengan GitHub untuk membuat fitur aplikasi yang sama dan mengimpor kode-kode contoh
  • Alat pengujian dan kerangka kerja yang ekstensif
  • Dukungan C++ dan NDK
  • Dukungan Google Clud Platform sehingga mempermudah saat pengintegrasian Google Cloud Messaging dan App Engine
  • Dan banyak lagi lainnya
Dari situs resminya Android Studio bisa digunakan pada komputer atau laptop yang memiliki spesifikasi berikut
:
Windows
  • Menggunakan OS Microsoft® Windows® 7/8/10 (32- or 64-bit)
  • Ram minimal 3 GB, yang direkomendasikan 8 GB RAM; tambahan 1 GB untuk menjalankan Emulator Android
  • Ruang disk yang tersedia minimal 2 GB,
    Namun yang direkomendasikan yaitu 4 GB (500 MB untuk IDE + 1.5 GB untuk Android SDK and emulator system image)
  • Resolusi minimal yang digunakan adalah 1280 x 800
Linux
  • GNOME or KDE desktop
  • Tested on Ubuntu® 14.04 LTS, Trusty Tahr (64-bit distribution capable of running 32-bit applications)
  • distribusi 64-bit yang mampu menjalankan aplikasi 32-bit
  • GNU C Library (glibc) 2.19 atau yang lebih baru
  • Ram minimal 3 GB, yang direkomendasikan 8 GB RAM; tambahan 1 GB untuk menjalankan Emulator Android
  • Ruang disk yang tersedia minimal 2 GB,
    Namun yang direkomendasikan yaitu 4 GB (500 MB untuk IDE + 1.5 GB untuk Android SDK and emulator system image)
  • Resolusi minimal yang digunakan adalah 1280 x 800
NB : Yang Mac Saya tidak kasih spesifik nya karena saya tidak pake dan tidak saya masukan di tutorial di thread ini ...
Android Studio memiliki beberapa versi, yaitu :
  • Canary : Dengan menggunakan versi ini kita akan mendapatkan semua jenis rilis. Itu artinya kita bisa menggunakan fitur baru saat baru diluncurkan tanpa harus menunggu lama. Biasanya update untuk canary dirilis setiap minggu.
  • Dev : Versy canari yang sudah teruji secara klinis dan beberapa waktu akan dipilih dan menjadi versi Dev. Versi ini dipakai untuk menguji fitur baru secepat mungkin ke pengguna.
  • Beta : Kalau kita ingin menggunakan Android Studio dengan fitur yang baru tapi resiko bugnya kecil maka gunakanlah versi beta. Versi ini dirilis biasanya sudah mempunyai fitur-fitur baru tapi dengan bug yang sedikit.
  • Stable : Versi ini adalah versi yang semua fiturnya sudah diuji secara penuh melalui versi-versi diatas. Jadi versi ini memiliki stabilitas yang tinggi dan performanya sangat baik.
Android Studio sendiri sudah mendukung beberapa bahasa pemrograman untuk mengembangkan aplikasi android. Beberapa bahasa pemrograman yang bisa kita pakai untuk membuat aplikasi android di Android Studio yaitu :
  • Java
  • Kotlin
  • C++
DOWNLOAD : https://developer.android.com/studio
Sebelum menginstall Android Studio pastikan kita juga telah menginstall JDK. Adapun langkah-langkah menginstall Android Studio yaitu :
  • Buka file Android Studio yang sudah di download tadi
  • Setelah itu klik next ketika muncul jendela welcome Android Studio setup
  • Selanjutnya pasang semua komponen Android Studio dengan cara klik next
  • Tentukan lokasi penyimpanan software Android Studio dan SDKnya
  • Lalu klik Install, bila perlu ceklis terlebih dahulu do not create shortcuts
  • Pastikan koneksi internetmu tersambung dengan baik dan stabil kecepatannya, tunggu sampai proses installasi selesai. Lalu klik next kemudian klik finish
  • Setelah itu pilih do not import settings dan launcher software Android Studio akan dimunculkan. Tunggu sampai proses download SDK selesai
  • Akan muncul tampilan welcome Android Studio
  • Klik next dan pilih mode install mau standard atau custom
  • Klik next lalu pilih tema android studionya
  • Setelah itu aka nada proses penginstallan komponen SDK, lalu klik next
  • Klik finish lalu tunggu proses download komponen selesai
  • Klik finish dan jendela awal Android Studio akan terbuka
 
Menginstall JDK dan Konfigurasinya di Windows
Download JDK 8 pilih sesuai byte OS yang kamu gunakan
Jika sudah terdownload buka file kemudian klik next, seperti gambar berikut

Pilih feature (ikuti gambar berikut) kemudian klik next

Tunggu progress sampai dengan selesai
Tentukan lokasi penyimpanan folder jdk dimana nantinya disimpan, lalu klik next

instalasi akan dimulai dan tunggu sampai selesai

Jika proses instalasi sudah selesai silahkan klik close

Setting atau Konfigurasi JDK (PATH)
Langkah-langkahnya sebagai berikut.
Copykan alamat tempat folder penginstallan jdk dengan cara : Computer > local Disk (c) > program files > java > folder jdk > bin > javac
klik kanan pada Computer > Properties > Advanced System Settings

Environment Variable

Cari variable Path dan pastekan lokasi penyimpanan folder jdk pada variable value lalu klik ok
 
Cara Install Android Studio
langkah-langkah menginstall Android Studio :
  • Langkah pertama silahkan Unduh android studio pada situs resminya. [Link Download ada di atas gan]
  • Centang anda menyetujui, lalu klik unduh / download


  • Dan ikuti perintah selanjutnya sampai dengan proses download selesai, buka file exenya

  • tunggu sampai proses verifying selesai
 
Cara Install Oracle Java JDK Di Linux Ubuntu
1. Periksa apakah Anda menggunakan Ubuntu 32-bit atau 64-bit, buka terminal dan jalankan perintah :
Code:
file /sbin/init

Periksa apakah sudah terinstall java atau belum. Untuk memeriksa jalankan perintah :
Code:
java -version
Jika sudah terinstall OpenJDK pada sistem, pasti akan terlihat seperti ini :
"java version “1.7.0_15”
OpenJDK Runtime Environment (IcedTea6 1.10pre) (7b15~pre1-0lucid1)
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
Untuk mencegah konflik dan kebingungan pada sistem antara versi yang berbeda dari java. Kita bisa menghapusnya dengan perintah :
Code:
sudo apt-get purge openjdk-*
Buat direktori tempat kita menyimpan binari Oracle Java JDK/JRE, jalankan perintah :
Code:
sudo mkdir -p /usr/local/java
Jika Anda belum memiliki file binari java, Anda bisa mendownloadnya terlebih dahulu. Pastikan Anda memilih kompresi binari yang benar untuk arsitektur sistem 32-bit atau 64-bit (yang berakhir pada tar.gz).
Link Download :
https://www.oracle.com/technetwork/java/javase/downloads/index.html
https://www.oracle.com/technetwork/java/javase/downloads/index.html
Copy Binari Java ke direktori /usr/local/java. Dalam kebanyakan kasus, binari file download Oracle Java berada di: /home/ “username”/Downloads.

Saya menggunakan file yang sudah saya miliki sebelumnya, jadi saya tidak mendownload, namun saya mengasumsikan bahwa file saya berada pada direktori Downloads.
Untuk 32 bit :
Code:
cd /home/"your_user_name"/Downloads
sudo cp -r jdk-8u60-linux-i586.tar.gz /usr/local/java/
cd /usr/local/java
Untuk 64 bit :
Code:
cd /home/"your_user_name"/Downloads
sudo cp -r jdk-8u60-linux-x64.tar.gz /usr/local/java/
cd /usr/local/java
Ekstrak file binari java (.tar.gz) di direktori /usr/local/java.
32-bit:
Code:
sudo tar xvzf jdk-8u60-linux-i586.tar.gz
64-bit:
Code:
sudo tar xvzf jdk-8u60-linux-x64.tar.gz
Edit system PATH file /etc/profile dan tambahkan variable sistem berikut untuk jalur sistem. Gunakan gedit atau text editor lainnya.
Code:
sudo gedit /etc/profile
Scroll sampai ke bawah dan tambahkan script berikut pada akhir baris.
  • JAVA_HOME=/usr/local/java/jdk1.8.0_60
    PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
    export JAVA_HOME
    export PATH
Save dan exit.

Memberitahu sistem letak Oracle Java JDK/JRE berada. Ini akan memberitahu sistem bahwa Oracle Java tersedia untuk digunakan.
Perintah ini memberitahukan sistem bahwa Oracle Java JRE tersedia untuk digunakan.
Code:
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.8.0_60/bin/java" 1
Perintah ini memberitahukan sistem bahwa Oracle Java JDK tersedia untuk digunakan.
Code:
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.8.0_60/bin/javac" 1
Perintah ini memberitahukan sistem bahwa Oracle Java Web Start tersedia untuk digunakan.
Code:
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.8.0_60/bin/javaws" 1

Memberitahu sistem bahwa Oracle Java JDK/JRE harus menjadi default Java.
Set JRE:
Code:
sudo update-alternatives --set java /usr/local/java/jdk1.8.0_60/bin/java

Set Javac Compiler
Code:
sudo update-alternatives --set javac /usr/local/java/jdk1.8.0_60/bin/javac


Set Java Web Start
Code:
sudo update-alternatives --set javaws /usr/local/java/jdk1.8.0_60/bin/javaws

Reload system wide PATH /etc/profile dengan perintah:
Code:
. /etc/profile


Sistem akan di reload ketika komputer restart.
Tes untuk melihat apakah Oracle Java telah terinstal dengan benar pada sistem Anda. Jalankan perintah berikut dan perhatikan versi Java:
Code:
java -version
 
Cara Install Android Studio di Linux
Untuk pengguna Ubuntu, Linux Mint, Debian:
Code:
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386
Untuk pengguna fedora 64-bit:
Code:
sudo yum install zlib.i686 ncurses-libs.i686 bzip2-libs.i686
Buat sebuah direktori di home:
Code:
mkdir ~/Apps/android
Maka tinggal kita drag-drop saja ke sana.
Selanjutnya lakukan konfigurasi awal…

Saat pertama kali dibuka, kita akan diminta untuk mengimpor konfigrasi. Pilih saja Do not import Settings.

Setelah itu, akan muncul jendela Welcome. Klik Next untuk melanjutkan.
Selanjutnya pilih Custom pada Install Type agar kita bisa menentukan sendiri Android SDK-nya.
Selanjutnya pilih tema yang disukai, lalu klik Next untuk melanjutkan.
Selanjutnya, kita akan menentukan lokasi Android SDK-nya. Silahkan klik tombol ....
Arahkan ke lokasi ~/Apps/android kemudian buat direktori baru di sana bernama sdk.
Berikan nama direktorinya: sdk.
Setelah itu, klik Next untuk melanjutkan.
Kemudian kita akan diminta untuk memverifikasi pengaturan yang baru saja dibuat. Klik saja Next untuk melanjutkan.
Selanjutnya, klik Finish untuk memulai proses download SDK.
Pastikan koneksi internetmu stabil dan cepat.
Proses download akan memakan waktu yang cukup lama (tergantung dari kecepatan internet),
Setelah selesai silahkan klik Finish, maka jendela Welcome akan terbuka.

Sebelum melakukan itu, silahakan tambahkan Android Studio ke dalam Menu.

Pada jendela Welcome, klik Configure lalu pilih Create Desktop Entry.
Pada jendela yang muncul, langsung saja klik OK.
Setelah itu, coba periksa menu:



Ujicoba Project Android dan Update SDK
Biasanya saat kita mencoba membuka project lama, akan terjadi error seperti ini:

Ini disebabkan karena versi SDK yang digunakan pada project tersebut belum ada di Android SDK yang kita install.
Bagaimana cara mengatasinya?
Tinggal diklik saja, link tersebut nanti akan menginstall sendiri.
Atau kita update SDK sesuai selera.


Android Studio 3.0 tidak memiliki SDK manager eksternal seperti versi sebelumnya.
SDK Manager-nya sudah langsung di dalam Android Studio.
Kita tinggal centang saja yang mana yang ingin di-install, lalu klik Apply.
Bingung mau install yang mana?
Saran saya menginstall yang SDK Platform saja, karena akan digunakan saat coding.
Sementara yang lainnya (Image) hanya berfungsi untuk membuat emulator saja.
Jika ada “Google APIs” di depannya, berarti image tersebut bisa digunakan untuk emulator dengan Google API.
Jadi install yang dibutuhkan saja, karena kalau diinstall semua…
Siap-siap saja nambah hardisk .:)
 
PROJECT PERTAMA
Membuat Aplikasi Android ” Hello World ”


Buat Project Baru

Buka Android Studio ( android studio yang digunakan adalah versi 3.2.1) kemudian Klik Start new Android Studio project.
Nama Project dan Company Domain
Isikan nama project pada Application name dan Company Domain seperti gambar dibawah ini.
Kita bisa mengatur penempatan alamat folder project android yang kita buat pada Project Loaction. Setelah itu klik Next

Tentukan Minimum SDK dari project android yang kita buat. Lalu klik Next

Pilih Empty Activity kemudian klik Next

Activity Name
Isikan Activity Name sesuai keinginan kamu (defaultnya MainActivity) dan klik Finish

MainActivity.java
Maka akan terbuka workspace project Android Studio seperti gambar dibawah ini ( pertama kali terbuka adalah tab MainActivity.java. Disinilah nantinya kita memberikan kode-kode java agar aplikasi bisa melakukan sebuah perintah).


Klik Tab activity_main.xml yang digunakan untuk pengaturan layout dari aplikasi android yang kita buat ( nantinya semua widget mulai dari membuat teks, tombol, gambar dan lainnya diatur di activity_main.xml)


Di project pertama ini kita hanya membuat aplikasi untuk menampilkan Hello World jadi tidak menambahkan kode apapun pada activity_main.xml dan MainActivity.java.

 
Menjalankan Aplikasi pada Android Emulator
Versi Android Emulator yang dijelaskan dalam laman ini membutuhkan hal berikut:
  • Android Studio 2.0 atau yang lebih tinggi
  • SDK Tools 25.0.10 atau yang lebih tinggi
  • AVD baru yang dibuat untuk menggantikan tiap AVD bagi emulator 24.0.x atau yang lebih rendah
  • Koneksi jaringan aktif untuk operasi tertentu, seperti menguji fitur aplikasi
  • integrasi adb diaktifkan melalui Tools > Android > Enable ADB Integration
Android Emulator mendukung hampir semua fitur perangkat, namun tidak menyertakan perangkat keras virtual untuk:
  • WiFi
  • Bluetooth
  • NFC
  • Pasang/copot kartu SD
  • Headphone yang terpasang di perangkat
  • USB
Emulator jam untuk Android Wear tidak mendukung Ringkasan tombol (Recent Apps), D-pad, dan sensor sidik jari.
Untuk memulai emulator dan menjalankan aplikasi dalam proyek :

Buka proyek Android Studio dan klik Run .
Kotak dialog Select Deployment Target akan muncul.



Jika Anda menerima pesan kesalahan atau peringatan di bagian atas kotak dialog, klik tautan untuk memperbaiki masalah atau mendapatkan informasi lebih lanjut.

Peringatan No USB devices or running emulators detected berarti bahwa emulator belum berjalan, atau tidak ada perangkat keras terdeteksi yang terhubung ke komputer Anda. Jika tidak ada perangkat keras yang terhubung ke komputer Anda, atau emulator tidak berjalan, Anda bisa mengabaikannya.
Beberapa kesalahan harus diperbaiki terlebih dahulu sebelum Anda bisa melanjutkannya, seperti kesalahan Hardware Accelerated Execution Manager (Intel® HAXM).
Pada kotak dialog Select Deployment Target, pilih definisi emulator yang tersedia, lalu klik OK.

Jika Anda tidak melihat definisi yang ingin Anda gunakan, klik Create New Emulator untuk menjalankan AVD Manager. Setelah Anda menetapkan AVD baru, pada kotak dialog Select Deployment Target, klik OK.
Jika Anda ingin menggunakan definisi emulator ini sebagai opsi default untuk proyek, pilih Use same selection for future launches.
Emulator menjalankan dan menampilkan aplikasi Anda.

Menggunakan penunjuk mouse komputer untuk meniru jari pada layar sentuh; memilih item menu dan bidang masukan; serta tombol klik dan kontrol. Menggunakan keyboard komputer untuk mengetik karakter dan memasukkan pintasan emulator.

 
Terakhir diubah:
Menginstall Genymotion di Android Studio
Spesifikasi laptop yang minim atau pas-pasan untuk menjalankan android studio akan membuat proses running aplikasi android menjadi lemot apabila menggunakan emulator ( android virtual device ) bawaan android studio. Maka Genymotion merupakan salah satu alternatif emulator yang bisa kita gunakan untuk menjalankan aplikasi android.

Link Download : https://www.genymotion.com/

Install Genymotion
  • Cari file exe Genymotion yang sudah di download tadi. Buka file exe.
  • Lakukan installasi Genymotion sampai dengan selesai.
  • Jika proses Install sudah selesai Login ke Genymotion menggunakan akun yang sudah dibuat tadi dengan cara klik settings.
  • Pilih add untuk membuat virtual device baru yang nantinya akan digunakan untuk merunning proect android kita.

  • Klik next sampai dengan virtual device terdownload.

Konfigurasi Genymotion pada Android Studio
  • Buka Android Studio >Klik file > setting > plugin > browse repositories > klik install
  • Setelah itu klik Restart android studio
  • Atur path (lokasi genymotion ) dengan cara Klik view > toolbar > Klik icon genymotion > Pilih path


Menjalankan Genymotion dan Project Android
  • Untuk menjalankan virtual device dari genymotion klik icon genymotion > pilih phone > start


  • Tunggu beberapa saat sampai emulator genymotion terbuka
  • Jalankan project android dengan cara klik icon running > pilih emulator genymotion > Ok
 
Terakhir diubah:
Menginstall dan Menghubungkan Nox dengan Android Studio
  • Jika unduhan sudah selesai klik open atau install file exe nox
  • Klik I have read and accept the Nox license agreement, lalu klik install
  • Tunggu proses installasi sampai 100 % kemudian klik start jika sudah
  • Setelah loading, maka akan terbuka tampilan awal dari Emulator Nox
Ubah Tampilan
  • Untuk mengubah tampilan Nox menjadi mode smartphone / mobile phone, caranya yaitu klik System Settings

  • Pilih Advanced Settings, ubah startup settings menjadi mobile phone
  • Klik save settings, klik oke jika diminta untuk me restart Nox. Setelah restart maka tampilan nox akan menjadi tampilan smartphone bukan tablet lagi.
Menghubungkan Nox dengan Android Studio
Setting Boot Root dan Bahasa
  • Pastikan Nox App Player sudah terbuka
  • Pilih System Settings seperti langkah pertama pada bahasan C. ubah tampilan
  • Ceklis root pada root startup
  • Untuk languagenya sendiri pilih bahasa indonesia, lalu pilih save settings
Setting Boot Root dan Bahasa
  • Pastikan Nox App Player sudah terbuka
  • Pilih System Settings seperti langkah pertama pada bahasan C. ubah tampilan
  • Ceklis root pada root startup
  • Untuk languagenya sendiri pilih bahasa indonesia, lalu pilih save settings
Aktifkan Mode Pengembang
  • Setelah proses restart selesai dan Nox App Player sudah terbuka kembali pilih setting (terdapat pada folder tools)
  • Scroll ke bawah cari menu tentang tablet
  • Ketuk atau klik 7 kali pada nomor bentukan, sehingga muncul notifikasi “sekarang anda adalah seorang pengembang “
  • Silahkan kembali lagi ke menu utama setelan, lalu pilih opsi pengembang
  • Ceklis Debugging USB, klik oke pada jendela izinkan melakukan debug USB
  • Sekarang debugging USB sudah aktif
Panggil di CMD dan Menghubungkan dengan Android Studio
  • Pertama-tama pastikan Android Studio sudah terbuka
  • Buka command prompt pada os windows yang kamu gunakan dengan cara ketik cmd di kolom search windows atau juga tekan tombol start + R (pada keyboard) > ketik cmd > enter
  • Maka command prompt akan terbuka
  • Disini kita akan membuat direktori baru pada folder tempat diinstallnya Nox
  • Pertama kamu harus tahu dulu dimana lokasi tempat (path) installasi Nox, untuk mengetahuinya klik kanan pada icon nox yang ada di desktop komputer/ laptopmu lalu pilih properties.
  • Perhatikan kolom target disitu terdapat lokasi tempat diinstallnya Nox yaitu ” D:\Program Files \Nox \ bin” disitulah kita akan membuat direktorinya
  • Command prompt umumnya akan menampilkan direktori progrms files yang ada di C
  • Namun pada tutorial ini Nox terinstall pada direktori program files D. Jadi kita harus pindahkan dulu ke direktori D, lalu ketikan perintah ” Cd D :\Program Files \Nox\bin “. Setelah itu tekan enter. Untuk lebih jelasnya bisa dilihat pada gambar dibawah ini.
  • Jika sudah ketikan perintah ” nox_adb.exe connect 127.0.0.1:62001 ” lalu tekan enter dan hasilnya seperti gambar dibawah
Note : Jika lokasi penginstallan nox yang kamu gunakan ada di C :\program files\nox\bin. Maka di command prompt langsung saja ketik perintah ” Cd C :\program files\nox\bin ” tidak harus berpindah ke direktori D dulu.


Running Project
  • Tekan tombol running pada android studio
  • Pada connected Devices akan terdeteksi Emulator Nox yang sudah terinstall dan disetting tadi
  • Pilih device Emulator Nox lalu klik Ok. Project android yang dijalankan pada nox kurang lebih seperti gambar dibawah ini hasilnya.
 
Terakhir diubah:
Mengenal Interface dan Struktur Folder Project Android Studio
(Interface ) Android Studio
Berikut ini merupakan bagian-bagian penting dari Antar Muka (Interface) Android Studio.

Menu Bar
Seperti pada aplikasi lain Menu bar merupakan bagian antar muka (interface) pengguna yang berisi perintah dan opsi yang dapat dipilih untuk mengeksekusi suatu perintah.


Tool Bar
Dengan tool bar kita bisa mempercepat perintah pada sebuah aplikasi.


Struktur Project
Pada bagian ini akan ditampilkan folder-folder dari sebuah project aplikasi android yang dibuat menggunakan android studio. Lebih jelasnya di sub Struktur Folder Project Android Studio


Pallete
Di pallete tersedia semua tools untuk membuat aplikasi android dan enaknya lagi untuk menggunakannya cukup dengan mendrag and drop ke design android.


Design Android
Tempat ini digunakan untuk mendesign layout aplikasi dengan cara drag and drop (tidak mengetikan script xml)

Component Tree
Setelah kita menggunakan tools yang ada di pallete maka akan ditampilkan pada component tree misal kita mendrag TextView (widget untuk membuat teks) ke design android. Maka nanti ditampilkan di component tree TextView.


Properties
Disini akan ditampilkan pengaturan-pengaturan dari komponen yang digunakan untuk design aplikasi. Jika TextView maka akan ditampilkan untuk mengatur warna, size dan lainnya.


Status Bar
Menampilkan proses pada Android Studio. Proses Loading, Error, dan lainnya.


Struktur Folder Project Android Studio
Berikut adalah struktur folder project pada Android Studio :



Manifests
AndroidManifest.xml : File ini digunakan untuk melakukan beberapa pengaturan seperti
  • Nama aplikasi
  • Icon aplikasi
  • Theme style
  • User permission (jika membuat aplikasi yang membutuhkan akses hardware smartphone ataupun koneksi internet )
Adapun kode-kode default pada AndroidManifest.xml yaitu :
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="badoystudio.com.aninterface">

    <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">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
Java
MainActivity.java : digunakan untuk memberikan perintah agar aplikasi melakukan sesuatu menggunakan bahasa pemrograman java.
Defaultnya MainActivity.java sebagai berikut :
Code:
package badoystudio.com.aninterface;

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

public class MainActivity extends AppCompatActivity {

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

res drawable
Folder yang digunakan untuk memasukan gambar pendukung aplikasi yang kita buat baik berupa icon ataupun lainnya

res layout
activity_main.xml : digunakan utuk pengaturan layout untuk interface utama pada aplikasi android yang kita buat.

mipmap
Folder ini digunakan untuk memasukan gambar berupa icon. Icon default aplikasi yang kita buat juga diambil dari folder ini.

values
  • colors.xml : file ini berisi kode-kode untuk pengaturan warna. Warna status bar, teks, ataupun lainnya. Defaultnya sebagai berikut.
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#3F51B5</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#FF4081</color>
</resources>


  • dimens.xml : digunakan untuk pengaturan margin aplikasi. Defaultnya seperti dibawah ini.
Code:
<resources>
    <!-- Default screen margins, per the Android Design guidelines. -->
    <dimen name="activity_horizontal_margin">16dp</dimen>
    <dimen name="activity_vertical_margin">16dp</dimen>
</resources>


  • strings.xml : digunakan untuk pengaturan teks-teks aplikasi yang kita buat. Contoh teks yang digunakan utnuk nama aplikasi seperti dibawah ini.
Code:
<resources>
    <string name="app_name">interface</string>
</resources>


  • styles.xml : digunakan untuk memberikan nama warna setelah kode-kode warna dimasukan atau disetting pada color.xml. File ini juga bisa disebut theme dasar dari aplikasi android.
Code:
<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

</resources>
 
Terakhir diubah:
string-resource

Sumber daya string menyediakan string teks bagi aplikasi Anda dengan pemformatan dan penataan gaya teks opsional. Ada tiga tipe sumber daya yang bisa menyediakan string untuk aplikasi Anda:
StringSumber daya XML yang menyediakan string tunggal.Larik StringSumber daya XML yang menyediakan larik string.String Kuantitas (Jamak)Sumber daya XML yang membawa string berbeda untuk pluralisasi
Semua string mampu menerapkan beberapa argumen markup penataan gaya dan pemformatan. Untuk informasi tentang string penataan gaya dan pemformatan, lihat bagian tentang Pemformatan dan Penataan Gaya.
String
String tunggal yang bisa direferensikan dari aplikasi atau file sumber daya lain (misalnya layout XML).
Catatan: String adalah sumber daya sederhana yang direferensikan menggunakan nilai yang disediakan dalam atribut name (bukan nama file XML). Jadi, Anda bisa mengombinasikan sumber daya string dengan sumber daya sederhana lainnya dalam satu file XML, menggunakan satu elemen <resources>.
lokasi file:res/values/filename.xml
Nama file bebas. Elemen <string> dengan name akan digunakan sebagai ID sumber daya.jenis data sumber daya yang dikompilasi:penunjuk sumber daya ke String.referensi sumber daya:Dalam Java: R.string.string_name
Dalam XML:@string/string_namesintaks:

Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string
        name="string_name"
        >text_string</string>
</resources>


elemen:<resources>Diperlukan. Ini harus berupa simpul akar.
Tidak ada atribut.
<string>Sebuah string, yang bisa berisi tag penataan gaya. Ketahuilah bahwa Anda harus mengurung tanda apostrof dan tanda petik. Untuk informasi selengkapnya tentang cara menata gaya dan memformat string Anda dengan benar, lihat Memformat dan Menata Gaya, di bawah ini.
atribut:
nameString. Nama untuk string. Nama ini akan digunakan sebagai ID sumber daya.contoh berikut:File XML yang disimpan di res/values/strings.xml:

Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello!</string>
</resources>

XML layout ini menerapkan string ke View:
Code:
<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello" />

Kode aplikasi ini mengambil sebuah string:
Code:
String string = getString(R.string.hello);


Anda bisa menggunakan getString(int) atau getText(int) untuk mengambil string. getText(int)akan mempertahankan penataan gaya teks yang kaya ke string.
Larik String
Larik string yang bisa direferensikan dari aplikasi.
Catatan: Larik string adalah sumber daya sederhana yang direferensikan menggunakan nilai yang disediakan dalam atribut name (bukan nama file XML). Dengan demikian, Anda bisa mengombinasikan sumber daya larik string dengan sumber daya sederhana lainnya dalam satu file XML, pada satu elemen <resources>.
lokasi file:res/values/filename.xml
Nama file bebas. Elemen <string-array> dengan name akan digunakan sebagai ID sumber daya.jenis data sumber daya yang dikompilasi:penunjuk sumber daya ke larik String.referensi sumber daya:Dalam Java: R.array.string_array_namesintaks:
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array
        name="string_array_name">
        <item
            >text_string</item>
    </string-array>
</resources>


elemen:<resources>Diperlukan. Ini harus berupa simpul akar.
Tidak ada atribut.
<string-array>Mendefinisikan larik string. Berisi satu atau beberapa elemen <item>.
atribut:
nameString. Nama untuk larik. Nama ini akan digunakan sebagai ID sumber daya untuk mereferensikan larik.<item>Sebuah string, yang bisa berisi tag penataan gaya. Nilai bisa berupa referensi ke sumber daya string lain. Harus berupa anak elemen <string-array>. Ketahuilah bahwa Anda harus mengurung tanda apostrof dan tanda petik. Lihat Memformat dan Menata Gaya, di bawah ini, untuk informasi tentang cara menata gaya dan memformat string Anda dengan benar.
Tidak ada atribut.
contoh berikut:File XML yang disimpan di res/values/strings.xml:

Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="planets_array">
        <item>Mercury</item>
        <item>Venus</item>
        <item>Earth</item>
        <item>Mars</item>
    </string-array>
</resources>

Kode aplikasi ini mengambil sebuah larik string:
Code:
Resources res = getResources();
String[] planets = res.getStringArray(R.array.planets_array);


String Kuantitas (Jamak)
lokasi file:res/values/filename.xml
Nama file bebas. Elemen <plurals> dengan name akan digunakan sebagai ID sumber daya.referensi sumber daya:Dalam Java: R.plurals.plural_namesintaks:
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <plurals
        name="plural_name">
        <item
            quantity=["zero" | "one" | "two" | "few" | "many" | "other"]
            >text_string</item>
    </plurals>
</resources>


elemen:<resources>Diperlukan. Ini harus berupa simpul akar.
Tidak ada atribut.
<plurals>Kumpulan string, yang menjadi tempat menyediakan satu string, bergantung pada jumlah sesuatu. Berisi satu atau beberapa elemen <item>.
atribut:
nameString. Nama untuk pasangan string. Nama ini akan digunakan sebagai ID sumber daya.<item>String jamak atau tunggal. Nilai bisa berupa referensi ke sumber daya string lain. Harus berupa anak elemen <plurals>. Ketahuilah bahwa Anda harus mengurung tanda apostrof dan tanda petik. Lihat Memformat dan Menata Gaya, di bawah ini, untuk informasi tentang cara menata gaya dan memformat string Anda dengan benar.
atribut:
quantityKata kunci. Sebuah nilai yang menunjukkan kapan string ini harus digunakan. Nilai yang valid, dengan contoh yang belum selengkapnya dalam tanda kurung:



contoh berikut:File XML yang disimpan di res/values/strings.xml:
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <plurals name="numberOfSongsAvailable">
        <!--
             As a developer, you should always supply "one" and "other"
strings. Your translators will know which strings are actually
needed for their language. Always include %d in "one" because
translators will need to use %d for languages where "one"
doesn't mean 1 (as explained above).
          -->
        <item quantity="one">%d song found.</item>
        <item quantity="other">%d songs found.</item>
    </plurals>
</resources>


File XML yang disimpan di res/values-pl/strings.xml:

Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <plurals name="numberOfSongsAvailable">
        <item quantity="one">Znaleziono %d piosenkę.</item>
        <item quantity="few">Znaleziono %d piosenki.</item>
        <item quantity="other">Znaleziono %d piosenek.</item>
    </plurals>
</resources>

Kode Java:
Code:
int count = getNumberOfsongsAvailable();
Resources res = getResources();
String songsFound = res.getQuantityString(R.plurals.numberOfSongsAvailable, count, count);


Mengurung tanda apostrof dan tanda kutip
Jika Anda memiliki tanda apostrof (') dalam string, Anda harus mengurungnya dengan backslash (\') atau mengurung string dalam tanda kutip ganda (""). Misalnya, inilah beberapa string yang bisa berhasil dan tidak bisa berhasil:
Code:
<string name="good_example">This\'ll work</string>
<string name="good_example_2">"This'll also work"</string>
<string name="bad_example">This doesn't work</string>
Jika Anda memiliki tanda kutip ganda dalam string, Anda harus mengurungnya (\"). Mengurung string dengan tanda kutip tunggal tidak akan berhasil.
Code:
<string name="good_example">This is a \"good string\".</string>
<string name="bad_example">This is a "bad string".</string>
    <!-- Quotes are stripped; displays as: This is a bad string. -->
<string name="bad_example_2">'This is another "bad string".'</string>
    <!-- Causes a compile error -->


Memformat string
Jika Anda perlu memformat string menggunakan String.format(String, Object...), Anda bisa melakukannya dengan menempatkan argumen format dalam sumber daya string. Misalnya, dengan sumber daya berikut:
Code:
<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>

Dalam contoh ini, string format memiliki dua argumen: %1$s adalah string dan %2$d adalah bilangan desimal. Anda bisa memformat string dengan argumen dari aplikasi Anda seperti ini:

Code:
Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), username, mailCount);

Menata gaya dengan markup HTML
Anda bisa menambahkan penataan gaya ke string dengan markup HTML. Misalnya:
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="welcome">Welcome to <b>Android</b>!</string>
</resources>

Elemen HTML yang didukung antara lain:
  • <b> untuk teks tebal.
  • <i> untuk teks miring.
  • <u> untuk teks garis bawah .
Kadang-kadang Anda mungkin ingin membuat sumber daya teks bergaya yang juga digunakan sebagai string format. Biasanya, ini tidak akan berhasil karena metode String.format(String, Object...) akan melucuti semua informasi gaya dari string. Solusinya adalah menuliskan tag HTML dengan entitas yang dikurung, yang nanti dipulihkan dengan fromHtml(String), setelah pemformatan dilakukan. Misalnya:

Simpan sumber daya teks bergaya sebagai string yang dikurung dengan HTML:
Code:
<resources>
  <string name="welcome_messages">Hello, %1$s! You have &lt;b>%2$d new messages&lt;/b>.</string>
</resources>

Dalam string yang diformat ini, elemen <b> telah ditambahkan. Perhatikan bahwa kurung buka adalah HTML yang dikurung, dengan menggunakan notasi &lt;.

Kemudian format string tersebut seperti biasa, namun panggil juga fromHtml(String) untuk mengonversi teks HTML menjadi teks yang diberi gaya:
Code:
Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), username, mailCount);
CharSequence styledText = Html.fromHtml(text);

Karena metode fromHtml(String) akan memformat semua entitas HTML, pastikan mengurung semua karakter HTML yang memungkinkan dalam string yang Anda gunakan bersama teks berformat, menggunakanhtmlEncode(String). Sebagai contoh, jika Anda akan meneruskan argumen string ke String.format()yang mungkin berisi karakter seperti "<" atau "&", maka harus dikurung sebelum memformat, jadi bila string berformat diteruskan melalui fromHtml(String), karakter akan luput dari maksud penulisannya semula. Misalnya:

Code:
String escapedUsername = TextUtil.htmlEncode(username);

Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), escapedUsername, mailCount);
CharSequence styledText = Html.fromHtml(text);


Menata Gaya dengan Spannable
Spannable adalah objek teks yang bisa Anda beri gaya dengan properti typeface seperti warna dan bobot font. Anda menggunakan SpannableStringBuilder untuk membangun teks kemudian menerapkan gaya yang didefinisikan dalam paket android.text.style ke teks.
Anda bisa menggunakan metode helper berikut untuk menyiapkan sebagian besar pekerjaan membuat teks spannable:
Code:
/ **
 * Mengembalikan CharSequence yang menggabungkan array CharSequence yang ditentukan
* objek dan kemudian menerapkan daftar tag nol atau lebih untuk seluruh rentang.
*
* @param isi larik urutan karakter untuk menerapkan gaya
* @param menandai objek bentang bergaya untuk diterapkan ke konten
* seperti android.text.style.StyleSpan
*
 * /
private static CharSequence apply(CharSequence[] content, Object... tags) {
    SpannableStringBuilder text = new SpannableStringBuilder();
    openTags(text, tags);
    for (CharSequence item : content) {
        text.append(item);
    }
    closeTags(text, tags);
    return text;
}

/ **
  * Berputar di atas array tag dan menerapkannya pada awal yang ditentukan  
* Objek yang dapat di-spannable sehingga teks selanjutnya yang ditambahkan pada teks akan memiliki gaya 
 * diterapkan untuk itu. Jangan panggil metode ini secara langsung. 
 ** / 
private static void openTags(Spannable text, Object[] tags) {
    for (Object tag : tags) {
        text.setSpan(tag, 0, 0, Spannable.SPAN_MARK_MARK);
    }
}

/ ** 
 * "Menutup" tag yang ditentukan pada Spannable dengan memperbarui bentang menjadi  
* endpoint-eksklusif sehingga teks masa depan ditambahkan ke akhir tidak akan mengambil 
 * pada gaya yang sama. Jangan panggil metode ini secara langsung.  
* /

private static void closeTags(Spannable text, Object[] tags) {
    int len = text.length();
    for (Object tag : tags) {
        if (len > 0) {
            text.setSpan(tag, 0, len, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        } else {
            text.removeSpan(tag);
        }
    }
}

Metode bold, italic, dan color berikut ini menunjukkan cara memanggil metode helper untuk menerapkan gaya yang didefinisikan dalam paket android.text.style. Anda bisa membuat metode serupa untuk melakukan penataan gaya tipe teks lainnya.

Code:
public static CharSequence bold(CharSequence... content) {
    return apply(content, new StyleSpan(Typeface.BOLD));
}
public static CharSequence italic(CharSequence... content) {
    return apply(content, new StyleSpan(Typeface.ITALIC));
}
public static CharSequence color(int color, CharSequence... content) {
    return apply(content, new ForegroundColorSpan(color));
}

Inilah contoh cara merangkai metode ini untuk membuat urutan karakter dengan beragam tipe penataan gaya yang diterapkan pada masing-masing kata:
Code:
// Buat miring "hello," a red "world",
 // dan cetak tebal seluruh urutan.

CharSequence text = bold(italic(res.getString(R.string.hello)),
    color(Color.RED, res.getString(R.string.world)));
 
Nama paket dan ID aplikasi
Elemen root file manifes memerlukan atribut untuk nama paket aplikasi Anda (biasanya cocok dengan struktur direktori proyek Anda - Java namespace).

Misalnya, cuplikan berikut menunjukkan <manifest>elemen root dengan nama paket"com.example.myapp" :

Code:
<? versi xml = "1.0" encoding = "utf-8" ?> 
<manifes xmlns : android = "http://schemas.android.com/apk/res/android" 
    package = "com.example.myapp"
    android: versionCode = "1"
    android: versionName = "1.0" > 
    ...
</manifest>


Saat membangun aplikasi Anda ke dalam paket aplikasi final (APK), perangkat build Android menggunakan packageatribut untuk dua hal:

  • Itu berlaku nama ini sebagai namespace untuk R.javakelas yang dihasilkan aplikasi Anda (digunakan untuk mengakses sumber daya aplikasiAnda ).
    Contoh: Dengan manifes di atas, Rkelas dibuat di com.example.myapp.R.
  • Ini menggunakan nama ini untuk menyelesaikan nama kelas relatif apa pun yang dideklarasikan dalam file manifes.
    Contoh: Dengan manifes di atas, aktivitas yang dinyatakan sebagai <activity android:name=".MainActivity">telah diselesaikan com.example.myapp.MainActivity.
Komponen aplikasi
Untuk setiap komponen aplikasi yang Anda buat di aplikasi Anda, Anda harus mendeklarasikan elemen XML yang sesuai di file manifes:

Jika Anda mensubklasifikasikan komponen ini tanpa mendeklarasikannya dalam file manifes, sistem tidak dapat memulainya.

Nama subclass Anda harus ditentukan dengan name atribut, menggunakan penunjukan paket lengkap. Sebagai contoh, sebuah Activitysubclass dapat dideklarasikan sebagai berikut:

Code:
<manifes ... >
    <aplikasi ... >
        <activity android: name = "com.example.myapp.MainActivity" ... >
        </activity>
    </aplikasi>
</manifest>
Namun, jika karakter pertama dalam namenilai adalah titik, nama paket aplikasi (dari atribut <manifest>elemen package) diawali dengan nama. Misalnya, nama aktivitas berikut ini diselesaikan ke `" com.example.myapp.MainActivity "`:
Code:
<manifest package = "com.example.myapp" ... > 
    <aplikasi ... >
        <activity android: name = ".MainActivity" ... > 
            ...
        </activity>
    </aplikasi>
</manifest>
Jika Anda memiliki komponen aplikasi yang berada di dalam sub-paket (seperti dicom.example.myapp.purchases), namenilainya harus menambahkan nama sub-paket yang hilang (seperti ".purchases.PayActivity") atau menggunakan nama paket yang sepenuhnya memenuhi syarat.


Filter niat
Aktivitas aplikasi, layanan, dan penerima siaran diaktifkan oleh maksud . Maksud adalah pesan yang didefinisikan oleh Intentobjek yang menggambarkan tindakan yang harus dilakukan, termasuk data yang akan ditindaklanjuti, kategori komponen yang harus melakukan tindakan, dan instruksi lainnya.

Ketika suatu aplikasi mengeluarkan maksud ke sistem, sistem menemukan komponen aplikasi yang dapat menangani maksud berdasarkan deklarasi filter maksud dalam file manifes masing-masing aplikasi. Sistem meluncurkan instance komponen yang cocok dan meneruskan Intentobjek ke komponen itu. Jika lebih dari satu aplikasi dapat menangani maksudnya, maka pengguna dapat memilih aplikasi mana yang akan digunakan.

Komponen aplikasi dapat memiliki sejumlah filter maksud (ditentukan dengan <intent-filter> elemen), masing-masing menggambarkan kemampuan komponen yang berbeda.

Untuk informasi lebih lanjut, lihat dokumen Intents and Intent Filter .

Ikon dan label
Sejumlah elemen manifes memiliki icondan label atribut masing-masing untuk menampilkan ikon kecil dan label teks, kepada pengguna untuk komponen aplikasi yang sesuai.

Dalam setiap kasus, ikon dan label yang diatur dalam elemen induk menjadi default icondan labelnilai untuk semua elemen anak. Misalnya, ikon dan label yang diatur dalam <application> elemen adalah ikon dan label default untuk setiap komponen aplikasi (seperti semua aktivitas).

Ikon dan label yang diatur dalam komponen <intent-filter> ditampilkan kepada pengguna setiap kali komponen tersebut disajikan sebagai opsi untuk memenuhi maksud. Secara default, ikon ini diwarisi dari ikon mana saja yang dideklarasikan untuk komponen induk ( elemen <activity>atau <application>), tetapi Anda mungkin ingin mengubah ikon untuk filter maksud jika ikon ini memberikan tindakan unik yang ingin Anda indikasikan dengan lebih baik di dialog pemilih. Untuk informasi lebih lanjut, lihat Izinkan Aplikasi Lain untuk Memulai Aktivitas Anda .

Izin
Aplikasi Android harus meminta izin untuk mengakses data pengguna yang sensitif (seperti kontak dan SMS) atau fitur sistem tertentu (seperti kamera dan akses internet). Setiap izin diidentifikasi oleh label unik. Misalnya, aplikasi yang perlu mengirim pesan SMS harus memiliki baris berikut dalam manifes:

Code:
<manifes ... >
    <menggunakan-izin android: name = "android.permission.SEND_SMS" /> 
    ...
</manifest>


Dimulai dengan Android 6.0 (API level 23), pengguna dapat menyetujui atau menolak beberapa izin aplikasi saat runtime. Tetapi apa pun versi Android yang didukung aplikasi Anda, Anda harus mendeklarasikan semua permintaan izin dengan <uses-permission> elemen di manifes. Jika izin diberikan, aplikasi dapat menggunakan fitur yang dilindungi. Jika tidak, upaya untuk mengakses fitur tersebut gagal.

Aplikasi Anda juga dapat melindungi komponennya sendiri dengan izin. Itu dapat menggunakan salah satu izin yang ditentukan oleh Android, sebagaimana tercantum dalam android.Manifest.permission, atau izin yang dinyatakan di aplikasi lain. Aplikasi Anda juga dapat menentukan izinnya sendiri. Izin baru dideklarasikan dengan <permission> elemen.

Untuk informasi lebih lanjut, lihat Tinjauan Izin .

Kompatibilitas perangkat
File manifes juga tempat Anda dapat mendeklarasikan jenis fitur perangkat keras atau perangkat lunak apa yang dibutuhkan aplikasi Anda, dan dengan demikian, jenis perangkat yang kompatibel dengan aplikasi Anda. Google Play Store tidak mengizinkan aplikasi Anda diinstal pada perangkat yang tidak menyediakan fitur atau versi sistem yang dibutuhkan aplikasi Anda.

Ada beberapa tag manifes yang menentukan perangkat mana yang kompatibel dengan aplikasi Anda. Berikut ini adalah beberapa tag yang paling umum.

<penggunaan-Fitur>
The elemen memungkinkan Anda untuk menyatakan hardware dan software fitur kebutuhan aplikasi Anda. Misalnya, jika aplikasi Anda tidak dapat mencapai fungsionalitas dasar pada perangkat tanpa sensor kompas, Anda dapat mendeklarasikan sensor kompas seperti yang dipersyaratkan dengan tag manifes berikut: <uses-feature>

Code:
<manifes ... >
    <menggunakan-fitur android: name = "android.hardware.sensor.compass" 
                  android: required = "true" /> 
    ...
</manifest>

note: Jika Anda ingin membuat aplikasi Anda tersedia di Chromebook, ada beberapa batasan fitur perangkat keras dan perangkat lunak yang harus Anda pertimbangkan.

Setiap versi platform berurutan sering menambahkan API baru yang tidak tersedia di versi sebelumnya. Untuk menunjukkan versi minimum yang kompatibel dengan aplikasi Anda, manifes Anda harus menyertakan <uses-sdk>tag dan minSdkVersion atributnya.

Namun, berhati-hatilah bahwa atribut dalam <uses-sdk>elemen tersebut ditimpa oleh properti terkait dalam build.gradlefile. Jadi jika Anda menggunakan Android Studio, Anda harus menentukan minSdkVersiondantargetSdkVersionnilai di sana sebagai gantinya:

Code:
android {
  defaultConfig {
    applicationId 'com.example.myapp'

    // Tetapkan level API minimum yang diperlukan untuk menjalankan aplikasi.
    minSdkVersi 15

    // Menentukan level API yang digunakan untuk menguji aplikasi.
    targetSdkVersion 28

    ...
  }
}


Untuk informasi lebih lanjut tentang build.gradlefile, baca tentang cara mengkonfigurasi build Anda .

Untuk mempelajari lebih lanjut tentang cara mendeklarasikan dukungan aplikasi Anda untuk perangkat yang berbeda, lihat Ikhtisar Kompatibilitas Perangkat .

Konvensi file
Bagian ini menjelaskan konvensi dan aturan yang umumnya berlaku untuk semua elemen dan atribut dalam file manifes.

ElemenHanya yang <manifest>dan <application> elemen yang diperlukan. Mereka masing-masing harus terjadi hanya sekali. Sebagian besar elemen lain dapat muncul nol kali atau lebih. Namun, beberapa dari mereka harus hadir untuk membuat file manifes berguna.
Semua nilai ditetapkan melalui atribut, bukan sebagai data karakter dalam suatu elemen.

Elemen-elemen pada level yang sama umumnya tidak dipesan. Sebagai contoh, <activity>,<provider>, dan <service> elemen dapat ditempatkan dalam urutan apapun. Ada dua pengecualian utama untuk aturan ini:

AtributSecara teknis, semua atribut bersifat opsional. Namun, banyak atribut harus ditentukan agar suatu elemen dapat mencapai tujuannya. Untuk atribut yang benar-benar opsional, dokumentasi referensi menunjukkan nilai default.
Kecuali untuk beberapa atribut <manifest> elemen root , semua nama atribut dimulai dengan android:awalan. Sebagai contoh android:alwaysRetainTaskState,. Karena awalan bersifat universal, dokumentasi biasanya menghilangkannya ketika merujuk ke atribut dengan nama.

Nilai bergandaJika lebih dari satu nilai dapat ditentukan, elemen ini hampir selalu diulang, daripada beberapa nilai yang terdaftar dalam satu elemen. Misalnya, filter maksud dapat mendaftar beberapa tindakan:

Code:
<intent-filter ... >
    <action android: name = "android.intent.action.EDIT" /> 
    <action android: name = "android.intent.action.INSERT" /> 
    <action android: name = "android.intent.action.DELETE" /> 
    ...
</intent-filter>


Nilai sumber dayaBeberapa atribut memiliki nilai yang ditampilkan kepada pengguna, seperti judul untuk suatu aktivitas atau ikon aplikasi Anda. Nilai untuk atribut ini mungkin berbeda berdasarkan bahasa pengguna atau konfigurasi perangkat lain (seperti untuk memberikan ukuran ikon yang berbeda berdasarkan kepadatan piksel perangkat), sehingga nilai harus ditetapkan dari sumber daya atau tema, alih-alih dengan kode-keras ke dalam file manifes. Nilai aktual kemudian dapat berubah berdasarkan sumber daya alternatif yang Anda berikan untuk konfigurasi perangkat yang berbeda.
Sumber daya dinyatakan sebagai nilai dengan format berikut:

Code:
"@[package:]type/name"


Anda dapat menghilangkan nama paket jika sumber daya disediakan oleh aplikasi Anda (termasuk jika itu disediakan oleh ketergantungan perpustakaan, karena sumber daya perpustakaan digabungkan ke dalam milik Anda ). Satu-satunya nama paket yang valid adalah android, ketika Anda ingin menggunakan sumber daya dari kerangka kerja Android.

The tipe adalah jenis sumber daya, seperti stringatau drawable, dan nama adalah nama yang mengidentifikasi sumber daya tertentu. Berikut ini sebuah contoh:

Code:
<activity android: icon = "@ drawable / smallPic" ... >

Untuk menerapkan nilai yang didefinisikan dalam tema , ?alih-alih karakter pertama harus bukannya @:
Code:
"?[package:]type/name"


Nilai stringDi mana nilai atribut adalah string, Anda harus menggunakan garis miring terbalik ganda ( \\) untuk keluar dari karakter, seperti \\nuntuk baris baru atau \\uxxxxuntuk karakter Unicode.Referensi elemen manifes
Tabel berikut menyediakan tautan ke dokumen referensi untuk semua elemen yang valid dalam AndroidManifest.xmlfile.

<action>Menambahkan tindakan ke filter maksud.
<activity>Deklarasikan komponen aktivitas.
<activity-alias>Nyatakan alias untuk suatu aktivitas.
<application>Deklarasi aplikasi.
<category>Menambahkan nama kategori ke filter maksud.
<compatible-screens>Menentukan setiap konfigurasi layar yang dengannya aplikasi tersebut kompatibel.
<data>Menambahkan spesifikasi data ke filter maksud.
<grant-uri-permission>Menentukan himpunan bagian dari data aplikasi yang diizinkan untuk diakses oleh penyedia konten induk.
<instrumentation>Deklarasikan Instrumentationkelas yang memungkinkan Anda untuk memonitor interaksi aplikasi dengan sistem.
<intent-filter>Menentukan jenis niat yang dapat ditanggapi oleh suatu aktivitas, layanan, atau penerima siaran.
<manifest>Elemen root dari file AndroidManifest.xml.
<meta-data>Pasangan nilai-nama untuk item tambahan, data arbitrer yang dapat dipasok ke komponen induk.
<path-permission>Menentukan jalur dan izin yang diperlukan untuk subkumpulan data tertentu dalam penyedia konten.
<permission>Menyatakan izin keamanan yang dapat digunakan untuk membatasi akses ke komponen atau fitur tertentu dari ini atau aplikasi lain.
<permission-group>Menyatakan nama untuk pengelompokan logis dari izin terkait.
<permission-tree>Menyatakan nama dasar untuk pohon izin.
<provider>Deklarasikan komponen penyedia konten.
<receiver>Menyatakan komponen penerima siaran.
<service>Deklarasikan komponen layanan.
<supports-gl-texture>Menyatakan format kompresi tekstur GL tunggal yang didukung aplikasi.
<supports-screens>Nyatakan ukuran layar yang didukung aplikasi Anda dan aktifkan mode kompatibilitas layar untuk layar yang lebih besar dari yang didukung aplikasi Anda.
<uses-configuration>Menunjukkan fitur input spesifik yang dibutuhkan aplikasi.
<uses-feature>Menyatakan satu fitur perangkat keras atau perangkat lunak yang digunakan oleh aplikasi.
<uses-library>Menentukan perpustakaan bersama yang harus ditautkan dengan aplikasi.
<uses-permission>Menentukan izin sistem yang harus diberikan pengguna agar aplikasi dapat beroperasi dengan benar.
<uses-permission-sdk-23>Menentukan bahwa aplikasi menginginkan izin tertentu, tetapi hanya jika aplikasi diinstal pada perangkat yang menjalankan Android 6.0 (API level 23) atau lebih tinggi.
<uses-sdk>Memungkinkan Anda mengekspresikan kompatibilitas aplikasi dengan satu atau lebih versi platform Android, melalui integer tingkat API.
Contoh file manifes
XML di bawah ini adalah contoh sederhana AndroidManifest.xmlyang menyatakan dua aktivitas untuk aplikasi.

Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:versionCode="1"
    android:versionName="1.0"
    package="com.example.myapp">

    <!-- Beware that these values are overridden by the build.gradle file -->
    <uses-sdk android:minSdkVersion="15" android:targetSdkVersion="26" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <!-- This name is resolved to com.example.myapp.MainActivity
             based upon the package attribute -->
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name=".DisplayMessageActivity"
            android:parentActivityName=".MainActivity" />
    </application>
</manifest>
 
Terakhir diubah:
Drawable - String - Style
#1. Menggunakan Colors.xml
Colors.xml digunakan untuk mengedit warna (background, teks, image, dll) pada aplikasi android yang kita buat. File colors.xml terdapat di folder values.

Langsung saja kita praktekan sekarang.

  • Klik colors.xml
  • Edit kode-kodenya hingga menjadi seperti dibawah ini :
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#3F51B5</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#FF4081</color>


    <color name="teks">#006400</color>
    <color name="tombol">#8B0000</color>

</resources>
  • Setelah di edit tampilannya kurang lebih seperti gambar berikut :

  • Buka activity_main.xml lalu tambahkan kode-kode dibawah ini
Code:
<?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="badoystudio.com.projectpertama.MainActivity">

    
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Ini Adalah Teks"
        android:textSize="40sp"
        android:textColor="@color/teks"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    

</android.support.constraint.ConstraintLayout>

  • Maka hasilnya adalah :

  • Kesimpulan : kode warna yang kita tambahkan pada file colors.xml nantinya bisa kita gunakan pada layout atau activity lain. Contoh di atas adalah warna dengan name = teks dengan kode warna hexadesimal #006400 (hijau) kita panggil id nya pada activity_main.xml untuk memberikan warna teks pada komponen TextView.
  • Coba anda aplikasikan warna dengan name = tombol. Tambahkan komponen Button kemudian beri warna menggunakan id warna pada colors.xmlyang sudah ditambhakan di atas.
2. Menggunakan Strings.xml
Strings.xml digunakan untuk menampilkan teks yang akan kita masukan pada aplikasi android. Caranya penggunaannya yaitu :

  • Klik file strings.xml yang terdapat pada values
  • Tambahkan kode-kode berikut ini
Code:
<resources>
    <string name="app_name">projectpertama</string>

    <string name="judul">Ini adalah judul dari String </string>
</resources>
  • Edit komponen TextView pada activity_main.xml menjadi seperti dibawah :
Code:
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/judul"
    android:textSize="30sp"
    android:textColor="@color/teks"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent" />
  • Lihat hasilnya, maka teks yang akan ditampilkan adalah ” ini judul dari string “. Mengapa demikian karena kita telah memanggil id judul yang sudah kita tambahkan pada string di atas dengan kode android:text=”@string/judul”. Dan yang disarankan pada saat menampilkan teks adalah cara seperti ini.
3. Fungsi Drawable
Bagaimana caranya memasukan gambar dari komputer/ laptop kita ke android studio ? Sangat mudah yaitu :

  • Klik kanan folder drawable
  • Pilih Show in explorer

  • Copykan gambar pada folder drawable

  • Sekarang buka activity_main.xml tambahkan komponen ImageView :
Code:
<?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="badoystudio.com.projectpertama.MainActivity">


    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/android"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
    

</android.support.constraint.ConstraintLayout>
  • Maka hasilnya adalah :
 
Terakhir diubah:
Cara Menggunakan TextView :
Menggunakan TextView dan Atributnya
Untuk menggunakan TextView kita bisa mengaplikasikan atribut-atribut penting yang sering digunakan pada TextView diantaranya sebagai berikut :
Id
Atribut ini digunakan untuk memberikan nama pada TextView. Biasanya pada aplikasi ada beberapa teks yang ingin di tampilkan dalam satu activity. Agar tidak terjadi error maka kita harus memberikan nama unik atau id pada masing-masing teks tersebut. Dengan menggunakan id bisa memudahkan kita saat mengatur layout untuk teks yang akan ditampilkan di aplikasi.

Code:
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TEKS 1"
    android:id="@+id/teks1"/>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TEKS 2"
    android:id="@+id/teks2"
    android:layout_below="@id/teks1"/>



Tampilan teks 2 berada dibawah teks 1 karena menggunakan layout_below pada teks yang ke 2.

Text
Untuk menampilkan teks pada aplikasi kita membutuhkan atribut ini.

Code:
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="digunakan untuk menampilkan teks "
    android:id="@+id/teks1"/>


Text Color
Warna teks sangat berpengaruh pada tampilan UI dan UX pada aplikasi android. Untuk memberikan warna teks kita menggunakan atribut ini.

Code:
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="teks menggunakan warna primary color "
    android:textColor="@color/colorPrimaryDark"
    android:id="@+id/teks1"/>

<TextView
    android:paddingTop="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="teks menggunakan warna primary color "
    android:textColor="@color/colorAccent"
    android:layout_below="@id/teks1"
    android:id="@+id/teks2"/>



Untuk warna sendiri kita bisa mengaturnya pada color.xml atau juga langsung dengan cara memasukan kode-kode warna seperti : #ffff dan lainnya.

Text Size
Atribut ini digunakan untuk memberikan ukuran pada teks yang ingin kita tampilkan pada aplikasi.

Code:
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="MENGGUNAKAN UKURAN 14SP" 
    android:textSize="14sp"
    android:id="@+id/teks1"/>

<TextView
    android:paddingTop="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="MENGGUNAKAN UKURAN 20SP"
    android:textColor="@color/colorAccent"
    android:layout_below="@id/teks1"
    android:id="@+id/teks2"
    android:textSize="20sp"/>



Text Appearance
Ini digunakan untuk mengubah ukuran teks yang digunakan untuk heading atau sub heading.

Code:
<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text=" DIGUNAKAN UNTUK HEADING "
    android:typeface="serif"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:id="@+id/teks1"/>

<TextView
    android:paddingTop="20dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text=" DIGUNAKAN UNTUK SUB HEADING "
    android:typeface="monospace"
    android:textColor="@color/colorAccent"
    android:layout_below="@id/teks1"
    android:id="@+id/teks2"
    android:textSize="20sp"
    android:textAppearance="?android:attr/textAppearanceMedium" />

Text Style
Kadang ada beberapa style yang ingin kita gunakan saat menampilkan teks yaitu bold dan italic.

Code:
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TANPA MENGGUNAKAN STYLE "
    android:textSize="14sp"
    android:id="@+id/teks1"/>

<TextView
    android:paddingTop="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="MENGGUNAKAN STYLE BOLD"
    android:textStyle="bold"
    android:textColor="@color/colorAccent"
    android:layout_below="@id/teks1"
    android:id="@+id/teks2"
    android:textSize="20sp"/>

<TextView
    android:paddingTop="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="MENGGUNAKAN STYLE ITALIC"
    android:textStyle="italic"
    android:textColor="@color/colorPrimary"
    android:layout_below="@id/teks2"
    android:id="@+id/teks3"
    android:textSize="20sp"/>


Type Face
Dengan atribut ini kita bisa memilih tipe font bawaan yang disebutkan tadi diatas yaitu : serif, monoscape, dan sans.

Code:
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TANPA MENGGUNAKAN FONT SERIF  "
    android:typeface="serif"
    android:textSize="14sp"
    android:id="@+id/teks1"/>

<TextView
    android:paddingTop="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="MENGGUNAKAN FONT MONOSPACE"
    android:typeface="monospace"
    android:textColor="@color/colorAccent"
    android:layout_below="@id/teks1"
    android:id="@+id/teks2"
    android:textSize="20sp"/>

<TextView
    android:paddingTop="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="MENGGUNAKAN FONT SANS"
    android:typeface="sans"
    android:textColor="@color/colorPrimary"
    android:layout_below="@id/teks2"
    android:id="@+id/teks3"
    android:textSize="20sp"/>


Text Aligment
Digunkan untuk melakukan pengaturan posisi teks (perataan).

Code:
<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text=" PERATAAN TENGAH (CENTER)  "
    android:typeface="serif"
    android:textSize="20sp"
    android:textAlignment="center"
    android:id="@+id/teks1"/>

<TextView
    android:paddingTop="20dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="TEKS POSISI DEFAULT "
    android:typeface="monospace"
    android:textColor="@color/colorAccent"
    android:layout_below="@id/teks1"
    android:id="@+id/teks2"
    android:textSize="20sp"
     />

Menambahkan Gambar pada TextView
Kita juga bisa menambahkan gambar pada TextView. Caranya gampang silahkan copykan gambar/ icon pada folder drawable. Atau bisa juga menggunakan icon default yang sudah tersedia pada android studio.

Code:
<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text=" PENAMBAHAN GAMBAR 1 "
    android:typeface="serif"
    android:textSize="20sp"
    android:id="@+id/teks1"
    android:drawableLeft="@android:drawable/checkbox_on_background" />

<TextView
    android:paddingTop="20dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text=" PENAMBAHAN GAMBAR 2 "
    android:typeface="monospace"
    android:textColor="@color/colorAccent"
    android:layout_below="@id/teks1"
    android:id="@+id/teks2"
    android:textSize="20sp"
    android:drawableLeft="@android:drawable/btn_dialog" />


android:drawableLeft : inilah atribut yang digunakan untuk memasukan gambar tinggal sesuaikan saja iconnya akan ditempatkan sebelahmana.

Itulah cara penggunaan Widget TextView pada Android Studio. Saya rasa tutorial ini sangat mudah untuk dipelajari dan dipraktekan.
 
Terakhir diubah:
Cara Menggunakan ImageView :
Tambahkan Gambar ke Sumber Daya
Masukkan gambar Anda ke folder " res/drawable-ldpi", " res/drawable-mdpi" atau " res/drawable-hdpi".

Lihat gambar di bawah, apa pun folder yang Anda letakkan, Android akan menemukan gambar Anda secara otomatis. Dalam hal ini, gambar "android.png" dan "android3d.png" digunakan untuk demonstrasi.

Tambahkan ImageView
Buka file “ res / layout / main.xml ”, cukup tambahkan ImageViewdan Buttonuntuk demonstrasi. Secara default, imageView1akan menampilkan "android.png".

File: res / layout / main.xml

Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

    <ImageView
        android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/android" />

    <Button
        android:id="@+id/btnChangeImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Change Image" />
    
</LinearLayout>
Kode Kode
Sederhana, ketika tombol diklik, ubah ke “android3d.png”.

File: MyAndroidAppActivity.java

Code:
package com.mkyong.android;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.ImageView;
import android.view.View;
import android.view.View.OnClickListener;

public class MyAndroidAppActivity extends Activity {

    Button button;
    ImageView image;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        addListenerOnButton();

    }

    public void addListenerOnButton() {

        image = (ImageView) findViewById(R.id.imageView1);

        button = (Button) findViewById(R.id.btnChangeImage);
        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                image.setImageResource(R.drawable.android3d);
            }

        });

    }

}

Demo
Jalankan aplikasi.

Hasilnya, "android.png" ditampilkan.




Unduh Source - Android-ImageView-Example.zip
 
Terakhir diubah:
Cara Menggunakan Button :
Kita dapat melakukan aksi pada tombol menggunakan berbagai jenis seperti memanggil pendengar di tombol atau menambahkan properti onClick tombol dalam file xml aktivitas.
Code:
[LIST=1]
[*]button.setOnClickListener (View.OnClickListener baru () {  
[*]            @Mengesampingkan  
[*]            public void onClick (Tampilan tampilan) {  
[*]               //kode  
[*]            }  
[*]});  
[/LIST]

Code:
[LIST=1]
[*]< Tombol  
[*]        android: onClick = "methodName"  
[*]/>  
[/LIST]
Seret komponen atau tulis kode untuk UI di activity_main.xml

Pertama-tama, seret 2 bidang teks dari palet Bidang Teks dan satu tombol dari palet Widget Bentuk seperti yang ditunjukkan pada gambar berikut.



Kode yang dihasilkan untuk komponen ui akan seperti ini:

File: activity_main.xml
Code:
[LIST=1]
[*]<? 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 = "example.javatpoint.com.sumoftwonumber.MainActivity" >  
[*]  
[*]    < EditTeks  
[*]        android: id = "@ + id / editText1"  
[*]        android: layout_width = "wrap_content"  
[*]        android: layout_height = "wrap_content"  
[*]        android: layout_alignParentTop = "true"  
[*]        android: layout_centerHorizontal = "true"  
[*]        android: layout_marginTop = "61dp"  
[*]        android: ems = "10"  
[*]        android: inputType = "number"  
[*]        alat: layout_editor_absoluteX = "84dp"  
[*]        alat: layout_editor_absoluteY = "53dp" />   
[*]  
[*]    < EditTeks  
[*]        android: id = "@ + id / editText2"  
[*]        android: layout_width = "wrap_content"  
[*]        android: layout_height = "wrap_content"  
[*]        android: layout_below = "@ + id / editText1"  
[*]        android: layout_centerHorizontal = "true"  
[*]        android: layout_marginTop = "32dp"  
[*]        android: ems = "10"  
[*]        android: inputType = "number"  
[*]        alat: layout_editor_absoluteX = "84dp"  
[*]        alat: layout_editor_absoluteY = "127dp" />   
[*]  
[*]    < Tombol  
[*]        android: id = "@ + id / tombol"  
[*]        android: layout_width = "wrap_content"  
[*]        android: layout_height = "wrap_content"  
[*]        android: layout_below = "@ + id / editText2"  
[*]        android: layout_centerHorizontal = "true"  
[*]        android: layout_marginTop = "109dp"  
[*]        android: text = "ADD"  
[*]        alat: layout_editor_absoluteX = "148dp"  
[*]        alat: layout_editor_absoluteY = "266dp" />   
[*]</ RelativeLayout >  
[/LIST]


Kelas aktivitas
Sekarang tulis kode untuk menampilkan jumlah dua angka.

File: MainActivity.java
Code:
[LIST=1]
[*]paket  example.javatpoint.com.sumoftwonumber;  
[*]  
[*]impor  android.support.v7.app.AppCompatActivity;  
[*]impor  android.os.Bundle;  
[*]impor  android.view.View;  
[*]impor  android.widget.Button;  
[*]impor  android.widget.EditText;  
[*]impor  android.widget.Toast;  
[*]  
[*] MainActivity  kelas publik memperluas  AppCompatActivity {  
[*]    pribadi  EditText edittext1, edittext2;  
[*]     Tombol pribadi, tombolum;  
[*]  
[*]    @Mengesampingkan  
[*]    void  onCreate yang dilindungi (Bundle disimpanInstanceState) {  
[*]        super .onCreate (SavedInstanceState);  
[*]        setContentView (R.layout.activity_main);  
[*]  
[*]        addListenerOnButton ();  
[*]    }  
[*]  
[*]     addListenerOnButton publik batal () {  
[*]        edittext1 = (EditText) findViewById (R.id.editText1);  
[*]        edittext2 = (EditText) findViewById (R.id.editText2);  
[*]        buttonSum = (Tombol) findViewById (R.id.button);  
[*]  
[*]        buttonSum.setOnClickListener (View baru.  OnClickListener () {  
[*]            @Mengesampingkan  
[*]            public void  onClick (Tampilan tampilan) {  
[*]                String value1 = edittext1.getText (). ToString ();  
[*]                String value2 = edittext2.getText (). ToString ();  
[*]                int  a = Integer.parseInt (value1);  
[*]                int  b = Integer.parseInt (value2);  
[*]                 jumlah int = a + b;  
[*]                Toast.makeText (getApplicationContext (), String.valueOf (sum), Toast.LENGTH_LONG) .show ();  
[*]            }  
[*]        });  
[*]    }  
[*]}  
[/LIST]


Keluaran:

 
Terakhir diubah:
Cara Menggunakan RAdioButton :
String Khusus
Buka file “ res / values / strings.xml ”, tambahkan beberapa string khusus untuk tombol radio.

File: res / values / strings.xml

Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, MyAndroidAppActivity!</string>
    <string name="app_name">MyAndroidApp</string>
    <string name="radio_male">Male</string>
    <string name="radio_female">Female</string>
    <string name="btn_display">Display</string>
</resources>

Tombol Radio
Buka file " res / layout / main.xml ", tambahkan " RadioGroup ", " RadioButton " dan sebuah tombol, di dalam LinearLayout.

File: res / layout / main.xml

Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

    <RadioGroup
        android:id="@+id/radioSex"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

        <RadioButton
            android:id="@+id/radioMale"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radio_male"
android:checked="true" />

        <RadioButton
            android:id="@+id/radioFemale"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radio_female" />

    </RadioGroup>

    <Button
        android:id="@+id/btnDisplay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_display" />

</LinearLayout>

Tombol radio dipilih secara default.
Untuk membuat tombol radio dipilih secara default, masukkan ke android:checked="true"dalam RadioButtonelemen. Dalam hal ini, opsi radio "Pria" dipilih secara default.

Kode Kode
Di dalam onCreate()metode " " aktivitas , lampirkan tombol klik daftar pendengar.

File: MyAndroidAppActivity.java

Code:
package com.mkyong.android;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;

public class MyAndroidAppActivity extends Activity {

  private RadioGroup radioSexGroup;
  private RadioButton radioSexButton;
  private Button btnDisplay;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    addListenerOnButton();

  }

  public void addListenerOnButton() {

    radioSexGroup = (RadioGroup) findViewById(R.id.radioSex);
    btnDisplay = (Button) findViewById(R.id.btnDisplay);

    btnDisplay.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

                // get selected radio button from radioGroup
            int selectedId = radioSexGroup.getCheckedRadioButtonId();

            // find the radiobutton by returned id
                radioSexButton = (RadioButton) findViewById(selectedId);

            Toast.makeText(MyAndroidAppActivity.this,
                radioSexButton.getText(), Toast.LENGTH_SHORT).show();

        }

    });

  }
}



Unduh Source - Android-RadioButton-Example.zip
 
Terakhir diubah:
Cara Menggunakan Spinner :
Daftar Item di Spinner
Buka file “ res / values / strings.xml ”, tentukan daftar item yang akan ditampilkan di Spinner (daftar dropdown).

File: res / values / strings.xml

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

    <string name="app_name">MyAndroidApp</string>
    <string name="country_prompt">Choose a country</string>

    <string-array name="country_arrays">
        <item>Malaysia</item>
        <item>United States</item>
        <item>Indonesia</item>
        <item>France</item>
        <item>Italy</item>
        <item>Singapore</item>
        <item>New Zealand</item>
        <item>India</item>
    </string-array>

</resources>


Spinner (Daftar DropDown)
Buka file “ res / layout / main.xml ”, tambahkan dua komponen pemintal dan sebuah tombol.

  1. Di "spinner1", " android:entries" mewakili item pilihan di spinner.
  2. Dalam "spinner2", item pilihan akan ditentukan dalam kode nanti.
File: res / layout / main.xml

Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

    <Spinner
        android:id="@+id/spinner1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/country_arrays"
android:prompt="@string/country_prompt" />

    <Spinner
        android:id="@+id/spinner2"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

    <Button
        android:id="@+id/btnSubmit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Submit" />

</LinearLayout>

Kode Kode
Baca kode dan juga komentar kode, itu harus jelas.

File: MyAndroidAppActivity.java

Code:
package com.mkyong.android;

import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.Toast;

public class MyAndroidAppActivity extends Activity {

  private Spinner spinner1, spinner2;
  private Button btnSubmit;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    addItemsOnSpinner2();
    addListenerOnButton();
    addListenerOnSpinnerItemSelection();
  }

  // add items into spinner dynamically
  public void addItemsOnSpinner2() {

    spinner2 = (Spinner) findViewById(R.id.spinner2);
    List<String> list = new ArrayList<String>();
    list.add("list 1");
    list.add("list 2");
    list.add("list 3");
    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
        android.R.layout.simple_spinner_item, list);
    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner2.setAdapter(dataAdapter);
  }

  public void addListenerOnSpinnerItemSelection() {
    spinner1 = (Spinner) findViewById(R.id.spinner1);
    spinner1.setOnItemSelectedListener(new CustomOnItemSelectedListener());
  }

  // get the selected dropdown list value
  public void addListenerOnButton() {

    spinner1 = (Spinner) findViewById(R.id.spinner1);
    spinner2 = (Spinner) findViewById(R.id.spinner2);
    btnSubmit = (Button) findViewById(R.id.btnSubmit);

    btnSubmit.setOnClickListener(new OnClickListener() {

      @Override
      public void onClick(View v) {

        Toast.makeText(MyAndroidAppActivity.this,
        "OnClickListener : " + 
                "\nSpinner 1 : "+ String.valueOf(spinner1.getSelectedItem()) + 
                "\nSpinner 2 : "+ String.valueOf(spinner2.getSelectedItem()),
            Toast.LENGTH_SHORT).show();
      }

    });
  }
}
File: CustomOnItemSelectedListener.java
Code:
package com.mkyong.android;

import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Toast;

public class CustomOnItemSelectedListener implements OnItemSelectedListener {

  public void onItemSelected(AdapterView<?> parent, View view, int pos,long id) {
    Toast.makeText(parent.getContext(), 
        "OnItemSelectedListener : " + parent.getItemAtPosition(pos).toString(),
        Toast.LENGTH_SHORT).show();
  }

  @Override
  public void onNothingSelected(AdapterView<?> arg0) {
    // TODO Auto-generated method stub
  }

}





Unduh source - Android-Spinner-DropDownList-Example.zip
 
Terakhir diubah:
Cara Menggunakan Toast :

Membuat Tampilan Toast Kustom
Jika pesan teks sederhana tidak cukup, Anda dapat membuat tata letak khusus untuk notifikasi roti panggang Anda. Untuk membuat tata letak khusus, tentukan tata letak tampilan, dalam XML atau dalam kode aplikasi Anda, dan meneruskan Viewobjek root ke setView(View) metode.

Cuplikan berikut berisi tata letak khusus untuk notifikasi roti panggang (disimpan sebagailayout/custom_toast.xml):

Code:
<LinearLayout xmlns: android = "http://schemas.android.com/apk/res/android" android: id = "@ + id / custom_toast_container" android: orientasi = "horizontal" android: layout_width = "fill_parent" android: layout_height = "fill_parent" android: padding = "8dp" android: background = "#DAAA" > <ImageView android: src = "@ drawable / droid" android: layout_width = "wrap_content" android: layout_height = "wrap_content " android: layout_marginRight = 
              
              
              
              
              
              
              
    
               
               
               "8dp" /> <TextView android: id = "@ + id / text" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: textColor = "#FFF" /> </LinearLayout>
Perhatikan bahwa ID elemen LinearLayout adalah "custom_toast_container". Anda harus menggunakan ID ini dan ID dari file layout XML "custom_toast" untuk mengembang layout, seperti yang ditunjukkan di sini:
Code:
val inflater = layoutInflater 
val wadah : ViewGroup = findViewById ( R . id . kustom _ roti _ kontainer ) val tata letak : ViewGroup = inflater . mengembang ( R . tata letak . kustom _ roti panggang , kontainer ) val text : TextView = tata letak . findViewById ( R 

. id . teks ) 
teks . text = "Ini roti panggang khusus" dengan ( Toast ( applicationContext ))) {     setGravity ( Gravity . CENTER _ VERTICAL , 0 , 0 )     durasi = Toast . PANJANG _L ONG     pandangan = tata letak     acara () }
Perhatikan bahwa ID elemen LinearLayout adalah "custom_toast_container". Anda harus menggunakan ID ini dan ID dari file layout XML "custom_toast" untuk mengembang layout, seperti yang ditunjukkan di sini:
Code:
val inflater = layoutInflater 
val wadah : ViewGroup = findViewById ( R . id . kustom _ roti _ kontainer ) val tata letak : ViewGroup = inflater . mengembang ( R . tata letak . kustom _ roti panggang , kontainer ) val text : TextView = tata letak . findViewById ( R 

. id . teks ) 
teks . text = "Ini roti panggang khusus" dengan ( Toast ( applicationContext ))) {     setGravity ( Gravity . CENTER _ VERTICAL , 0 , 0 )     durasi = Toast . PANJANG _L ONG     pandangan = tata letak     acara () }
Pertama, ambil LayoutInflaterdengan getLayoutInflater() (atau getSystemService()), dan kemudian kembangkan tata letak dari XML menggunakan inflate(int, ViewGroup). Parameter pertama adalah ID sumber daya tata letak dan yang kedua adalah Tampilan root. Anda dapat menggunakan tata letak yang meningkat ini untuk menemukan lebih banyak objek tampilan di tata letak, jadi sekarang ambil dan tentukan konten untuk elemen ImageView dan TextView. Akhirnya, buat roti panggang baru dengan Toast(Context)dan mengatur beberapa sifat roti bakar, seperti gravitasi dan durasi. Kemudian panggilsetView(View)dan berikan tata letak yang meningkat. Anda sekarang dapat menampilkan roti panggang dengan tata letak khusus Anda dengan menelepon show().

note :
Catatan: Jangan gunakan konstruktor publik untuk Toast kecuali Anda akan mendefinisikan tata letak dengan setView(View). Jika Anda tidak memiliki tata letak khusus untuk digunakan, Anda harus menggunakanmakeText(Context, int, int)untuk membuat Toast.
 
Terakhir diubah:
Bimabet
Activity Lifecycle
Activity (aktivitas) adalah sebuah komponen aplikasi yang menyediakan layar yang digunakan pengguna untuk berinteraksi guna melakukan sesuatu, misalnya memilih nomor ponsel, mengambil foto, mengirim email, atau menampilkan peta.Tiap Activity (aktivitas) diberi sebuah jendela untuk menggambar antarmuka penggunanya. Satu aplikasi bisa memiliki lebih dari satu Activity, dan setiap Activity memiliki siklus hidup.
1. onCreate()

Method ini dipanggil saat activity pertama kali dibuat

2. onStart()
Method ini dipanggil saat sebuah activity tampil ke pengguna

3. onRestart()
Method ini dipanggil ketika activity yang berjalan pada saat itu dihentikan sementara (paused) dan activity sebelumnya dijalankan kembali(resume). (Hasil dari method OnRestart())
4. onFreeze()
Method ini dipanggil ketika activity berada dalam keadaan freeze (tidak merespon) akibat sedang sibuk mengerjakan tugas tertentu pada sistem

5. onPause()
Method ini dipanggil ketika activity di hentikan sementara (pause) dan berikutnya ketika dijalankan kembali akan berada dalam posisi resume dan memanggil method OnResume()

6. onStop()
Method ini dipanggil ketika activity tidak lagi tampak kepada pengguna

7. onRestart()
Method ini dipanggil ketika acitivity dijalankan kembali setelah state Stop

8. onDestroy()
Method ini dipanggil sebelum activity dihancurkan (destroy) oleh sistem (baik secara manual maupun untuk kepentingan pelonggaran memori.
contoh penerapan siklus aplikasi :
1. Buat Project Baru
Buatlah project baru pada Android Studio dengan nama siklushidup

2. MainActivity.java
Jika workspace android studio sudah terbuka klik tab MainActivity.java dan tambahkan beberapa method dari siklus hidup diatas. Kita akan menggunakan overidding methodonStart(), onResume(), onPause(), dan onStop().
Untuk menambahkan methodnya tekan CTRL + O pada MainActivity.java dan pilih 4 method yang ada diatas. Jika sudah tambahkan toast agar kita bisa melihat proses siklus hidup pada aplikasi tersebut.

Code:
package badoystudio.com.siklushidup;

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

public class MainActivity extends AppCompatActivity {


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


    @Override
    protected void onStart() {
        super.onStart();
        Toast.makeText(this, "Siklus hidup onStart",Toast.LENGTH_SHORT).show();
    }

    @Override
    protected void onResume() {
        super.onResume();
        Toast.makeText(this, "Siklus hidup onResume",Toast.LENGTH_SHORT).show();
    }

    @Override
    protected void onPause() {
        super.onPause();
        Toast.makeText(this, "Siklus hidup onPause",Toast.LENGTH_SHORT).show();
    }

    @Override
    protected void onStop() {
         super.onStop();
        Toast.makeText(this, "Siklus hidup onStop",Toast.LENGTH_SHORT).show();
    }


}

RUNNING :

 
Terakhir diubah:
Jav Toys
Gaple Online Indonesia
Pasang iklan hanya lewat CONTACT US
Back
Top
We are now part of LS Media Ltd