Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Mobile Programming Pertemuan 3 Presented by Mulyono

Presentasi serupa


Presentasi berjudul: "Mobile Programming Pertemuan 3 Presented by Mulyono"— Transcript presentasi:

1 Mobile Programming Pertemuan 3 Presented by Mulyono
Poltek NSC Surabaya 1

2 Komponen Aplikasi Android
2 Komponen Aplikasi Android Activities Intents Services Content Providers Broadcast Receivers

3 Activity Activity pada Android merupakan satu tampilan / aktivitas pada aplikasi. Setiap aplikasi android bisa terdiri dari multi activity. Home Activity ditampilkan saat aplikasi dijalankan. Masing2x Activity dapat saling bertukar data. Hello World! Android HelloWorld Button1

4 Setiap Activity dibuat dari beberapa komponen Grafis.
Komponen2x grafis tsb (biasa disebut view) dapat berinteraksi dengan user melalui event (Button, Form, dll) Ada 2 cara membuat komponen grafis Secara program (Programatic Approach) Secara deklarasi xml (Declarative Approach)

5 Declarative Approach Contoh: < TextView android.text=@string/hello”
android:layout_width=“fill_parent” android:layout_height=“wrap_content” />

6 Programatic Approach Contoh: TextView text= new TextView();
text.setText(“Hello world”);

7 Aplikasi Android menggunakan kedua metode diatas
DECLARATIVE APPROACH Define the Application layouts and resources used by the Application (e.g. labels). XML Code PROGRAMMATIC APPROACH Manages the events, and handles the interaction with the user. Java Code 7

8 Activity Manager Activity Manager berfungsi untuk membuat, menghapus dan mengatur activity. Kondisi activity bisa menjadi starting, running, stopped, destroyed, paused Activity memiliki life cycle yang terstruktur

