Project Aplikasi Android (Handoyo_201122091)

28
SERBA SERBI ANDROID DAN PROJECT APLIKASI ANDROID Oleh: Handoyo 201122091 FAKULTAS TEKNIK INFORMATIKA UNIVERSITAS SURAKARTA 2012

Transcript of Project Aplikasi Android (Handoyo_201122091)

Page 1: Project Aplikasi Android (Handoyo_201122091)

SERBA SERBI ANDROID

DAN PROJECT APLIKASI

ANDROID

Oleh:

Handoyo

201122091

FAKULTAS TEKNIK INFORMATIKA

UNIVERSITAS SURAKARTA

2012

Page 2: Project Aplikasi Android (Handoyo_201122091)

PENDAHULUAN

1. LatarBelakang

Android adalah sebuah system operasi dengan kernel linux yang umumnya berjalan pada perangkat dengan processor ARM dan bisaanya diimplementasikan pada perangkat telepon selular atau tablet PC bahkan PC yang sudah ada pada masa kini dengan storage yang relative berukuran tidak terlalu besar. Akhir-akhir ini begitu banyak perangkat komunikasi baik berupa telepon selular maupun tablet PC yang beredar di pasaran menggunakan system operasi Android.

Seringkali kita tidak puas dengan software bawaan yang dibangun oleh vendor, sehingga kita terdorong untuk menambahkan aplikasi-aplikasi yang dapat dijalankan pada system operasi Android.Untuk menambahkan sebuah aplikasi kedalam ponsel yang berbasis Android, tentunya tidaklah semudah kalau aplikasi itu dibangun dengan menggunakan sebuah PC. Maka dari itu dibutuhkan sebuah metode yang dinamakan Cross Compile yaitu metode membuat program yang ditujukan untuk platform tertentu tapi proses pengerjaan compilingnya dilakukan di platform lain. Personal Komputer baik itu notebook atau netbook yang banyak beredar mempunyai platform linux atau windows dan merupakan dua platform yang sangat berbeda.Sehingga jika kita membuat program di windows, program itu tidak bias dijalankan di linux. Begitu juga sebaliknya. Cara lama adalah kita membuat program untuk platform tertentu dalam lingkungan platform tersebut.Misalnya dalam membuat sebuah aplikasi untuk windows harus dengan perangkat windows, dan menggunakan compiler yang untuk windows.Begitu juga dengan Linux dengan compiler linuxjuga. Dengan metode cross compiling, kita bias dengan bebas membuat aplikasi windows di linux. Sehingga kita tidak direpotkan lagi dengan keterbatasan platform tersebut. Meski demikian, cross compiling hanya sebatas pada cara kita dapat membuat program atau aplikasi untuk platform tersebut, namun bukan berarti kita dapat menjalankan program tersebut di platform yang bukan seharusnya. Misal kita bikin aplikasi windows di linux, memang kita bias membuat programnya tapi untuk menjalankannya kita harus pakai “alatbantu” semacam emulator. 3

Tapi yang jelas, kita sudah mendapatkan kemudahan untuk membuat aplikasi untuk platform-platform lain tanpa harus punya platform tersebut.

2. Tujuan Tujuan project ini adalah untuk mengetahui perkembangan android dan seluk beluknya

serta membuat sebuah aplikasi sederhana yang bisa ditanam pada perangkat dengan platform Android dengan metode cross compile di linux.

Page 3: Project Aplikasi Android (Handoyo_201122091)

ANDROID

1. Sejarah Android

Android merupakan salah satu sistem operasi yang dewasa ini semakin terkenal. Android merupakan software stack yang digunakan oleh perangkat mobile yang mencakup sistem operasi, middleware, dan aplikasi kunci, pertama kali didesain oleh Andy Rubin.

Android sendiri merupakan sistem operasi yang digunakan untuk telepon selular yang berbasiskan Linux. Android menyediakan platform yang bersifat terbuka sehingga mampu dimanfaatkan pengguna untuk mengembangkan aplikasi mereka sendiri untuk digunakan oleh mobile device.

