App Inventor True Offline ( App Inventor Personal Server )


Setelah beberapa waktu kita mengenal App Inventor versi offline, sekarang ada versi App Inventor true offline. Perbedaan dari keduanya secara singkat padat dan jelas adalah untuk yang versi offline apabila ingin mengcompile alias mempaket aplikasi maka masih harus terkoneksi internet.

Sedangkan dengan menggunakan App inventor true offline, maka tanpa terkoneksi ke internetpun kita bisa membuat aplikasi android secara mandiri sekaligus bisa mempaket atau mengcompile-nya langsung. Itulah sebabnya disebut juga App Inventor Personal Server, karena sudah include server compilernya, benar-benar sangat menyenangkan buat yang ingin belajar App Inventor tetapi terhambat dengan koneksi internetnya, dan pastinya lebih cepet dari yg versi onlinenya di Beta App Inventor.

App Inventor true offline ini dipackage oleh Gary Frederick ( Jefferson Software) dari source yang di rilis oleh MIT. Disini kita akan memakai versi windows, masih versi test tetapi sudah bagus dan sebanding dengan versi online-nya. OK sekarang waktunya untuk mencobanya :

2.  Menurut keterangan sudah di test pada Windows 7,
3. Saat dicoba pada Windows XP SP3 dengan JDK 1.6, Block Editor tidak bisa terkoneksi ke Emulator. Dan ketika memakai Java JDK 1.7 bisa lancar, jadi pastikan apabila tidak bisa lancar menggunakan java JDK 1.6 maka pakailah Java JDK 1.7 download dari http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1637583.html
4.  Install terlebih dulu JDK 1.7
5.  Ekstrak file Personal.zip , bebas di tempatkan difolder mana, maka kita akan mendapatkan empat (4) buah folder yaitu :
a.      appengine-java-sdk-1.6.4
b.      AppInventor
c.       BuildServer
d.      java
6. Untuk mencobanya, jalankan BuildServer AppInventor terlebih dulu, yaitu klik duakali pada Personal\BuildServer\launch-buildserver.cmd Sehingga akan muncul jendela command line, tunggu hingga selesai

  
7.Jalankan Sever AppInventor, yaitu dari folder AppInventor klik duakali pada Personal\AppInventor\startAI.cmd , ini juga akan membuka jendela command line


8.  Buka browser, dan masukkan alamat localhost:8888 , maka akan terbuka jendela desainer dan kita sudah bisa memulai membuat aplikasi android dengan App Inventor.


9. Alamat lain yang bisa dicoba adalah halaman admin yaitu pada localhost:8888/_ah/admin , silahkan diexplore halaman admin ini.

Diskusi mengenai App Inventor True Offline atau App Inventor PersonalServer ada di https://groups.google.com/forum/?hl=en#!forum/usgsuacwai ,silahkan bergabung disana untuk mendapatkan update informasi, berbagi informasi ataupun bertanya tentang App Inventor.

Well ... perkembangan terjadi di App Inventor sampai saat ini seperti yang diharapkan, tinggal kreatifitas kita saja untuk menggunakannya, and remember this still test version, use at your own risk :) . Dan untuk versi online masih tetap di Beta App Inventor




Thanks Garry

Multiscreen : Membuat Banyak Layar di App Inventor 2

Ini adalah postingan Multiscreen di App Inventor yang kedua, dengan menggunakan block baru yaitu open another Screen, yang ada pada Built-in > Control > open another Screen :














Misal kita memiliki 2 layar, dan ingin berpindah dari layar satu ke layar 2 dan sebaliknya maka caranya adalah kita terlebih dulu membuat 2 layar di jendela Desain App Inventor kita. Jangan lupa untuk menambahkan layar kedua, adalah dari menu Add Screen




Kemudian menempatkan Button (Tombol) sebagai triger untuk berganti layar tersebut, menggunakan block button.click dan menempatkan block open another screen didalamnya. Setelah itu tambahkan block text, dan ubah textnya dengan nama layar yang ingin kita panggil.




Attention Please

