Memahami Android Studio Project Structure
Pada tutorial Android sebelumnya, kita telah mempelajari cara-cara membuat project baru pada Android Studio.
Dalam tutorial Android kali ini, kita akan membahas tentang struktur dari project android yang telah berhasil kita create. Tujuan dari memahami struktur project android adalah untuk mengetahui fungsi atau peran dari masing-masing struktur file tersebut. Sehingga nantinya akan memudahkan kita dalam mengdevelop aplikasi android secara lebih lanjut.
Perhatikan Gambar.1 dibawah ini :
1. Main Project
Main Project merupakan isi dari keseluruhan pembentuk aplikasi android yang kita create. Pada Gambar.1 main projectnya adalah "ProjectBaru". Sebuah project di Android Studio mirip dengan Workspace pada Eclipse. Pada android studio, sebuah project dapat mengandung beberapa module. Module serupa dengan project pada Eclipse.
2. .idea
Folder .idea ini merupkan direktori setingan IntelliJ IDEA yang berisikan metada untuk project. Pada Eclipse digunakan project.properties untuk metadata.
3. Project module (app)
Folder Project module (app) merupakan folder aktual dari aplikasi android yang kita buat. Pada folder ini terdiri beberapa subdirektori :
Dalam tutorial Android kali ini, kita akan membahas tentang struktur dari project android yang telah berhasil kita create. Tujuan dari memahami struktur project android adalah untuk mengetahui fungsi atau peran dari masing-masing struktur file tersebut. Sehingga nantinya akan memudahkan kita dalam mengdevelop aplikasi android secara lebih lanjut.
Perhatikan Gambar.1 dibawah ini :
Gambar.1 |
1. Main Project
Main Project merupakan isi dari keseluruhan pembentuk aplikasi android yang kita create. Pada Gambar.1 main projectnya adalah "ProjectBaru". Sebuah project di Android Studio mirip dengan Workspace pada Eclipse. Pada android studio, sebuah project dapat mengandung beberapa module. Module serupa dengan project pada Eclipse.
2. .idea
Folder .idea ini merupkan direktori setingan IntelliJ IDEA yang berisikan metada untuk project. Pada Eclipse digunakan project.properties untuk metadata.
3. Project module (app)
Folder Project module (app) merupakan folder aktual dari aplikasi android yang kita buat. Pada folder ini terdiri beberapa subdirektori :
- build.
Folder build berisikan semua output dari module project yang kita build, seperti : compiled class dan resource, class.dex dsb.
- libs
Kondisi default dari folder libs ini adalah kosong. Pada folder ini kita dapat menambahkan librari yang berbentuk file .jar.
- src Pada folder src, terrdapat tiga subfolder yaitu : AndroidTest, main dan test. Folder src/AndroidTest untuk melakukan testing dengan melibatkan android framework, sedangkan pada folder src/tes untuk melakukan testing tanpa melibatkan android framework, artinya tidak ada pemanggilan Android API.
Folder src/main/res/layout merupakan tempat pendefinisian interface dari aplikasi yang kita bangun. Pada folder ini terdapat dua file xml, yaitu : activity_main.xml dan content_main.xml. Setiap pallete dilekatkan pada content_xml, misal : button, text field dsb. Kemudian content_main.xml akan dipanggil melalui activity_main.xml.
Graddle adalah automation build toolkit yang mengelola dependcy dari project android yang kita buat. File gradle-wrapper.properties yang dibuat ketika Anda pertama kali membuat sebuah proyek Android Studio, menentukan versi Gradle yang kita gunakan:
#Wed Oct 21 11:34:03 PDT 2015 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip
Secara default, level file proyek Gradle menggunakan buildscript (script yang telah dibuild) untuk menentukan repositori Gradle dan dependensi. Hal ini memungkinkan proyek yang berbeda untuk menggunakan versi Gradle yang berbeda juga. Graddle mendukung repositori yang mencakup JCenter, Maven Central, atau Ivy. Contoh ini menyatakan bahwa membangun script menggunakan repositori JCenter dan ketergantungan artefak classpath yang berisi plugin Android untuk Gradle versi 1.5.0.
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.5.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } }
apply plugin: 'com.android.application' android { compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig { applicationId "com.ilmudetil_blogspot.mytesting" minSdkVersion 7 targetSdkVersion 22 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:22.2.0' compile 'com.android.support:design:22.2.0' }
5. External libraries
Bagian ini menyatakan untuk librari yang diperlukan dalam mendukung pembuatan aplikasi android. Misalnya kita membuat aplikasi android yang menerapkan image processing, kita dapat menggunakan library ImageProccessingLib yang nantinya akan berada pada folder External