Android Inc. kemudian dibeli oleh Google Inc, untuk mengembangkan Android mereka membentuj Open Headset Alliance yang berisikan berbagai perusahaan besar seperti Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. Terdapat dua badan khusus dostributor Android yaitu yang mendapat dukungan penuh dari Google yaitu Google Mail Service (GSM) dan yang sama sekali tidak didukung oleh Google yaitu Open Handset Distribution.

Android pertama kali diterapkan sebagai operasi sistem pada perangkat mobile HTC Dream yang dirilis 22 Oktober 2008. Selanjutnya Android mengalami beberapa pengembangan.

Android versi 1.1

Dikeluarkan oleh Google pada 9 Maret 2009, dilengkapi dengan penambahan fitur berupa pembaruan estetis pada aplikasi, jam alarm, voice search (pencarian suara), pengiriman pesan dengan Gmail, dan pemberitahuan email.

Android versi 1.5 (Cupcake)

Tidak berselang lama dari 9 Maret 2009, yaitu pada Mei 2009, Google kembali merilis telepon seluler dengan menggunakan Android tetapi Android yang kini digunakan merupakan versi 1.5 yang dikenal dengan nama Cupcake. Kemampuan tambahan dari Android 1.1 adalah berupa penambahan fitur merekam dan menonton video dengan menggunakan kamera selular, menggugah video pada website YouTube dan gambar ke Picasa langsung melalui device mobilenya, dukungan Bluetooth A2DP, mampu terhubung secara otomatis pada bluetooth headseat, menampilkan animasi layar, dan menampilkan layar keyboard.

Android versi 1.6 (Donut)

Donut dirilis pada September 2009 dengan perbaikan sistem dari Android berupa proses pencarian yang lebih baik, penggunaan baterai indikator dan kontrol applet VPN, penyediaan galeri yang memungkinkan pengguna dapat menghapus foto dari koleksi foto yang tersimpan di galerinya, terintegrasinya kamera, camcorder, dan galeri, kemampuan dial kontak, teknologi text to change speech.

Page 4: Project Aplikasi Android (Handoyo_201122091)

Android versi 2.0/2.1 (Eclair)

Eclair diluncurkan pada 3 Desmber 2009, menitikberatkan pada pengoptimalkan hardware, peningkatan Google Maps 3.1.2, browser yang telah mendukung pendukung HTML5, penambahan flash untuk kamera dengan 3.2 MP, digital Zoom dan penyediaan Bluetooth 2.1. Android versi 2.2 (Froyo : Frozen Yoghurt)

Diluncurkan pada 20 Mei 2010, Froyo diluncurkan dengan penambahan kemampuan berupa kemampuannya untuk mendukung Adobe Flash 10.1, kecepatan kinerja yang menigkat, integrasi V8 JavaScript yang digunakan oleh Google Chrome yang mampu mempercepat kemampuan rendering browser, kemampuan aplikasi dalam SD Card, WiFi Hotspot portabel, dan kemampuan auto update pada Androis Market.

Android versi 2.3 (Gingerbread)

Pada Android versi 2.3 yang dirilis pada 6 Desember 2010. peningkatan dilakukan dari sisi fungsi copy paste, disein ulang pada user interface, dukungan format video VP8 dan WebM, efek audia tambahan seperti equalization dan bass boost, kemapuan tambahan yang mendukung Near Field Communicatin (NFC). dan mampu mendukung penggunaan kamera lebih dari satu. Android versi 3.0/3.1 (Honeycomb)

Versi 3.0 ini dirancang khusus untuk digunakan pada tablet, mendukung penggunaan android pada layar dengan ukuran lebih besar, oleh karena itu terdapat perubahan pada User Interface agar sesuai digunakan pada tablet. Honeycomb mendukung pemakaian multi prosesor dan akselerasi hardware untuk grafis. Tablet pertama yang mengimplemantsikan sistem operasi Android versi 3.0 ini adalah Motorola Xoom. Penggunaan Android versi 3.0 ini mulai masuk pasar Indonesia pada Mei 2011. Android versi 4.0 (Ice Cream Sandwich)