Yang perlu diingat adalah, ketika mencoba aplikasi dengan multiscreen ini, saat sekarang (Maret 2012) masih belum berfungsi pada emulator, akan ada pesan "Switching forms is not currently supported during development" jadi harus dipackage dan didownload ke Handset Android kita untuk mencobanya. 


Dan ketika kita bekerja dengan dua layar, antara layar satu dengan yang lainnya, ketika akan meng-edit Block, pastikan berada pada Block Editor yang sesuai dengan layar, yaitu dengan memilih layar terlebih dulu pada jendela Desain App Inventor.

Silahkan coba latihan diatas, dan lihat apakah fungsi dari block close screen? :) , jangan lupa mencoba-nya di http://beta.appinventor.mit.edu , server app inventor baru dari MIT.

Buat yg belum tahu apa itu App Inventor cek disini Apa itu App Inventor atau memulai App Inventor

Sample Aplikasi App Inventor : WildLifeShow

WildLifeShow

Ini adalah terjemahan bebas dari tutorial dari situs appinventorblocks , filosofi reused kita pakai disini biar hemat waktu, so silahkan untuk mempelajarinya :)

Pada projek WildLifeShow ini kita berlatih belajar App Inventor sederhana, dengan nama aplikasinya WildLifeShow, sebuah aplikasi sederhana untuk melihat gambar dan juga mengeluarkan suara. Jadi kita akan berlatih bagaimana memasukkan gambar, menggunakan tombol/button, dan juga menangani suara/sound.

      
    
     
1. Klik  pada tombol New



2. Beri nama projek, disini akan kita namakan WildLifeShow
    


3. Drag komponen VerticalArrangement  ke layar Screen1, ini akan kita gunakan untuk mendisplay gambar
     




4. Kita bisa mengatur properti dari komponen VerticalArrangement1 yang kita tempatkan pada screen, Width berarti lebar, kita set penuh, sedangkan tingginya 350 pixel, tidak penuh satu layar karena kita akan menempatkan tombol pada layar


5. Drag komponen Image, dan masukkan kedalam komponen VerticalArrangement1 




    Get a Label component and place it below VerticalArrangement1. Take note of the name of our Label component which is automatically set to Label1.

6. Masukkan komponen Label, ini untuk teks keterangan




7. Properti dari label yang kita seting , yaitu font bold, kemudian teks “Tap On A Button To Hear Them” , posisi teks Center, warna dari teks biru, dan Width Fill parent

     

   
8. Sekarang kita masukkan komponen HorizontalArrangement  , yang akan kita gunakan untuk menempatkan tombol.

     

   9. Masukkan tiga buah tombol/ button kedalam  HorizontalArrangement1
     
     

10. Seting properti dari tombol :

  • §         Teks Button1 : Elephant, Width : Fill parent, TextAligment ke Center dan Font Bold
  • §         Teks Button1 : Bird, Width : Fill parent, TextAligment ke Center dan Font Bold
  • §         Teks Button1 : Penguin, Width : Fill parent, TextAligment ke Center dan Font Bold

11. Karena kita akan menggunakan suara, maka ambil komponen Player dan masukkan di Screen1 bebas dimanapun,. Karena merupakan komponen non-visible, komponen Player secara otomatis akan ditempatkan dibawah jendela Screen1.

     
.
12. Sekarang kita akan merubah title Screen1 ke WildLifeShow .

     

13. Sekarang kita akan masukkan file gambar dan suara kedalam projek, dari menu media, upload file-file tersebut satu persatu. 









     

14. Sehingga akan terlihat seperti ini :

     

15. Kita telah selesai pada tahap mendesain komponen, sekarang kita akan memberikan behaviour agar komponen-komponen tersebut bisa berfungsi. Klik pada Open the Block Editor   

     

16. Tunggu beberapa saat, hingga muncul jendela Block Editor. Pada tab My Blocks, akan terlihat komponen-komponen apa saja yang sudah kita tempatkan pada jendela desainer. Sekarang kita akan mensetting fungsi tombol, yaitu pada Button1.


     

