Minggu, 20 Mei 2012

Read Write Operasi File pada Java ME NetBeans


Text Editor dengan Java ME NetBeans

Untuk membuat aplikasi TextEditor di Java ME Netbeans dapat digunakan komponen TextField, selain itu dibutuhkan komponen-komponen yang telah diterangkan sebelumnya yaitu Command. Langkah-langkah pembuatannya sebagai berikut :
1. Buka Netbeans. Klik menu File-New Project. Pilih Categories : Java ME, Projects : Mobile Application. Klik Next.


2. Pada dialog berikutnya, isikan Project Name : MobileEditor. Kemudian cek Set As Main Project dan hilangkan cek pada Create Hello Midlet. Klik Next. Klik Next. Klik Finish.


3. Pada Project TreeView klik kanan, pilih New – Visual Midlet. Kemudian akan muncul dialog, isikan Class Name : MEditor, package : my.appeditor. Klik Finish..


4. Akan ditampilkan MIDlet kosong pada Design. Dari Palette Displayables tambahkan Form, kemudian ubah namanya menjadi FMain. Kemudian pada Form FMain tambahkan 2 buah ItemCommand dan exitCommand dari Pallete Commands. Ubah property InstanceName dari ItemCommand menjadi cmOpen dan cmSave serta property Label-nya menjadi “Open” dan “Save”. Setelah itu tarik garis dari MIDlet Started menuju FMain, kemudian dari FMain exitCommand tarik garis ke MIDlet Resumed.


5. Pada Screen Design akan ditampilkan Design dari FMain. Ubah title dari FMain menjadi “Text Editor”, kemudian tambahkan 1 buah TextField. Ubah name-nya menjadi tEditor. Kemudian ubah property label dari TextField tersebut menjadi “File :”. Kemudian property text-nya kosongkan, menjadi “”.



6. Pada cmOpen, klik kanan pilih Go to Source. Pada Source akan muncul kode program dari method public void commandAction(), di dalamnya pada blok if (command == cmOpen) { } tambahkan kode program berikut :

    public void commandAction(Command command, Displayable displayable) {
        // write pre-action user code here
        if (displayable == FMain) {
            if (command == cmOpen) {
                // write pre-action user code here
                try {
                    new Thread(new Runnable()
                    {
                        public void run()
                        {
                            try {
                                tEditor.setString("");
                                FileConnection textFile = (FileConnection)Connector.open("file:///root1/Notes.txt");
                                InputStream fis = textFile.openInputStream();
                                byte[] b = new byte[1024];
                                int length = fis.read(b, 0, 1024);
                                fis.close();
                                if (length > 0) {
                                    tEditor.setString(new String(b, 0, length));
                                }
                            } catch (Exception e) {
                            }
                        }
                    }).start();
                } catch (Exception e) {
                }

                // write post-action user code here
            } else if (command == cmSave) {
                // write pre-action user code here
                // write post-action user code here
            } else if (command == exitCommand) {
                // write pre-action user code here
                exitMIDlet();
                // write post-action user code here
            }
        }
        // write post-action user code here
    } 


7. Selanjutnya pada cmSave, klik kanan pilih Go to Source. Pada Source akan muncul kode program dari method public void commandAction(), di dalamnya pada blok else if (command == cmSave) { } tambahkan kode program berikut : :

    public void commandAction(Command command, Displayable displayable) {
        // write pre-action user code here
        if (displayable == FMain) {
            if (command == cmOpen) {
                // write pre-action user code here
                try {
                    new Thread(new Runnable()
                    {
                        public void run()
                        {
                            try {
                                tEditor.setString("");
                                FileConnection textFile = (FileConnection)Connector.open("file:///root1/Notes.txt");
                                InputStream fis = textFile.openInputStream();
                                byte[] b = new byte[1024];
                                int length = fis.read(b, 0, 1024);
                                fis.close();
                                if (length > 0) {
                                    tEditor.setString(new String(b, 0, length));
                                }
                            } catch (Exception e) {
                            }
                        }
                    }).start();
                } catch (Exception e) {
                }

                // write post-action user code here
            } else if (command == cmSave) {
                // write pre-action user code here
                new Thread(new Runnable()
                {
                    public void run()
                    {
                        try {
                        OutputConnection connection = (OutputConnection)
                        Connector.open("file:///root1/Notes.txt", Connector.WRITE );
                        OutputStream out = connection.openOutputStream();
                        PrintStream output = new PrintStream( out );
                        output.println( tEditor.getString() );
                        out.close();
                        connection.close();
                        } catch (Exception e) {
                        }
                    }
                    }).start();

                // write post-action user code here
            } else if (command == exitCommand) {
                // write pre-action user code here
                exitMIDlet();
                // write post-action user code here
            }
        }
        // write post-action user code here
    } 

8. Klik Run untuk menjalankan aplikasi. Kemudian cobalah menggunakan aplikasi Text Editor ini seperti ketika menggunakan Notepad.