Merupakan pengembangan Honeycomb yang kini dipakai untuk smartphone. Diumumkan pada 19 Oktober 2011 dengan penambahan fitur berupa penggunaan deteksi wajah untuk membuka kunci telepon, jaringan data pemantauan pengunaan dan kontrol, terintegrasinya kontak dengan jaringan sosial media, pearangkat tambahan untuk melakukan bidang fotografi, pencarian email secara offline, dan penayampaian informasi menggunakan NFC.

Kelebihan dan Kekurangan Android

Kelebihan Android

Beberapa kelebihan dan keunggulan Android adalah : - Android bersifat open source, karena berbasis linux. Sehingga banyak developer yang ingin

mengembangkan Android. - Merupakan realisasi dari Cloud Computing, karena semua fitur Google sudah terintegrasi

dengan mobile yang terpasang Android. Contact pada telepon seluler pun akan tersimpan secara otomatis pada account google.

- Dengan tersedianya Android Market, cara mendapatkan OS Android ini pun terbilang mudah. - Fleksibel, karena bisa digunakan pada banyak platform hardware. - Android memberikan pilihan untuk memilih Hardware yang digunakan. - Android dapat mengubah Pengaturan dengan Cepat

Page 5: Project Aplikasi Android (Handoyo_201122091)

- Android dapat menjalankan beberapa Aplikasi pada waktu yang bersamaan atau disebut juga Multitasking.

- Kemudahan dalam Notifikasi, karena setiap ada SMS, Email, atau bahkan artikel terbaru dari RSS Reader, akan selalu ada notifikasi di Home Screen Ponsel Android.

Kekurangan Android

Adapun beberapa kekurangan Android adalah : - Keterbergantungan pada koneksi internet yang simultan. - Kurang tersedianya Aplikasi tambahan pihak ketiga.

2. Arsitektur Android Sistem operasi android memilik 4 lapisan (layer) yang merupakan komponen sistem android.

Gambar 1 Layer pada Sistem Operasi Android

Page 6: Project Aplikasi Android (Handoyo_201122091)

setiap lapisan yang ada berperan dalam fungsi-fungsi spesifik dari sistem operasi, sebagai

berikut:

1. Linux Kernel

Lapisan yang berada pada lapisan paling bawah adalah kernel. Google membangun sistem operasi android menggunakan kernel linux 2.6. kernel linux ini mencakup manajemen memori, pengaturan keamanan, manajemen ketersediaan tenaga, dan beberapa driver hardware. Layer kernel menjadi layer abstraksi yang menjadi penghubung antara hardware dan software. Android bukan linux, android hanya berjalan di atas kernel linux 2.6. linux merupakan sistem operasi terbuka yang ahli dalam hal manajemen memori dan manajemen proses. android hanya menyediakan keamanan, manajemen memori, manajemen proses, jaringan dan driver. Linux menyediakan driver layar, kamera, keypad, wifi, flash memory, audio, dan IPC. 2. Android Run Time

Android runtime berisi core libraries dan dalvik virtual machine. Core libraries berisi

seluruh inti library Java. Android menempatkan sebagian besar fungsi-fungsi yang ada pada

library dasar bahasa pemrograman java di dalam librarynya. Dalvik adalah java virtual machine

yang berguna untuk optimalisasi sistem android pada telepon selular. dalvik dibuat agar device

yang digunakan dapat menjalankan multi virtual machine. Virtual machine ini akan

mengeksekusi file dengan format dalvik executable (.dex) yang telah dioptimasi untuk

menggunakan minimal memory footprint. virtual machine ini akan menjalankan class-class yang

dicompile menggunakan compiler java yang selanjutnya akan diubah formatnya menjadi format

.dex. Dalvik virtual machine menggunakan kernel linux untuk menjalankan fungsi-fungsi seperti

threading dan low-level memory management.

3. Libraries

Android menyediakan satu set library-library dalam bahasa C/C++ yang dapat digunakan

oleh berbagai komponen yang ada pada sistem android. Library ini dapat diakses oleh

programmer melalui android application framework.

● System C Library

Didapatkan dari turunan implementasi library standar C (libc) milik BSD, dioptimasi untuk

device embedded berbasis linux.

● Media Libraries

Library ini mendukung playback dan recording dari berbagai format audio dan video

populer, seperti MP3, ACC, JPG, MPEG4, H.264, AMR, dan PNG.