17. Secara fungsi kita menginginkan ketika tombol 1 ditekan maka gambar pertama akan muncul, maka ambil dari block set Image1.picture pada komponen image. Kemudian tempatkan didalam block Button1.Click yang ada.


     

18. Ini baru block pemanggil gambar, sedangkan gambarnya sendiri dgn nama elephant.png, maka dari tab Built-in ambil block text, masukkan kedalam block set Image1.Picture. Selanjutnya set teks ke elephant.png, untuk mengacu pada gambar yang telah kita siapkan.

    

     


     

   
     


19. Langkah selanjutnya, karena kita juga menginginkan ketika tombol diklik terdapat suara, maka tempatkan blok set player1.source to, tempatkan block acuan suara elephant.wav. Dan terakhir, pasang block player1.start, block ini adalah ketika tombol Button1 ditekan maka akan menyalakan suara yang kita set.
     



     

20. Lakukan langkah-langkah tersebut untuk, tombol 2 dan tombol 3 , sehingga akan terlihat seperti ini

     

21. OK, sudah selesai, package ke phone, baik emulator maupun langsung dicoba ke handphone, apabila ke emulator kita harus memulai emulator terlebih dahulu, dari menu New Emulator.


     

    


    
  
      



    

Introducing Google Play : Google memperkenalkan Google Play


Introducing Google Play

Now your favorite movies, apps, and games are all in one place that's accessible from the Web and any Android device. Discover, buy and share like never before.

Google hari ini memperkenalkan Google Play, dimana kita bisa mengakses film, aplikasi, buku, dan games atau semua digital konten dari google dari satu tempat baik diakses dari web maupun dari android. Ini berarti akan memudahkan user maupun developer, karena semua akhirnya menjadi satu, ini juga menggantikan dan memperluas Android Market yang selama ini menjadi tempat untuk mengakses aplikasi android dari google. 
Jadi secara sederhana ini adalah market konten terintegrasi-nya google, dan menjadi tanda bahwa google sudah siap menjadi pemain konten dunia, dengan akses dari berbagai macam device, misalnya smartphone  Android , Tablet Android, Android TV, ataupun device lain yang sudah lama di perkenalnya yaitu Chrome Book, atau juga device umum Desktop maupun Laptop.
Google play ini berbasis cloud, jadi misal anda membeli buku, anda bisa mengaksesnya dimana saja, semoga sudah juga meng-implementasikan offline storage, jadi kita bisa menyimpan konten buku atau konten lain secara offline meskipun koneksi terputus.
Sesuai dengan pengumuman, dengan adanya transisi ini tidak ada perubahan dalam mengakses android market untuk user maupun developer . Semoga kedepan ada update yang signifikan, terutama untuk  indonesia, dimana developer bisa secara langsung menjual aplikasinya, dan user bisa dengan mudah membeli aplikasi.
So silahkan mengakses google play di link ini , apabila ingin tahu feature apa saja yg ada di google play silahkan bisa mengakses link feature goole play disini
New Beta MIT App Inventor Link , ingin tahu tentang Apa itu App Inventor ?

MIT App Inventor Beta Realesed : Welcome

Akhirnya ......

Layanan public App Inventor dari MIT versi Beta sudah mulai bisa dicoba dari tanggal 1 Maret 2012, sama halnya dengan layanan App Inventor dari Google dulu, kita memerlukan Account Gmail, silahkan anda bisa mencobanya di alamat http://beta.appinventor.mit.edu

Well, ... lets play the ground ... :)



Belajar App Inventor dari awal klik disini

Untuk mencoba App Inventor offline tanpa koneksi internet

Sample Project Multiscreen pada App Inventor Android ( The New Multiscreen Explained )

Tutorial Ini adalah terjemahan bebas dari tutorial dengan judul the new multiscreen explained dari situs tAIR sebuah situs repository App Inventor. OK langsung saja, chekidot :


1. Buat projek baru pada Desainer

tambahkan layar ( add screens )

Rename Screen1 menjadi Home pada Title.


Klik pada Add Screen dan beri nama layar tersebut dgn nama about