9 public class MyApp extends Activity { public void onCreate() {
public class MyApp extends Activity { public void onCreate() { ... } public void onPause() { ... } public void onStop() { ... } public void onDestroy(){ ... } …. } Called when the Activity is created the first time. Called when the Activity is partially visible. Called when the Activity is no longer visible. Called when the Activity is dismissed.

10 Intents Intents: Mrpk pesan asynchronous untuk mengaktifkan komponen utama Android (e.g. Activities). Explicit Intent  Perpindahan Activity Komponen asal (Activity login) ke tujuan (Activity welcome) yang berbeda LOGIN Welcome Marco! marco Activity1 PASSWORD Activity2 ********** Login Intent Login

11 Implicit Intent  Perpindahan Activity Komponen asal (Activity 1) ke tujuan (Activity 2) masih sama Activity tapi berbeda datanya misalnya melihat video dll Activity2 Multiple choices might be available to the user! } Intent- Filters Activity1 View Implicit Intent Activity2

12 Services Services: Seperti Activity tetapi jalan di background, tanpa perlu user interface. Digunakan untuk task non interaktif (e.g. networking). Life cycle services terdiri dari 3 kondisi : Starting Destroyed onCreate() onStart() onDestroy() Running (on background) 12

13 Content Provider Setiap aplikasi Android mpny database (apakah disimpan di file atau database SQLite). Content Providers: Mrpk interface yang digunakan untuk mengakses data diantara aplikasi yang berbeda. insert() APP update() DB Content Provider delete() query() e.g. Photo Gallery 13

14 Broadcast Receiver Broadcast Receivers: Penerima signal aplikasi yang berasal dari eksternal seperti telpon masuk dll. Type Notifikasi : Call Telpon masuk, SMS terkirim, deteksi Wifi network, dll

15 Struktur Source Code Android pada Eclipse
1515 Struktur Source Code Android pada Eclipse Dengan Package Explorer, Dapat dilakukan explorasi terhadap file-file yang terdapat pada project Android.

16 Secara umum sebuah project Android terdiri dari beberapa folder dan file utama yaitu:
src gen Android2.3.3 (tergantung pada target plaftform) assests res File AndroidManifest.xml default.properties (otomatis dibuat ADT) proguard.cfg (otomatis dibuat ADT) R.java File proguard.cfg akan digunakan pada saat anda melakukan build aplikasi pada “release mode”, dimana dilakukan proses shrinks, optimizes, dan obfuscates kode anda dengan menghilangkan kode yang tidak digunakan, menganti nama class, fields, dan method dengan nama semantik.

17 Folder res Folder res merupakan tempat dimana kita menempatkan segala sumber daya yang akan digunakan pada aplikasi seperti: Layout Gambar (icon) String dan Nilai variabel Sumber daya ini digunakan pada saat pembuatan layout, class java maupun manifest.

18 Drawable resources File-file gambar (icon) ditempatkan pada folder:
drawable-hdpi (72x72) drawable-mdpi (48x48) drawable-ldpi (36x36) Sesuai dengan dpi masing-masing. Kita perlu menyediakan icon berbagai ukuran untuk mengantisipasi kemungkinan aplikasi anda diinstalasi pada perangkat dengan tampilan dpi yang berbeda. Konvensi penamaan: ic_, ic_launcher_, ic_menu_, ic_stat_notify_, ic_tab_, ic_dialog_

19 Perbandingan dpi Icon Icon ditampilkan pada layar dengan dpi berbeda
Icon(36x36, 48x48, 72x72) menurut masing-masing dpi

20 Value resources Values resource merupakan file XML yang berisi deklarasi nilai untuk array, color, dimension, dan string. File XML tersebut ditempat pada folder res/values <?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, HelloWorldActivity!</string> <string name="app_name">HelloWorld</string> </resources>

21 Layout Resources Layout resources merupakan rancangan antarmuka Activity pada program Android yang ditulis dalam format file XML. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_height="wrap_content" /> </LinearLayout>

22 Folder Assets Direktori “assets” dapat digunakan untuk menyimpan raw asset file, dan anda dapat mengakses data melalui AssetsManager dengan metod getAssets(). Contoh: InputStream is; try { is = getAssets().open("sample.txt"); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String line = null; while ((line = br.readLine()) != null) { Log.e("wtf", line); } br.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace();

23 R.java File R.java ini merupakan hasil generate dari source code project secara otomatis, dan tidak diperbolehkan untuk melakukan perubahan pada file ini. /* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */ package com.example; public final class R { public static final class attr { } public static final class drawable { public static final int icon=0x7f020000; public static final class layout { public static final int main=0x7f030000; public static final class string { public static final int app_name=0x7f040001; public static final int hello=0x7f040000;

24 Source Code Semua source code aplikasi anda ditempatkan pada folder src, dibawah nama package anda (com.hendra). Contoh: package com.example; import android.app.Activity; import android.os.Bundle; public class HelloWorldActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); }

25 Android Manifest Android Manifest adalah file XML yang berisi informasi terkait dengan aplikasi anda seperti Activity dan Permission. Contoh: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="10" /> <application <activity android:name=".HelloWorldActivity" <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> Activity “.HelloWorldActivity” ini adalah merupakan aktivitas utama atau dengan kata lain merupakan titik masuk ke aplikasi (android.intent.action.MAIN), dan Activity ini akan ditempatkan pada lokasi Launcher aplikasi (android.intent.category.LAUNCHER) sehingga pemakai dapat mengaktifkan aplikasi.

26 Tugas Buatlah aplikasi Android yang menampilkan Nama, NIM, dan Alamat Anda! Lakukan explorasi terhadap struktur project aplikasi tersebut dengan mempelajari masing- masing folder pada project. Tuliskan kembali dalam kata-kata anda sendiri struktur project android Anda terkait dengan folder /src, /gen, /res/drawable, /res/layout, /res/values.


Download ppt "Mobile Programming Pertemuan 3 Presented by Mulyono"

Presentasi serupa


Iklan oleh Google