● Surface Manager

Mengatur akses pada dispaly dan lapisan composites 2D dan 3D graphic dari berbagai

aplikasi.

● Libwebcore

Web browser engine yang mensupport android browser maupun embeddable web view.

● SGL

Engine Grafik 2D yang dasar.

Page 7: Project Aplikasi Android (Handoyo_201122091)

● 3D libraries

Library ini menggunakan hardware akselerasi 3D dan highly optimized 3D software

rasterizer

● Free Type

Bitmap dan vector font rendering.

● SQLit

Engine database relasional yang ringan namun powerful untuk semua aplikasi.

Library ini bukan merupakan aplikasi yang dapat berjalan sendiri. Library dapat digunakan

oleh program yang ada di level atasnya. namun sejak versi 1.5, programmer dan developer

bisa menggunakan library sendiri menggunakan Native Development Toolkit (NDK).

4. Applications Framework

Lapisan application framework mencakup program untuk mengatur fungsi-fungsi dasar

smartphone. Application Framework merupakan serangkaian tool dasar seperti alokasi

resource smartphone, aplikasi telepon, pergantian antar – proses atau program, dan pelacakan

lokasi fisik telepon. Programmer mendapatkan akses penuh untuk memanfaatkan API-API

(Android Protocol Interface) yang juga digunakan core applications. Arsitektur aplikasi

didesain untuk menyederhanakan pemakaian kembali komponen-komponen, setiap aplikasi

dapat menunjukkan kemampuannya dan aplikasi lain dapat memakai kemampuan tersebut.

Mekanisme yang sama memungkinkan pengguna mengganti komponen-komponen yang

dikehendaki. Di dalam semua aplikasi terdapat servis dan sistem yang meliputi :

● Satu set Views yang dapat digunakan untuk membangun aplikasi meliputi lists, grids, text boxes, buttons, dan embeddable web browser.

● Content Providers yang memungkinkan aplikasi untuk mengakses data dari aplikasi lain (misalnya Contacts), atau untuk membagi data yang dimilikinya.

● Resource Manager, menyediakan akses ke non-code resources misalnya localized strings, graphics, dan layout files.

● Notification Manager yang memungkinkan semua aplikasi untuk menampilkan custom alerts pada the status bar.

● Activity Manager yang memanage life cycle of dari aplikasi dan menyediakan common navigation backstack.

5. Applications

Berada di tingkatan paling atas. Di lapisan ini dapat ditemukan fungsi-fungsi dasar

smartphone seperti menelepon dan mengirim pesan singkat, menjalankan web browser,

mengakses daftar kontak, dan lain-lain. layer ini merupakan layer yang paling sering diakses

oleh pengguna melalui user interface.

Page 8: Project Aplikasi Android (Handoyo_201122091)

3. File System pada Android File system pada Android berstandar pada kernel Linux. Struktur file yang digunakan

sama persis dengan sistem operasi Linux. File system yang sering digunakan pada android terbagi kedalam beberapa file system, yaitu :

1. Root

Mount Point : / Device : Linux Kernel, RAM

Layaknya linux, semua filesystem akan berada di dalam Root. Tidak seperti Windows yang memilah-milahnya ke dalam drive. Dalam linux semua device dapat diakses melalui filesystem dan menggunakan system stream, baik itu penyimpanan, display, ataupun input dan output device.

2. System

Mount Point : /system Device : Internal Memory

Partisi ini berisi file-file system, dimana file-file system operasi Android dan aplikasi-aplikasi bawaannya disimpan. Partisi system ini selalu disimpan dalam Internal Storage (storage pada ponsel), dan tidak dapat diubah isinya kecuali telah dilakukan rooting. Berikut adalah beberapa file-file yang berada pada partisi ini :

a. /data/app – Berisi file-file .apk dari aplikasi-aplikasi yang diinstal, baik itu dari market

atau dari aplikasi yang diinstall secara manual. b. /data/data – Berisi file-file data aplikasi, baik itu aplikasi system ataupun yang diinstall