Lakukan lagi langkah tersebut untuk layar Help dan Settings sehingga sekarang kita sudah memiliki empat buah layar pada aplikasi yang akan kita buat




NOTE: Setiap layar akan terpisah, sehingga kita akan melakukan langkah duplikasi pada projek ini.  

Setelah semua layar selesai kita buat, sekarang saatnya untuk  melengkapi komponen yang ada pada layar,  dsini kita akan menggunakan naming conventions  jika anda belum memahaminya silahkan anda mempelajarinya terlebih dahulu, kita akan mulai dari  Arrangements, ListPickers dan Labels.

2. Screen1

Pastikan kita berada pada Screen1.



2.1 Menu

Dsini kita akan menggunakan list picker to untuk membuat menu navigasi

Drag Vertical Arrangement ke Screen1 dan rename menjadi varMenu, Set lebar dan tingginya untuk menyesuaikan dengan layar

Drag elemen listpicker ke varMenu yang barusan kita buat.

Rename menjadi lprMenu set background color menjadi hitam.

Set text menjadi Menu.

Set warna text menjadi putih set lebar dan tingginya agar sesuai.

2.3 Screen Text


Drag Vertical arrangement ke layar Screen1.

Rename menjadi varHome, Set lebar dan tingginya untuk menyesuaikan dengan layar.

Drag Horizontal arrangement ke layar Screen1.

Rename menjadi harHome, set lebar dan tingginya.

Drag text box  ke harHome Arrangement dan rename menjadi txtHome Set text menjadi This is the home screen. set lebar dan tingginya.

2.3. Database


Drag tinyDB ke Screen1 dan beri nama tdbMain.


Catatan : mengenai  tinyDB dan multiscreen:

Kita hanya bisa menggunakan 1 TinyDB per aplikasi.

kita bisa bebas memberi nama.

Tapi kita harus memasukkan tinyDB ke tiap layar yg memerlukan akses ke Database.

Kita  juga dapat memberi nama database berbeda,  tapi ingat gunakanlah tag yang berbeda, agar terhindar dari ketidaksengajaan, dan data kita tertimpa.

Apabila kita sudah melakukan semuanya dengan benar, saat ini layar akan terlihat seperti ini :


3. About

Sekarang kita akan set layar About, klik pada About.




3.1 . Menu


Kita gunakan list picker untuk membuat menu navigasi.

Drag Vertical Arrangement ke About dan  rename  menjadi  varMenu.

set lebar dan tingginya agar sesuai.

Drag listpicker ke varMenu yg baru saja kita buat.

Rename menjadi lprMenu , Set warna background menjadi hitam.

Set  text menjadi Menu.

Set warna text menjadi putih.

Set lebar dan tingginya agar sesuai

3.2. Screen Text


Drag Vertical arrangement ke layar About .

Rename menjadi varAbout set lebar dan tingginya agar sesuai.

Drag Horizontal arrangement ke layar About.

Rename menjadi harAbout set lebar dan tingginya agar sesuai.

Drag text box ke harAbout Arrangement dan rename menjadi txtAbout.

Set text menjadi This is the about screen.

set lebar dan tingginya agar sesuai.

3.4 Database


Kita membutuhkan TinyDB database untuk settings.
Beri nama tdbMain.
Sehingga layar About kita akan terlihat seperti ini :

 


4. Help


Untuk layar Help .


4.1 Menu


Kita gunakan list picker untuk membuat menu navigasi.

Drag Vertical Arrangement ke About dan  rename  menjadi  varMenu.

set lebar dan tingginya agar sesuai.

Drag listpicker ke varMenu yg baru saja kita buat.

Rename menjadi lprMenu , Set warna background menjadi hitam.

Set  text menjadi Menu.

Set warna text menjadi putih.

Set lebar dan tingginya agar sesuai


4.2 Screen Text


Drag Vertical arrangement ke layar Help .

Rename menjadi varHelp set lebar dan tingginya agar sesuai.

Drag Horizontal arrangement ke layar Help.

