Ders1: Basic4Android Kurulumu ve Merhaba Picproje uygulaması

Başlatan sigmoid, 22 Ocak 2013, 02:37:40

sigmoid

Android Google tarafından geliştirilmiş mobil işletim sistemidir. Günümüzde o kadar popüler olduki Güney Kore firması Samsung cep pazarında lider konuma geldi. Cep telefonu ve tablet derken fotoğraf makinelerinde bile  android işletim sistemi karşımıza çıkıyor. Android için program yazmak için iki seçenek var. Biri java diğeri ise C/C++ ile native kod yazarak. Native kodlama işlemciye ve donanıma bağlı olduğundan sadece yüksek performans isteyen uygulamalarda tercih ediliyor. Android için program yazmak istenildiğinde ilk akla java ile program yazmak gelir. Java işletim sisteminden ve işlemciden bağımsız olarak çalışan programlar yazmamızı sağlayan bir dildir. C/C++ ile yazılan programlar derlendiklerinde direk makine koduna çevrilir ve bu kodlar işlemci tarafından çalıştırılır. Javada yazılan kodlar ise önce byte koda çevriliyor. Bu byte kodlar her işletim sistemi için ayrı ayrı yazılmış virtual machine tarafından yorumlanıp çalıştırıyor. Eskiden işlemciler yavaş olduğunda java ile yazılan programların performansı iyi değildi. Basic4Android yazılımı bize MS Visual Basic diline benzer bir dil ile android için program yazmamızı sağlayan  güzel bir araçtır. Basic yapısı gereği diğer dillere göre öğrenmesi kolay bir dildir. Neden java değil de  Basic tercih ettiğimi soracak olursanız, bunlardan biri daha önce bildiğim bir dil olması ve yeni bir dil öğrenecek vaktimin olmayışıdır. Eğer vaktim olsaydı emin olun java öğrenmek isterdim. Android için program yazanların büyük çoğunluğu java ile program yazıyor. Javada program yazmak için Eclipse, Java JDK ve AndroidSDK ya ihtiyaç var.

Basic4Android'in yazılımının çalışma mantığı aslında basit. Bizim Basic dilinde yazdığım programı direk java kodlarına çevirip derliyor. İsternek bu java kodlarını proje çalışma dosyamızın içindeki object klasöründe bulabiliriz. Basic dillerinin aksine Basic4android ile yazılan programlar çalışmak için herhangi bir runtime dosyasına ihtiyacımız yok.

Basic4Android yazılımını kurmak için bize gerekenler:
-Java JDK
-Android SDK
-Basic4Android
-Yazığımız programı denemek için tablet veya cep telefonu

Android emülatörü yavaş çalıştığından tablet veya cep telefonunda denemeği tercih ediyorum.

Kurulum için işletim sistemimize uygun Java JDK yı web sitesinden indirip kuralım.
http://www.oracle.com/technetwork/java/javase/downloads/index.html

İkinci aşamada Android SDK yı indirip kurmalıyız. Kurulum klasörü olarak c:\android klasörünü tercih ediyorum. Çok uzun klasör ismi olunca yazılan programları derlemiyor.

http://dl.google.com/android/installer_r21-windows.exe


Kurulum bitince Android SDK managere karşmıza çıkıyor. Burada Extras kısmından Google USB Driver package ve hangi android işletim sistemine program yazmayı düşünüyorsak ona uygun SDK platformunu seçip indirmeliyiz.  Benim elimdeki tablet 4.0.3 versiyonu olduğundan bu versiyonu seçip indirdim.

[IMG]http://imageshack.us/a/img715/6423/androidsdkmanager.png[/img]