oleh user. Isi direktori ini memuat berbagai macam data yang disimpan oleh aplikasi, seperti save game, database (sqlite), juga file-file assets dan resource dari aplikasi tersebut. Direktori inilah yang biasanya membesar dan bila kita menginstall banyak aplikasi, maka Low Disk Space biasanya muncul dikarenakan isi direktori ini sudah terlalu besar.

c. /data/dalvik-cache – Merupakan tempat penyimpanan file-file .dex untuk dijalankan secara langsung oleh dalvik virtual machine.

3. Boot

Mount Point : /boot Device : Internal Memory

Partisi ini memuat Kernel Linux dan merupakan partisi awal yang akan menerima sinyal booting dari device. Kernel inilah yang secara langsung mengakses hardware pada device kita.

4. SDCard

Mount Point : /sdcard, /mnt/sdcard Device : MMC / External Storage Layout : FAT32

Page 9: Project Aplikasi Android (Handoyo_201122091)

Berbeda dengan partisi-partisi lainnya. Partisi ini adalah area bebas, dimana kita dapat melakukan perubahan sesuai dengan keinginan. Kita dapat menyimpan lagu, foto, dan video di dalamnya, kita juga dapat menggunakannya untuk penyimpanan backup data, dan dapat juga digunakan sebagai USB drive.

5. SD-EXT

Merupakan modifikasi yang bisa dilakukan pada Custom ROM dimana bila internal Memory tidak mencukupi untuk memuat data-data penting system, maka dilakukanlah pem-partisi-an pada memory card kita. Dimana memory card kita akan dibagi menjadi 2 partisi, partisi pertama berformat FAT32 yang akan dijadikan sebagai /sdcard, dan partisi kedua berformat EXT(x).

Inilah kehebatan Linux dan Android, dimana device yang memiliki umur yang tua yang tidak dapat lagi memuat system Android yang semakin hari semakin berukuran besar dan tidak dapat dimuat di dalam Internal Memory yang memiliki keterbatasan ukuran, dapat tetap mengikuti perkembangan zaman.

SD-EXT ini memanfaatkan fasilitas Symlink yang didukung oleh Linux, dimana kita dapat melakukan symbolic link (memetakan) suatu file atau direktori dari satu partisi menuju partisi lainnya. Contohnya, kita memiliki direktori /sd-ext/app_s pada SD-EXT, dan lazimnya semua aplikasi system disimpan dalam /system/app, maka kita dapat melakukan symlink dari /sd-ext/app_s menuju /system/app, sehingga ketika system mengakses file/direktori dari /system/app maka system akan membaca file/direktori itu dari /sd-ext/app_s.

Beberapa pengembangan SD-EXT ini telah dilakukan oleh beberapa developer dan custom-ROM chef, seperti app2sd, data2sd, dan Modifikasi yang saya buat sendiri AD2SDX ( Lihat di XDA-Developers ). Dimana mod-mod tersebut memiliki fungsinya masing-masing yang sebenarnya memiliki tujuan yang sama, yaitu memanipulasi filesystem yang terbatas agar dapat memanfaatkan penyimpanan data system di dalam External Memory.

6. Dev, Tmp, Proc

Direktori-direktori tersebut bukanlah merupakan Storage, tapi merupakan virtual. dimana /dev merupakan direktori yang memuat semua stream hardware, /tmp merupakan penyimpanan temporary pada ram, dan/proc merupakan direktori untuk menyimpan informasi proses yang berjalan.

Seperti halnya linux pada PC, semua akses aplikasi menuju hardware dapat dilakukan dengan mengakses stream pada /dev, seperti halnya kita mengakses file biasa. Kita dapat mengakses framebuffer display secara langsung pada file /dev/graphics/fb0, atau mengakses input device secara langsung pada /dev/input. Sistem Android mengakses hardware melalui /dev ini, dimana /dev ini lah yang diatur oleh Kernel Linux.

Kita juga dapat mengetahui ID suatu proses dan proses apa saja yang sedang berjalan pada direktori /proc. dan dapat juga menyimpan file temporary pada direktori /tmp untuk dilakukan proses selanjutnya.

Hanya saja direktori-direktori ini hanya dapat diakses bila Anda memiliki permission root.

Page 10: Project Aplikasi Android (Handoyo_201122091)