Rename menjadi harHelp set lebar dan tingginya agar sesuai.

Drag text box ke harHelp Arrangement dan rename menjadi txtHelp.

Set text menjadi This is the help screen.

set lebar dan tingginya agar sesuai.


4.3 Database


Kita membutuhkan TinyDB database untuk settings.

Beri nama tdbMain.

Sehingga layar About kita akan terlihat seperti ini :


5. Settings


Untuk layar Settings.



5.1 Menu


Kita gunakan list picker untuk membuat menu navigasi.

Drag Vertical Arrangement ke About dan  rename  menjadi  varMenu.

set lebar dan tingginya agar sesuai.

Drag listpicker ke varMenu yg baru saja kita buat.

Rename menjadi lprMenu , Set warna background menjadi hitam.

Set  text menjadi Menu.

Set warna text menjadi putih.

Set lebar dan tingginya agar sesuai

5.2 Screen Text


Drag Vertical arrangement ke layar Settings .

Rename menjadi varSettings set lebar dan tingginya agar sesuai.

Drag Horizontal arrangement ke layar Settings.

Rename menjadi harSettings set lebar dan tingginya agar sesuai.

Drag text box ke harSettings Arrangement dan rename menjadi txtSettings.

Set text menjadi This is the Settings screen.

set lebar dan tingginya agar sesuai.

5.3 Database


Kita membutuhkan TinyDB database untuk settings.

Beri nama tdbMain.

Sehingga layar About kita akan terlihat seperti ini :






6. Menambahkan Block Code – Pada Blocks Editor


Pilih screen1 pada jendela designer.




6.1 Screen1


Tambahkan block komponen berikut ke blocks editor:

built-in tab -> Definition drawer,  tambahkan dua variables.

yang pertama namakan Make a list 

Yang kedua TextColor Color None.

Dari  My Blocks tab ->Drawer Screen1 drag Screen1.Initialize event.

Dari My Blocks lprMenu Drawer drag lprMenu.BeforePicking dan event lprMenuAfterPicking .







6.2 Screen1.Initialize

Screen Initialize events hampir sama pada semua layar. Pada Screen1 hanya ada sedikit kode extra untuk menghandle ketilka aplikasi pertama kali dijalankan


Klik pada area layar Screen1.Initialize dan pilih kontrol If Else.

klik pada connector untuk test pada block if else dan pilih math =.

Pada block math =  masukkan tdbMain.GetValue dan set tag ke TextColor.

Pada kanan block math = biarkan text kosong.

Pada  then-do masukkan Set Global TextColor dari My Definitions drawer ke Color None.

Kemudian pada bagian else-do , Set Global TextColor ke tdbMain.GetValue Tag TextColor.

Set juga txtHome.TextColor ke Global TextColor.

Ambil  block if Else lagi dan tempatkan dibawah yg pertama tadi.
Set test ke tdbMain.GetValue tag layar = kosong , seperti tadi kecuali bagian tag TextColor.
Pada then-do, Set Global Screens ke Make a list dengan empat buah layar.
Simpan layar-layar itu ke tDB sehingga bisa digunakan pada layar yg lain, dengan menambahkan  tdbMain.
Simpan layar Tag dengan nilai dari Value Global Screens.
Pada Block the else-do, set global Screens ke tdbMain.GetValue dengan tag Screens.




































6.3 lprMenu.BeforePicking

Drag  lprMenu.Elements to dari lprMnuDrawer dan set ke Global Screens.


Note: Event ini akan sama pada keempat layar yg kita buat.

6.4 lprMenu.AfterPicking

lprMenu.AfterPicking pada setiap layar agak sedikit berbeda. Kita hanya akan mengecek layar lainnya

Note : kita tidak perlu mengecek layar dimana kita berada saat itu, karena kita sudah berada disana


Klik pada layar dan pilih control -> if.

Klik pada area dekat connector dan pilih math -> =.

Dari lprMenu Drawer. drag lprMenu.Selection dan tempatkan dapada sisi kiri = .

Klik pada area dekat connector pada sisi kanan block = block dan pilih text ->text.

