Setelah mendapatkan V-Class(Virtual Class) tentang J2ME. Jadi ingin share
APA ITU J2ME ???.Tapi hingga tulisan ini saya keluarkan, saya tetap saja masih belum mengerti . Langsung Cek aja !! oia, kalo ada yang ngerti bagi-bagi yah.,., !!
Java 2 Micro Edition (J2ME) adalah versi Sun Java bertujuan mesin dengan sumber daya perangkat keras yang terbatas seperti PDA, ponsel, dan perangkat elektronik konsumen lainnya dan yang melekat. J2ME ditujukan untuk mesin hanya dengan 128 KB RAM dan dengan prosesor banyak kurang kuat daripada yang digunakan pada desktop khas dan mesin server. J2ME sebenarnya terdiri dari satu set profil. Setiap profil didefinisikan untuk jenis tertentu perangkat - ponsel, PDA, oven microwave, dll - dan terdiri dari satu set library minimum kelas yang dibutuhkan untuk jenis tertentu dari perangkat dan spesifikasi dari mesin virtual Java yang diperlukan untuk dukungan perangkat. Mesin virtual yang ditentukan dalam profil apa pun belum tentu sama dengan yang digunakan dalam mesin virtual Java 2 Standard Edition (J2SE) dan Java 2 Enterprise Edition (J2EE). Anda akan melihat bahwa profil kita akan gunakan untuk mengembangkan aplikasi perangkat Palm OS adalah bagian dari Java Virtual Machine yang sudah Anda ketahui.
Sampai saat ini, Sun telah merilis profil berikut:
- Foundation Profil - Profil untuk perangkat elektronik konsumen generasi berikutnya
- Mobile Information Device Profile (MIDP) - Sebuah profil untuk perangkat informasi mobile, seperti telepon seluler dan pager dua arah, dan PDA
Profil itu sendiri tidak melakukan apa-apa, tetapi hanya mendefinisikan spesifikasi. Profil diimplementasikan dengan konfigurasi. Anda dapat menganggap konfigurasi sebagai implementasi dari profil J2ME untuk jenis tertentu perangkat seperti PDA. Beberapa konfigurasi yang sedang tersedia adalah
- Connected Device Configuration (CDC) Implementasi Profil Foundation untuk generasi berikutnya, perangkat elektronik konsumen dan yang melekat
- Connected Limited Device Configuration (CLDC) Implementasi MIDP untuk perangkat kecil, sumber daya terbatas seperti perangkat Palm OS.
Karena setiap profil yang berbeda mendefinisikan pustaka kelas Java, Anda tidak dapat mengambil aplikasi Java yang ditulis untuk satu profil dan menjalankannya pada mesin yang mendukung profil lain. Demikian juga, Anda tidak dapat mengambil aplikasi yang ditulis untuk Java 2 Standard Edition (J2SE) atau Java 2 Enterprise Edition (J2EE) dan menjalankannya pada mesin yang mendukung J2ME. Anda hanya dapat menggunakan class Java menyediakan di pustaka kelas Java yang termasuk dalam profil tujuan perangkat Anda. Pembatasan sendiri dari menggunakan semua kelas Java yang telah tumbuh bergantung pada adalah salah satu bagian paling sulit dari penulisan aplikasi Java untuk perangkat kecil.
1. Mendapatkan J2ME
The J2ME CLDC datang sebagai dua file yang dapat Anda download dari situs Komunitas Sun. File pertama adalah j2me_cldc_-1_0-src.winsol.zip dan berisi semua perpustakaan kelas yang dibutuhkan untuk mengembangkan aplikasi CLDC pada komputer Anda. Selain berisi pustaka kelas, tetapi juga mencakup kode sumber dan binari Windows dan Unix untuk referensi implementasi Java Virtual Machine yang ditetapkan oleh MIDP. Java Virtual Machine ini disebut sebagai K Virtual Machine (KVM), dan dimasukkan dapat menghemat Masalahnya men-download aplikasi ke perangkat genggam selama pengembangan. Anda dapat mengujinya benar pada mesin desktop yang sama yang Anda gunakan untuk pembangunan.
File kedua yang tersedia dari situs Komunitas Sun j2me_cldc-1_0-src-palm_overlay.zip, yang berisi sebuah implementasi dari KVM untuk perangkat yang menjalankan sistem operasi Palm, bersama dengan alat untuk mengubah. class file yang dihasilkan oleh compiler Java menjadi file executable Palm. Perhatikan bahwa ini adalah khusus pelaksanaan CLDC untuk sistem operasi Palm.
Sebagai implementasi lain telah tersedia, aplikasi Java Anda akan dapat dijalankan pada mesin yang lain juga.
Anda harus menginstal kedua ZIP di komputer Anda untuk mengembangkan aplikasi untuk perangkat Palm OS. Untuk sisa artikel ini, saya menganggap Anda memiliki diinstal dalam folder CLDC di C: drive.
Perhatikan bahwa Anda tidak memerlukan kompiler Java khusus untuk mengembangkan aplikasi CLDC. Anda menggunakan compiler yang datang dengan J2SE. Satu-satunya perbedaan adalah bahwa Anda akan menentukan lokasi alternatif untuk perpustakaan kelas selama kompilasi. Anda juga akan perlu untuk memproses file kelas yang dihasilkan. dengan beberapa software khusus yang disertakan dengan download CLDC.
2. Contoh Menjalankan Apps
File yang didownload dari Sun mencakup baik sumber dan versi terkompilasi dari banyak contoh aplikasi. Anda dapat menjalankan contoh aplikasi ini di komputer desktop Anda menggunakan KVM untuk Windows atau Unix. Menjalankan aplikasi ini akan membiarkan Anda merasakan apa aplikasi CLDC adalah seperti. Sebelum Anda dapat menjalankan program ini, Anda perlu memulai perintah shell dan masukkan perintah berikut.
set cldc_classpath = c: \ CLDC \ bin \ api \ kelas;.
set bin bin =%% c: \ CLDC \ bin
cd \ CLDC \ bin \ sampel \ kelas
Sekarang bahwa Anda telah mengatur variabel lingkungan dan mengubah ke direktori yang menyimpan aplikasi contoh, Anda dapat mulai menjalankannya. Untuk menjalankan aplikasi UITest, masukkan
% kvm-classpath cldc_classpath% UITest
Setelah Anda selesai melihat aplikasi UITest, Anda dapat melihat pada aplikasi permainan Pong dengan memasukkan, pada baris perintah, perintah
% kvm-classpath cldc_classpath% Pong
3. Membangun Aplikasi Palm
Bahwa Anda memiliki suatu perasaan untuk lembar yang membentuk J2ME, mari kita bergerak untuk benar-benar membangun aplikasi di Jawa untuk dijalankan pada perangkat Palm OS. Hal pertama yang harus disadari adalah bahwa hanya karena J2ME adalah Java, bahwa tidak berarti Anda dapat mengambil aplikasi yang ada Jawa, kompilasi ulang mereka, dan mereka berjalan pada perangkat baru. Fitur utama yang ditemukan di Java Virtual Machine digunakan oleh J2SS dan J2EE telah dihapus dari mesin virtual J2ME untuk memungkinkannya untuk berjalan pada mesin sumber daya yang terbatas.
Java Virtual Machine yang datang dengan J2ME (dikenal sebagai KVM) tidak memiliki dukungan untuk bilangan floating point. Perbedaan penting lainnya antara aplikasi J2ME dan aplikasi J2SE dan J2EE adalah tidak adanya preemptive multitasking. Meskipun bukan yang disyaratkan dalam spesifikasi Jawa, hampir semua mesin J2SE dan J2EE aplikasi berjalan pada dukungan preemptive multitasking. Ini berarti bahwa CPU dibagi antara beberapa Jawa thread tanpa perlu menambah kode khusus untuk program-program anda. Ini bukan kasus banyak perangkat ditargetkan oleh J2ME. Dalam rangka untuk memastikan bahwa karya-karya multi-threading, Anda harus memasukkan panggilan ke Thread.yield () method di setiap tempat di mana kode Anda akan mengikat prosesor - yang biasanya dalam loop.
Bagian lain rumit menggunakan profil CLDC adalah bahwa pustaka kelas kurang banyak dari kelas yang ditemukan di perpustakaan kelas J2SE. Anda akan harus bekerja dalam keterbatasan ini perpustakaan kelas yang lebih kecil saat membangun aplikasi Anda. Anda dapat mengetahui kelas termasuk dalam spesifikasi CLDC dengan meninjau dokumentasi yang Anda dapatkan ketika Anda men-download perangkat lunak. Area sulit akhir Anda akan harus berurusan dengan adalah kurangnya akses ke elemen UI - tombol, menu, grafik, dari dalam perpustakaan kelas CLDC.
Karena itu tidak mungkin untuk mengembangkan aplikasi untuk perangkat Palm OS tanpa menggunakan Palm UI, Sun telah menangani masalah ini dengan dimasukkannya perpustakaan kelas terpisah, com.sun.kjava, yang memberikan Anda akses ke antarmuka pengguna Palm yang mendasari . Program contoh berikut mengandalkan perpustakaan ini untuk membuat windows, tombol, dan kotak dialog. Jadilah memperingatkan bahwa perpustakaan kelas kjava bukan merupakan bagian resmi dari salah konfigurasi atau profil MIDP CLDC, dan kemungkinan untuk berubah atau hilang di masa mendatang. Ini berarti bahwa setiap program yang Anda menulis bahwa bergantung pada perpustakaan kelas kjava harus dimodifikasi untuk bekerja dengan versi masa depan J2ME. Tapi, sekarang, itu adalah satu-satunya pilihan Anda untuk mengakses antarmuka pengguna Palm dari dalam aplikasi Java
|
import lang.*;
import com.sun.kjava.*;
public class HelloWorld extends Spotlet implements DialogOwner {
private Button quitButton; private Button aboutButton;
private TextBox welcomeTextBox;
private final String welcomeString = "Hello World
sample applications demonstrating the use of J2ME and the com.sun.kjava library
to produce a Palm Pilot application in Java."; private final String aboutTitleString = "About Hello
World"; private final String aboutString = "HelloWorld J2ME
CLDC Application\n (c) 2001 Daniel A.
Tauber\ninfo@tauberkienan.com\nhttp://www.tauberkienan.com";
public HelloWorld() { register(WANT_SYSTEM_KEYS);
;welcomeTextBox = new TextBox(welcomeString, 10, 10, 140,
130); aboutButton = new Button("About", 75, 140); aboutButton.setEnabled(true); quitButton = new Button("Quit", 125, 140); quitButton.setEnabled(true); paint(); } public void dialogDismissed(String title) { Graphics.clearScreen(); register(WANT_SYSTEM_KEYS); paint(); } public void paint() { welcomeTextBox.paint(); aboutButton.paint(); quitButton.paint(); } public void penDown(int x, int y) { if (aboutButton.pressed(x, y)) { Dialog aboutDialog = new Dialog(this, aboutTitleString,
aboutString, "OK"); aboutDialog.showDialog(); } if (quitButton.pressed(x, y)) System.exit(0); } public static void main(String args[]) { new HelloWorld();
}
}
|
|
4. Mempelajari Aplikasi HelloWorld
Aplikasi HelloWorld menampilkan fitur-fitur dasar dari aplikasi CLDC untuk menjalankan perangkat Palm OS. Ketika Anda memeriksa kode, Anda akan melihat sejumlah fitur aplikasi bangunan menggunakan perpustakaan kelas kjava. Pertama, program ini meluas kelas com.sun.kjava.spotlet. Dengan kjava, spotlet adalah semua kelas yang bisa mendapatkan fokus, yaitu, menerima kejadian dari sistem seperti pena ke bawah. Dalam kasus kami, kami aplikasi HelloWorld perlu untuk menanggapi klik pena pada Tentang dan tombol Keluar, sehingga perlu mendapatkan fokus. Aplikasi Anda dapat mengandung banyak kelas yang berasal dari spotlet yang Anda butuhkan, walaupun hanya salah satu dari mereka dapat memiliki fokus pada satu waktu. Aplikasi benar-benar mengambil fokus dengan memanggil metode mendaftar, yang kami lakukan di awal konstruktor HelloWorld dan metode dialogDismissed.
Juga, kelas HelloWorld mengimplementasikan antarmuka DialogOwner. Sebuah kelas yang mengimplementasikan antarmuka DailogOwner adalah kelas yang menciptakan kotak dialog. Aplikasi kami menciptakan kotak dialog untuk menanggapi klik pena pada Tentang tombol. Untuk mengimplementasikan antarmuka DialogOwner, kelas Anda perlu menyertakan metode anggota dialogDismissed. Metode ini dipanggil saat kotak dialog ditutup.
Konstruktor HelloWorld menciptakan tiga elemen antarmuka pada layar: kotak teks dan dua tombol. Anda segera akan melihat satu perbedaan besar antara kjava dan AWT J2SE's: kjava tidak memiliki setara dengan layout otomatis AWT's. Anda harus kode keras posisi setiap elemen interface di layar. Dalam program kami, kami menempatkan kotak teks antara 10, 10, dan 140 130. dua kami tombol tempat di 75.140, dan 125 140. posisi Hard coding tidak menimbulkan masalah ketika merancang untuk tanaman saat perangkat Palm OS, yang selalu memiliki ukuran layar yang sama. Tetapi posisi hard coding akan memusingkan besar jika aplikasi Anda yang dibutuhkan untuk mendukung perangkat dengan ukuran layar ganda.
Metode penDown HelloWorld adalah disebut setiap kali keran pengguna pena pada perangkat. Kami mendelegasikan pekerjaan menentukan apakah klik tersebut terjadi dalam batas-batas tombol dengan memanggil metode masing-masing tombol yang ditekan pada gilirannya. Jika ada metode tombol itu ditekan mengembalikan nilai benar, yang berarti bahwa pena ke peristiwa yang terjadi dalam batas-batas tombol, maka tindakan yang tepat untuk tombol tersebut diambil. Dalam kasus Tentang tombol, kita membuat kotak Tentang dialog dengan menciptakan sebuah objek Dialog baru. Dalam kasus tombol Quit, kita mengakhiri program.
Akhirnya, metode dialogDismissed yang HelloWorld ini dipanggil saat pengguna membubarkan kotak dialog yang kita ciptakan dalam menanggapi klik pada tombol Tentang. Dalam aplikasi kami, semua bahwa metode ini dilakukan adalah kembali fokus dengan memanggil metode mendaftar dan redraw layar dengan memanggil metode paint.
5. Kompilasi
Menyusun aplikasi CLDC adalah proses dua langkah. Pertama, Anda harus menjalankan mereka melalui compiler standar J2SE, menentukan kelas perpustakaan CLDC bukan pustaka kelas standar J2SE. Setelah itu, Anda perlu untuk memproses file kelas yang dihasilkan dengan preverify program untuk mengubahnya menjadi aplikasi Java siap untuk KVM tersebut.
Contoh Program di atas dikompilasi dengan baris perintah
javac-g: none-classpath% cldc_classpath-temp% d%% HelloWorld.java
% preverify-classpath cldc_classpath%-s% temp%-d.
Setelah dikompilasi, Anda dapat menjalankan program ini pada komputer desktop Anda menggunakan
% kvm-classpath cldc_classpath% HelloWorld
Sekarang bahwa Anda memiliki aplikasi CLDC yang akan dijalankan pada komputer Anda, saatnya untuk mengubahnya menjadi executable Palm.
6. Menjalankannya di Sistem Operasi Palm
Untuk mengubah file kelas yang dikembangkan dengan CLDC. ke file yang benar-benar dapat berjalan pada perangkat Palm OS, Anda akan harus menggunakan sejumlah program yang disertakan dalam file j2me_cldc-1_0-src-palm_overlay.zip. Pertama, Anda harus mengubah file kelas. Anda ke dalam aplikasi Palm OS. Semua aplikasi Palm OS memiliki ekstensi. RRC. Anda memutar file kelas. Anda ke dalam sebuah file. RRC dengan menggunakan kelas palm.database.MakePalmApp. Jalankan ini pada file HelloWorld.class Anda dengan baris perintah
java% cldc_classpath palm.database.MakePalmApp-bootclasspath% HelloWorld
Anda sekarang akan memiliki HelloWorld.prc file dalam direktori yang sama seperti HelloWorld.class. File ini adalah aplikasi Palm. Anda sekarang dapat menggunakan perangkat lunak Palm Installer yang datang dengan perangkat Palm OS untuk menginstal berkas ini. Selain memiliki versi RRC aplikasi Anda diinstal pada perangkat Palm OS., Anda juga akan harus memiliki kvm.prc diinstal. kvm.prc merupakan implementasi dari K Virtual Machine (ingat, bahwa adalah versi dari Java Virtual Machine yang ditetapkan dalam profil MIDL) untuk perangkat Palm OS.
Sumber :
http://v-class.gunadarma.ac.id/file.php/2825/j2me.docx