4. Manajemen Memori pada Android Proses dapat dibunuh menurut tingkat prioritasnya. proses dengan tingkat prioritas yang

lebih rendah akan dibunuh terlebih dahulu. Prioritasnya juga dapat dipengaruhi oleh

ketergantungan antar proses. Semua aplikasi Android akan tetap berjalan dan berada dalam

memori sampai sistem membutuhkan resource untuk aplikasi lain

Gambar 2 State Aplikasi

Sangat penting untuk merancang aplikasi dengan benar untuk memastikan bahwa prioritas sesuai untuk melakukan pekerjaan itu. Jika tidak, aplikasi tersebut bisa dibunuh ketika berada pada sesuatu yang penting.

Berikut rincian masing-masing state dari aplikasi yang ditunjukkan pada gambar di atas :

Active Processes Active (foreground) merupakan proses aplikasi hosting yang memugkinkan komponen untuk berinteraksi dengan pengguna. Merupakan upaya Android untuk selalu responsif. Proses Active meliputi: * Aktivitas yang dilakukan pada keadaan sistem operasai berada pada kondisi “active”, yaitu proses dasar yang memungkinkan terjadinya event yang diminta oleh user. * Baik kegiatan, service, atau penerimaan broadcast yang sedang melaksanakan event handler

onReceive.

* Layanan saat melaksanakan onStart, OnCreate, atau event handler onDestroy.

Page 11: Project Aplikasi Android (Handoyo_201122091)

Visible Processes Visible, Kegiatan hosting bertipe ini memungkinkan proses terlihat, tetapi mereka tidak dapat menanggapi inputan dari pengguna. Proses ini umumnya sangat sedikit, mereka akan berhenti bekerja pada keadaan ekstrim dan proses selanjutnya akan dilakukan oleh proses yang aktif..

Started Service Processes, Layanan ini mendukung proses berkelanjutan, namun dengan tidak menampilkan antarmuka. Started Service Process tidak memungkinkan interaksi langsung dengan pengguna, oleh karena itu proses dengan tipe ini menerima prioritas yang lebih rendah di banding aktivitas “active”. Proses ini tidak akan dihentikan kecuali apabila sumber daya yang mereka butuhkan sama dengan proses “active”.

Background Processes, aktivitas proses hosting yang tidak terlihat dan yang tidak memiliki layanan yang telah dimulai dianggap sebagai proses background. pada umumnya terdapat banyak proses background yang akan dibunuh oleh anroid menggunakan pola last seen first killed untuk mendapatkan sumber daya untuk proses foreground.

Empty Processes Untuk meningkatkan kinerja sistem secara keseluruhan, Android sering mempertahankan aplikasi dalam memori setelah mereka telah mencapai akhir lifetime. Android mengelola cache untuk meningkatkan waktu start-up aplikasi ketika mereka dijalankan kembali. Proses ini dibunuh secara rutin sesuai kebutuhan. Cara menggunakan memori dengan efisien

Android mengelola aplikasi yang berjalan di belakang (belakang). Android menutup aplikasi bila sistem membutuhkan memori dengan jumlah yang lebih banyak. Namun, kebanyakan pengguna android tidak puas dengan cara ini, karena apabila terlalu banyak proses yang dilakukan dapat menyebabkan penurunan kinerjai. Kita dapat menggunakan task manager untuk mengelola memori dengan lebih efisien.

Page 12: Project Aplikasi Android (Handoyo_201122091)

TAHAP PEMBUATAN APLIKASI

1. Tahap Persiapan

a. Kebutuhan Perangkat :

PC / Laptop Sistem Operasi : Linux Ubuntu Java 5 / Java 6 Kabel serial Devkit8000 Sources bisa diunduh di: http://192.168.1.115/downloads/devkit8000

b. Paket Pendukung pada Ubuntu

$ sudo apt-get install add-apt-repositery $ sudo add-apt-repositery "deb http://archive.canonical.com/ lucid partner" $ sudo add-apt-repository "deb-src http://archive.canonical.com/ ubuntu lucid partner" $ sudo apt-get update $ sudo apt-get install git-core gnupg sun-java6-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev minicom gtkterm tftpd uboot-mkimage expect $ sudo update-java-alternatives -s java-6-sun