Ubah text  ke about.

Klik pada  if block kemudian tekan ctrl-c sekali dan ctrl-v dua kali untuk meng-copy dua block if.

Koneksikan pada block if yang berada dibawahnya drag ke lptMenu.AfterPicking.

Ubah Blcok About Text  pada block if yg baru if blocks ke Help dan Settings.
Dibawah block then do for each if klik pada layar pilih control -> buka layar yang lain beserta text.
Set  pada Start text dengan nama dari layar dimana kita berada.
Buat dua copy dgn control-c dan control-v kemudian drag block ke statement if yang sesuai.
lprMenu.AfterPicking kita akan terlihat seperti dibawah ini .




















Pada dasarnya kita hanya mengulangi proses ini untuk layar lainnya, pastikan memiliki terlebih dahulu kita memiliki start text layar dimana kita berada dan nama layar untuk tiga layar lainnya. Karena langkah-langkahnya sangat mirip, untuk sisa dari tutorial hanya akan menunjukkan perbedaan yg ada dan kemudian memperlihatkan screenshot kode smua.




NOTE: Menurut keterangan MIT, blok awal teks akan berubah pada rilis selanjutnya. Ingatlah saat menambahkan blok ini karena mungkin akan berbeda dari screenshot.

6.5 About

Yang berbeda dari layar about adalah lprMenu.AfterPicking












NOTE: pada update source v76 on 2/14/2012 , source code Call Get Start Text telah diganti dengan call get plain start text.

Help

Yang berbeda dari layar about adalah lprMenu.AfterPicking diubah dan ditambahkan txtHelp.


6.6 Settings

Sekarang kita memiliki beberapa rutin di sini untuk dapat menyimpan pengaturan.

Pertama kita menambahkan variabel bernama ColorList menampung nilai ColorList dan mengesetnya untuk membuat list.



Kemudian kita tarik beberapa warna ke dalamlist.



6.7 lprColor.BeforePicking


Selanjutnya kita menambahkan block lprColor.BeforePicking.

Pada Block BeforePicking kita set nama list dan nama dari warna kita pilih dari list warna. Kita melakukan ini sehingga kita memiliki nama yang user friendly untuk listpicker.



















PENTING : Pastikan nama warna pada lprColor.Elements sama dengan pada variable ColorList.


6.8 lprColor.AfterPicking



Pada lprColor.AfterPicking kita set variable textcolor ke index yang dipilih dari variable  ColorList.

Kemudian kita text color kedalam tDB sehingga kita bisa menggunakannya pada layar yang lain.

Jangan lupa untuk mengeset warna dari layar settings.










Maka pada layar settings akan terlihat :






















6.9 Passing Data :

 

Jika kita melihat pada block kode projek diatas, ditunjukkan ada beberapa cara untuk melewatkan data antara layar. Pertama kita melewatkan TextColor dan Layar melalui tinyDB tersebut. Cara  ini membutuhkan tinyDB pada setiap layar yang membutuhkan akses ke database. Kita juga mengirimkan data melalui layar yang berisi text. Teks awal ini sangat terbatas karena itu mengkonvert semuanya menjadi teks. Pada versi berikutnya dari App Inventor, Hal Abelson mengatakan mereka mengganti teks awal dengan nilai awal untuk membuatnya lebih mudah ketika berbagi data antara layar.

Jika ingin cepat memahami silahkan download dan jalankan Source Code dari Projek ini yang bisa didownload dari situs http://www.tair.info/faqs-and-how-tos/how-tos/the-new-multiscreen-explained/ ini juga apabila anda ingin melihat sumber dari tutorial ini. 

Atau anda bisa mendownload source code-nya melalui indowebster download source code tutorial App Inventor Android Multiscreen di link ini juga file pdf dari tutorial pada link download tutorial App Inventor Android Multiscreen dsini

Have Fun


Layanan Public App Inventor dari MIT sudah bisa di coba , silahkan disini MIT Beta App Inventor

Kalau mau coba yg offline silahkan baca-baca dulu disini App Inventor offline
Return top