Mengenal Struktur Folder Android Studio

Android Studio | nilawilda

Manifests (app/manifest/AndroidManifest.xml)
Pada folder ini, berisi AndroidManifests.xml. Pada bagian ini berisi tentang package (paket) pada projek kita. Xml ini berisi tentang Activity ,Services ,User Permission, Content Provider dll.

Jika kita membuat sebuah activity baru, pastikan nama activity tersebut sudah berada didalam bagian xml ini. serta jika aplikasi kalian membutuhkan koneksi Internet , kalian harus mengisi User Permission di file ini. Mengganti judul ,icon ,gaya theme ,serta membuat Splashcreen dll.

Kenapa harus ada? jawabannya simple. kalau kalian tidak memberi permission atau memberi nama activity disini, maka activity atau permission tersebut tidak akan terbaca, dan activity yang kita panggil juga tidak akan bisa terbuka.

Berikut ini adalah isi dari AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="aluf.android.workshop"
>

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
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>

Penjelasanya :
 
 <manifest> 
Manifest berisi nama package di Activity class kalian.yang merupakan element root di file AndroidManifest.xml.
 
<application>
Application merupakan sub element dari manifest. Disini berisi tempat pendeklarasian tentang Aplikasi kalian ,seperti icon ,judul aplikasi ,gaya theme.

  • android:allowBackup= untuk mengizinkan aplikasi untuk merestore infrastructure
  • android:icon : pendeklarasian icon launcher semua komponen Aplikasi.
  • android:label : pendeklarasian nama judul semua komponen Aplikasi.
  • android:theme : pendeklarasian tema semua komponen Aplikasi.

<activity> 
 Activity disini merupakan sub element dari application , yang berisi tempat meregistrasi Activity-Activity baru.
android:name : mendeklarasikan nama dari class Activity.


Java (app/packagename/MainActivity.java)
 Pada folder kedua yaitu Java , yang terdapat nama package berisi file class Activity java, yang bisa kita ambil contoh bernama MainActivity.java. Seperti yang terlihat pada gambar berikut ini:

MainActivity.Java | nilawilda

Resource (app/res/drawable/filegambar)
Di folder ketiga yaitu folder drawable ,yang merupakan isi dari folder resource.Folder drawable digunakan untuk menyimpan file-file gambar berformat .jpg atau .png.


Resource (app/res/layout/activity_main.xml)
Di folder keempat yaitu layout ,yang merupakan isi dari folder resource. Folder layout digunakan untuk menyimpan file-file layout yang merupakan tempat membuat komponen User Interface (antarmuka ). Seperti yang terlihat pada gambar berikut ini:

activity_main.xml | nilawilda

Resource (app/res/mipmap/ic_launcher
Di folder kelima yaitu mipmap yang merupakan isi dari folder resource. Folder mipmap digunakan untuk menyimpan file , icon launcher aplikasi yang bernama ic_launcher.


Resource (app/res/values)
Di folder keenam yaitu values , yang merupakan isi dari folder resource.
Folder values digunakan untuk menyimpan file-file seperti string.xml , styles.xml , dan color.xml.

string.xml berisi resource data-data text yang akan digunakan untuk komponen Aplikasi.
 
 styles.xml berisi resource tentang tema seperti Toolbar, yang akan digunakan untuk komponen Aplikasi.
 
 color.xml. berisi resource warna-warna dari file styles.xml.


Gradle
Gradle
adalah build tools yang digunakan pada Android Studio, untuk mencompile-merun project Aplikasi yang akan kalian buat.Jika di Eclipse build tools yang digunakan adalah Ant.

Pada build.gradle digunakan untuk mengidentifikasi versi OS ,SDK,library yang akan kalian gunakan pada Aplikasi.

Baiklah, sekian dulu catatan hari ini. Semoga bermanfaat :)
Happy Code guys…..

Salam FemaleDev :)