c. Mempersiapkan Source

Menggunakan Repo Pre-package Unduh paket $ mkdir rowboat-android $ cd rowboat-android $ Download the pre-packaged repo from http://software-dl.ti.com/dsps/ dsps_public_sw/sdo_tii/TI_Android_DevKit/TI_Android_GingerBread_2_3_4_D evKit_2_1/index_FDS.html $ tar -xvzf XXXX.tar.gz $ tar -zxvf beagleboard-rev-c4.tar.gz $ cd XXXX cd beagleboard-rev-c4 $ ./.repo/repo/repo sync –local-only

d. Hasil Source

Android file system Kernel Linux Android (pada direktori kernel) u-boot atau boot loader (pada directory u-boot) x-loader (pada direktori x-loader) Toolchain

e. Setup Toolchain

Pergi ke direktori 'Toolchain' $ cd ~/toolchain/ Install toolchain $ tar xjvf toolchain-arm-xxx.tar.bz2 Export ke Path $ export PATH=~/toolchain/arm-android-eabi-xxx/bin:$PATH

Page 13: Project Aplikasi Android (Handoyo_201122091)

f. Kompilasi Silang Source

Kompilasi x-loader Pergi ke direktori x-loader Lalu kompilasi $ make CROSS_COMPILE=arm-android-eabi- distclean $ make CROSS_COMPILE=arm-android-eabi- omap3beagle_config $ make CROSS_COMPILE=arm-android-eabi- Manfaatkan tools 'signGP' $ ./signGP ./x-load.bin $ mv x-load.bin.ift MLO Kompilasi boot loader (u-boot) $ make CROSS_COMPILE=arm-android-eabi- distclean $ make CROSS_COMPILE=arm-android-eabi- omap3_devkit8000_config $ make CROSS_COMPILE=arm-android-eabi- Hasil langkah tsb adalah : file 'u-boot.bin Kompilasi kernel Pergi ke direktori kernel $ make ARCH=arm CROSS_COMPILE=arm-android-eabi- distclean $ make ARCH=arm CROSS_COMPILE=arm-android-eabi omap3_devkit8000_android_defconfig $ make ARCH=arm CROSS_COMPILE=arm-android-eabi- uImage

g. Menanam ke SD/MMC Card

Buat Direktori khusus untuk menyimpan hasil kompilasi yang akan ditanam ke SD/MMC Card $ mkdir Boot_Images Salin file MLO, u-boot.bin dan uImage ke direktori Boot_Images $ cp ~/MLO ~/Boot_Images $ cp ~/u-boot.bin ~/Boot_Images $ cp ~/uImage ~/Boot_Images Buat Direktori Filesystem & salin root filesystem $ mkdir Filesystem $ cp ~/rootfs_beagle.tar.bz2 ~/Filesystem Jalankan script 'mkmmc-android.sh' $ ./mkmmc-android.sh /dev/sdc

2. Tahap Pembuatan Aplikasi a. Kebutuhan aplikasi emulator Android sdk sebagai implementasi aplikasi yang

dipraktekan

Dalam penginstalan Android sdk ini sebagai media emulator yangg kelompok kami coba adalah media emulator Android sdk yang bersifat portable yang langsung dijalankan di linux dan sebagai catatannya adalah didalamnya harus terinstal flatform android,sample android,media alat dimana program android dijalankan di hardware android.dan secara langsung karena media emulatornya dengan posisi sudah terinstall seperti dibawah ini tampilan screenshotnya

Page 14: Project Aplikasi Android (Handoyo_201122091)
Page 15: Project Aplikasi Android (Handoyo_201122091)
Page 16: Project Aplikasi Android (Handoyo_201122091)

b. Kebutuhan aplikasi editor Eclipse dengan plug-in Android

Download melalui Ubuntu Software Center atau dapat juga mengcopy dari sumber yang sudah ada.Dan untuk yang harus diperhatikan ketika menginstal Eclipse ini perlu menambahkan plugin di new software yang servernya menuju repository dari andropid.jika di linux menambahkan nama plugin misal ADTplugin dan locationnya adalah https://dl-ssl.google.com/android/eclipse dan screenshotnya seperti dibawah ini