En son Basic4Android yazılımı kurmak kalıyor. (http://www.basic4ppc.com/) Kurulumu diğer programlara benziyor. Yalnız kurduğumuz klasör adı içerisinde boşluk karakteri olmamalı.  Yoksa derlerken hata veriyor. C:\Basic4Android klasörüne kurabilirsiniz.  Lisanslı kullanıcıysanız ilk çalıştırdığınızda sizden lisans dosyasını ve email adresinizi isteyecektir. Basic4Android programını açınca Tools-> Configure Paths menüsunden java ve android sdk klasörünü göstermeliyiz.

[IMG]http://imageshack.us/a/img213/3800/configurepath.png[/img]

Yapmış olduğumuz çalışmaları eğer emülatörde denemek istersek
Tools-> Run AVD Manager ile yeni bir emülatör tanımlamalıyız. Burada new butona tıkladıktan sonra emülatörümüzün özellikleriyle ilgili parametreleri girip OK  butonuna tıklıyoruz.

[IMG]http://imageshack.us/a/img560/4353/avdf.png[/img]

Seçmiş olduğumuz android versiyonu ve kapasitesine göre ilk defa emülatör dosyası oluştururken bizi birkaç dakika bekletebilir. Emülatör oluşturulunca Start butonuna basıp emülatörü çalıştıralım. Emülatör çalışınca Basic4Android menüsünden File->New seçip boş bir çalışma dosyası oluşturuyoruz. Boş çalışma dosyasının içeriği

Sub Process_Globals
	'These global variables will be declared once when the application starts.
 	'These variables can be accessed from all modules.

End Sub

Sub Globals
	'These global variables will be redeclared each time the activity is created.
	'These variables can only be accessed from this module.

End Sub

Sub Activity_Create(FirstTime As Boolean)
	'Do not forget to load the layout file created with the visual designer. For example:
	'Activity.LoadLayout("Layout1")

End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub



gibi. Bir sonraki derste bu sub klasörlerinin ne işe yaradığından bahsedeceğim. Şimdilik Merhaba dünya uygulamasını yazalım.

Sub Activity_Create(FirstTime As Boolean)    
	Log("Merhaba!")    
	Msgbox("Merhaba Picproje", "İlk programımız")
End Sub


Yapmış olduğumuz çalışmayı çalıştırmadan önce kaydetmemiz gerekiyor.Kaydettiğimiz klasör içerisinde asla  boşluk karakteri olmamalı. Arka planda emülatörde çalışırken Run butonuna tıklayalım. Yazmış olduğumuz Basic kodları java kodlarına çevrilip derleniyor ve emülatöre yükleniyor.

[IMG]http://imageshack.us/a/img89/6/helloz.png[/img]

İstersek yazdığımı kodları direk olarak tabletimizde de deniyebiliriz. Bunun için tablete B4A-Bridge programını kurmamız ve wifi yi açmamız gerekir. Böylece Wifi ile tableta bağlanıp gerçek cihaz üzerinde programımızı deneme imkanımız oluyor. Açıkcası ben cihaz üzerinde denemeyi tercih ederim. B4A-Bridge nı google playden veya http://www.basic4ppc.com/android/files/b4a_bridge.apk adresinden indirip kurabilirsiniz. Program ilk çalıştırıldığında ekranda ip adresi yazıyor. Bu adres tabletimizin ip adresidir, bir kenara not edelim. Start Wireless butonuna tıklayarak wireless debug işlemini başlatalım. Şimdi Basic4Android programı ile tabletimize bağlanmak kalıyor. Tools -> B4A Bridge -> Connect -Wireless menüsüne tıklayalım. Bizden tabletimizin ip adresini isteyecektir. Tablete bağlandıktan sonra Run butonuna basıp yapmış olduğumuz çalışmayı çalıştıralım.

[IMG]http://imageshack.us/a/img801/9260/tabletz.jpg[/img]

RaMu

Elinize emeğinize sağlık, geçen Sayın Barış SAMANCI sitesindede bir android giriş yazısı okumuştum, hernekadar m.d. ile uğraşsamda bu tip yazıları görünce hemen söylenenleri indirip bir deneyeyim diye içimden geçiyor.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

OG

@sigmoid, hızlı başlangıç, sağolasın, takipteyiz, peşindeyiz.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

Seckin ALAN

Kar taneleri ne güzel anlatıyor, birbirlerine zarar vermeden de yol almanın mümkün olduğunu.. Mevlana

Mucit23


sigmoid


serhat1990

Hocam emeklerinize sağlık çok güzel bir paylaşım. İçimdeki android merakı yine arttı .

İyi çalışmalar dilerim .

Andromeda

" Tanrı, iradesini hakim kılmak için yeryüzündeki iyi insanları kullanır, yeryüzündeki kötü insanlar ise kendi iradelerini hakim kılmak için Tanrı'yı kullanırlar." ..." Tanrı'dan mesaj gelmiyor, biz Tanrı'ya mesaj gönderiyoruz"

cengz


Kazım

@Sigmoid;    Teşekkürler ..Sanırım Birgün Mutlaka Bizimde El Atacağımız Bir Konu Galiba Bu.


pisayisi

Güzel yaa, android ile yapılan ilk Hello World uygulaması teşekkürler :D
Murat

yusufburak

Sonuna kadar gidersiniz umarım :) arşivime atıyorum :))) ve takipteyim.
Öğretici aranıyor :)

magnetron

hocam bu android tablete USB serial adaptör bağlanabiliyor mu ?

ve bu COM portunu bu bahsettiğiniz Basic4 ile programlayabiliyor muyuz ?

eğer öyleyse PLC operator panel olarak kullanılabilir diye düşünüyorum - fiyatı da çok iyi olduğundan

sigmoid

Biraz araştırınca şu linke rastladım.

http://www.basic4ppc.com/forum/additional-libraries-classes-official-updates/24835-usbserial-library-supports-ftdi-arduinos-other-usb-serial-devices.html#post143809

UsbSerial library - Supports FTDI, Arduinos and other USB serial devices

FTDI desteklediğine göre kendi yaptığımız cihazlarla android tabletleri haberleştirebilriz. PLC için birşey diyemem. Araştırmak lazım.

Murat Mert

mert07