Page 17: Project Aplikasi Android (Handoyo_201122091)

APLIKASI MULTIMEDIA PLAYER MP3

Kelompok kami akan membuat aplikasi sederhana memutar sebuah file berekstensi .mp3 melalui sebuah tombol yang kami beri nama mainkan. Dalam kondisi normal, jika tombol mainkan diklik, mp3 akan dimainkan dan pada saat player sedang memainkan audiotombol mainkan berubah tidak bisa diklik. Namun jika mp3 selesai berputar, baru kemudian tombol mainkan dapat diklik kembali. Mulai membuat aplikasi: Membuat project baru

1. Jalankan Enclipse, buat Project baru.

Page 18: Project Aplikasi Android (Handoyo_201122091)
Page 19: Project Aplikasi Android (Handoyo_201122091)

Klik file > new

KetikplayingAudiopada kotakProject name

pilih Create new project in workspace

KlikNext

Page 20: Project Aplikasi Android (Handoyo_201122091)

Pilih GALAXY Tab Addons pada kotak dialogBuild Target > Next

KetikMemutar file audiopada kotakApplication name

Ketikcontoh.playingAudiopada kotakPackage name

PilihCreate Activity, dan isikan playingAudio

PilihMinimum SDK version 8

Klik Finish

Page 21: Project Aplikasi Android (Handoyo_201122091)

Membuat project player audio 1. Buat gambar apa saja(misal :mainkan)dengan format *.png

2. Buat folder baru dengan nama drawable di folder res. Masukkan gambar berlabel mainkan

(atau apa saja untuk mewakili icon player) dalam format * .png

Copykan gambarmainkanberformat *.png ke dalam folder drawable

Page 22: Project Aplikasi Android (Handoyo_201122091)

3. Buat folder baru lagi di res, kali ini beri nama raw. Masukkan file mp3(misal kautsar.mp3) ke dalam folder raw.

Page 23: Project Aplikasi Android (Handoyo_201122091)

4. Kemudian ketikkan script berikut ini pada main.xml.

<?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" >

<TextView

android:id="@+id/textView"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Memainkan Musik"

android:textSize="15px" >

</TextView>

<ImageButton

android:id="@+id/putarMusik"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_gravity="center_vertical|center_horizontal"

android:adjustViewBounds="false"

android:src="@drawable/play" >

</ImageButton>

<TextView

android:id="@+id/ket"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center_horizontal"

Page 24: Project Aplikasi Android (Handoyo_201122091)

android:text=""

android:textSize="15px" >

</TextView>

</LinearLayout>

Page 25: Project Aplikasi Android (Handoyo_201122091)

5. Ketiklah script playingAudio.java seperti berikut

package contoh.playingAudio;

import java.io.IOException;

import android.app.Activity;

import android.media.MediaPlayer;

import android.media.MediaPlayer.OnCompletionListener;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.ImageButton;

import android.widget.TextView;

public class playingAudio extends Activity{

ImageButton mainkan;

TextView keterangan;

MediaPlayer mp;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

keterangan=(TextView)findViewById(R.id.ket);

keterangan.setText("Silakan klik tombol play");

mainkan=(ImageButton)findViewById(R.id.putarMusik);

mainkan.setOnClickListener(new OnClickListener(){

public void onClick(View arg0){

mainkan.setEnabled(false);

keterangan.setText("Tombol play tidak aktif");

go();

}

});

}

public void go(){

mp=MediaPlayer.create(playingAudio.this, R.raw.kautsar);

try {

mp.prepare();

} catch (IllegalStateException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

mp.start();

mp.setOnCompletionListener(new OnCompletionListener(){

public void onCompletion(MediaPlayer arg0){

mainkan.setEnabled(true);

Page 26: Project Aplikasi Android (Handoyo_201122091)

keterangan.setText("Silakan klik tombol play");

}

});}}

Page 27: Project Aplikasi Android (Handoyo_201122091)

Bila script berantakan, lakukan Format (source > format).

Lakukan RUN dan lihat hasilnya.

Page 28: Project Aplikasi Android (Handoyo_201122091)