kmurat
Dekan
- Katılım
- 8 Şubat 2014
- Mesajlar
- 8,488
- Çözümler
- 3
- Reaksiyon puanı
- 3,711
- Puanları
- 113
Android Programlama
Bu konuda nasıl Android için program geliştirilebileceğini değil, Android cihazınızda (Telefon'da veya Tablet'te) nasıl kendi programlarınızı geliştirebileceğinizi anlatacağım.
Artık ben de Dünya'daki gelişmelere uydum, ve cep telefonumu değiştirdim. Denediğim ilk iş olarak ta, Android'in ne derecede programlanabilir oluğunu sınamak.
Bunu yapabilmek için iki şeye ihtiyacımız var. Birincisi, Basic programlama bilgisi. İkincisi ise, bu bilginin Android'e nasıl uyarlanabileceğini bilmek.
İlk olarak Google play'den Mobile Basic for Android (kısaltılmış olarak "Mobile Basic") uygulamasını indirmek.
Mobile BASIC - Google Play'de Android Uygulamaları
Mobile Basic'i uygulamalar arasından bulup çalıştıralım ve ilk denemelerimizi yapalım. İlk olarak üstte gördüğümüz panel'den, "Memory card" seçerek kişisel verilerimizin bulunduğu disk alanına girelim ve paneli sola kaydırarak "Create folder" seçeneğini bulalım ve seçelim. Bizden bir isim girmemiz istenecek. İsim olarak "Mobile Basic" yazalım ve kayıt edelim. Şimdi "Mobile Basic" isimli ve kişisel çalımalarımızı saklayabileceğimiz bir klasörümüz var.
"Mobile Basic" isimli klasörümüzü açalım ve panelden "Create file" seçelim. Ve yine bir isim girelim. isim olarak "denem1" yazabilirir. Şimd "Mobile Basic" isimli yeni klasörümüzün içinde "deneme1" adında bir yeni dosyamız oldu.
"deneme1" dosyasını açalım ve ilk kodlarımızı yazalım. Mobile Basic kodları, Masaüstünden bildiğimiz Basic kodlarından farklı olarak, kalıplar şeklinde yazılırlar ve satır numaraları kullanılmaz.
SUB MAIN
PRINT "Merhaba SDNForum"
END SUB
Yukarıda gördüğümüz bir Basic programının kodları. Biz kodlarımızı yazarken, eş zamanlı olarak kodlarımız kayıt olur ve ayrıyetten bizim kayıt için başka bir şey yapmamız gerekmez. Çalıştırmak için Editör'ün panelindeki "Mavi Ok" işaretine basalım.
Tekrar editöre geri dönmek için Android'in geri dönüş tuşuna basıyoruz. Her yaptığımız düzeltme anında kayıt oluyor. Editörden çıkmak için, yine geri dönüş tuşuna, veya paneldeki "Mobil Basic"in simgsine basıyoruz. "deneme1" olarak kayıt ettiğimiz dosyamıza, Mobile Basic, kodlarımızı yazdıktan sonra, "bas" uzantısını eklemiş ve dosyamızın adı "deneme1.bas" olarak değişmiş olacak.
Yazdığımız kalıbı inceleyelim.
ilk satırda yazdığımız "SUB MAIN" kalıbın başlangıcını temsil eder. "MAIN" kalıbın ismi olur, ancak "MAIN" özel bir statüye sahip bir isim. Bir pogram içinde bir den fazla kalıp kullandığımızda, "MAIN" isimli kalıp, Ana kalıp olur ve diğer kalıpları çalıştırır. "MAIN" kalıbı programımızdaki ilk kalıp olmak zorunda. Tek kalıptan oluşan bir programda, kalıbın adı "MAIN" olmak zorunda.
Kalıbımızın son satırı, "END SUB" kalıbın sonunu işaretler. Başlangıç satırı ve son satır arasındaki bölüm, programımızın gövdesi ve çok sayıda satırdan oluşabilir veya çok sayıda işlemi içerebilir.
Tüm kodlarımızı büyük harfler ile yazmak zorundayız. QBasic'te olduğu gibi, bir otomatik düzeltme, Mobile Basic'te yok.
Aynı programı QBasicte şu şekilde yazabilirdik
10 PRINT "Merhaba SDNForum"
Şimdi yeni bir dosya daha açalım ve adınıda "deneme2" koyalım. Ve aşağıdaki kodlarımızı yazalım.
SUB MAIN
CALL ANNEM
CALL BABAM
END SUB
SUB ANNEM
PRINT "Nesime Kara"
END SUB
SUB BABAM
PRINT "Huseyin Kara"
END SUB
Bir den fazla kalıptan oluşan bir programın örneğini görüyoruz. Ana kalıbımız ve ilk kalıbımız olan "SUB MAIN" içinden diğer kalıpları ve içerdikleri işlemleri "CALL" komutu ile çağırıyoruz. Mobile Basic Türkçe karakterleri, program çalıştırıldığında düzgün göstermiyor. Bu nedenle "Ü İ ı ğ Ğ ş Ş ç Ç" gibi karakterler kullanmamaya özen göstermemiz gerekiyor.
Uzun programlarımızda, kalıplarımızın ne tür işlem yaptıklarını zaman içinde karıştırmamak için, kodlarımızın arasına açıklamalar ekleyebiliriz. Mesela "SUB ANNEM" kalıbının içine, aşağıdaki gibi bir açıklama ekleyebiliriz.
SUB ANNEM
// Annemin adını ve soy adını bildiren işlem
PRINT "Nesime Kara"
END SUB
"//" Bu işaretleme ile başlayan satır, programımız çalışırken yok sayılacak. Programımız görmeyecek. Ama sonradan bir düzeltme yapmak istediğimizde, bize aradığımız kalıbı bulmakta ve içeriği hakkında bilgi verecek.
/* Bu şekilde ise çok
satırlı açıklamalar eklemek
mümkün olacak*/
QBasic'te ve diğer Masaüstü sürümlerinde, açıklamalar ekleyebilmek için "REM" kullanılır.
Bir başka örnek deneyelim.
SUB MAIN
GRAPHICS
SETCOLOR 255, 0, 0
CLS
SETCOLOR 0, 0, 127
SETFONT "MONOSPACE", 50
DRAWSTRING "Merhaba SDNForum", 10, SCREENHEIGHT () / 10
SLEEP 5000
END SUB
Kodlarımızı inceleyelim.
"GRAPHICS" kodu programımıza çalışma modunun grafiksel moda geçeceğini bildirir.
"SETCOLOR" ile varsayılan renk seçilir. Rakamlar renk ton'larını belirler ve renkler "Kırmızı, Yaşil ve Mavi" tonlardan bir karışımdan oluşur.
"CLS" ekranı temizler. Varsayılan olarak beyaz olan ekran temizlenir ve seçili renk ekranı kaplar.
İkinci "SETCOLOR" ile bir sonraki olayın rengi belirlenir.
"SETFONT" ile kullanılmaz istenen font seçilir.
"DRAWSTRING" grafik ortamına yazı karakterleri ekler. bu yazı karakterleri, seçili font biçiminde ve son seçili renk ton'unda. İlave olarak karakterlerin başlayacağı nokta belirlenir. "10" rakamı, on piksel sol kenardan içeride bir başlangıç noktası belirler. "SCREENHEIGHT ()" ise başlangıç noktasının derinliğini belirler. Android cihazların ekranlarının boyutları farklı ve de dönebilir olması nedeniyle, burada piksel boyutu yerine, ekran ölçeğine göre oran kullanılıyor. Mobile Basic taşınabilir cihazlar için tasarlanmış olduğundan, yeni ve farklı komutlar ve olanaklar destekler.
"SLEEP" komutu ekranın bekletilmesini sağlar. Grafik ortam sürekli kendini yenilediğinden ötürü, ekran bekletilmediği taktirde, görüntü algılanamadan silinir.
Yeni bir örnek daha
SUB MAIN
GRAPHICS
SETCOLOR 127, 0, 0
CLS
SETCOLOR 0, 127, 255
FILLCIRCLE SCREENWIDTH () /2, 200, 100
SLEEP 5000
END SUB
Kodları inceleyelim.
"FILLCIRCLE" içi boyalı bir daire (küre) çizer. "CIRCLE" ise içi boş bir daire çizer.
"CIRCLE 100, 100, 50" parametreleri sol'dan sağa piksel boyutunda başlangıç noktası, yukarıdan aşağıya başlangıç noktası ve (50) yarıçapını belirlerler.
"SCREENWIDTH ()" ve ekran ölçekleme ( "/ 2" ) ekrann her konumda, dairemizin doğru yerde bulunmasını sağlar.
Bir başka örnek.
SUB MAIN
DIM X AS INTEGER
GRAPHICS
FOR X = 300 TO 600
SETCOLOR 127, 0, 0
CLS
SETCOLOR 255, 255, 0
FILLCIRCLE SCREENWIDTH () / 2, X, 100
SLEEP 50
REPAINT
END FOR
SLEEP 5000
END SUB
Bu örnekte kullandığımız yeni kodlar, "DIM" bir değer atamak için ve başka bir de diziler atamak için kullanılır.
Mobile Basic'te kullanılacak değerler ve temsil ettikleri veri türü, kullanılamadan önce tanımlanmaları gerekiyor.
"FOR" ve "END FOR" kalıbı bir dayılı dögüyü başlatır.
"REPAINT" tekrarlanan grafik işlemlerde tıkanmaları önler.
Her Mobil Basic'i yeniden başlattığınızda, karşınıza "Examples" adında bir klasör çıkar. Bu klasör örnek dosyalar içeren alt klasörler içerir. Örnekler kısa ve öz ve her alt klasör, belirli bir konu ile ilgili örnekler içeriri.
Üst paneli sola kaydırıp "Help" seçtiğinizde, veya editör açıkken seçenekler sekmesinden "Help" seçtiğinizde, karşınıza çıkan "html" sayfasının en alt kısmından "Mobile Basic Reference" seçtiğinizde, tüm Basic (Mobil sürümü için) kodlarının kategorilere ayrılmış ve kısa anlatımlarına ve birer kısa örneklerine kavuşursunuz.
Hem örneklerden, hem anlatımlardan faydalanarak, kendi programlarınızı yazabilirsiniz.
Bu konuda nasıl Android için program geliştirilebileceğini değil, Android cihazınızda (Telefon'da veya Tablet'te) nasıl kendi programlarınızı geliştirebileceğinizi anlatacağım.
Artık ben de Dünya'daki gelişmelere uydum, ve cep telefonumu değiştirdim. Denediğim ilk iş olarak ta, Android'in ne derecede programlanabilir oluğunu sınamak.
Bunu yapabilmek için iki şeye ihtiyacımız var. Birincisi, Basic programlama bilgisi. İkincisi ise, bu bilginin Android'e nasıl uyarlanabileceğini bilmek.
İlk olarak Google play'den Mobile Basic for Android (kısaltılmış olarak "Mobile Basic") uygulamasını indirmek.
Mobile BASIC - Google Play'de Android Uygulamaları
Mobile Basic'i uygulamalar arasından bulup çalıştıralım ve ilk denemelerimizi yapalım. İlk olarak üstte gördüğümüz panel'den, "Memory card" seçerek kişisel verilerimizin bulunduğu disk alanına girelim ve paneli sola kaydırarak "Create folder" seçeneğini bulalım ve seçelim. Bizden bir isim girmemiz istenecek. İsim olarak "Mobile Basic" yazalım ve kayıt edelim. Şimdi "Mobile Basic" isimli ve kişisel çalımalarımızı saklayabileceğimiz bir klasörümüz var.
"Mobile Basic" isimli klasörümüzü açalım ve panelden "Create file" seçelim. Ve yine bir isim girelim. isim olarak "denem1" yazabilirir. Şimd "Mobile Basic" isimli yeni klasörümüzün içinde "deneme1" adında bir yeni dosyamız oldu.
"deneme1" dosyasını açalım ve ilk kodlarımızı yazalım. Mobile Basic kodları, Masaüstünden bildiğimiz Basic kodlarından farklı olarak, kalıplar şeklinde yazılırlar ve satır numaraları kullanılmaz.
SUB MAIN
PRINT "Merhaba SDNForum"
END SUB
Yukarıda gördüğümüz bir Basic programının kodları. Biz kodlarımızı yazarken, eş zamanlı olarak kodlarımız kayıt olur ve ayrıyetten bizim kayıt için başka bir şey yapmamız gerekmez. Çalıştırmak için Editör'ün panelindeki "Mavi Ok" işaretine basalım.
Tekrar editöre geri dönmek için Android'in geri dönüş tuşuna basıyoruz. Her yaptığımız düzeltme anında kayıt oluyor. Editörden çıkmak için, yine geri dönüş tuşuna, veya paneldeki "Mobil Basic"in simgsine basıyoruz. "deneme1" olarak kayıt ettiğimiz dosyamıza, Mobile Basic, kodlarımızı yazdıktan sonra, "bas" uzantısını eklemiş ve dosyamızın adı "deneme1.bas" olarak değişmiş olacak.
Yazdığımız kalıbı inceleyelim.
ilk satırda yazdığımız "SUB MAIN" kalıbın başlangıcını temsil eder. "MAIN" kalıbın ismi olur, ancak "MAIN" özel bir statüye sahip bir isim. Bir pogram içinde bir den fazla kalıp kullandığımızda, "MAIN" isimli kalıp, Ana kalıp olur ve diğer kalıpları çalıştırır. "MAIN" kalıbı programımızdaki ilk kalıp olmak zorunda. Tek kalıptan oluşan bir programda, kalıbın adı "MAIN" olmak zorunda.
Kalıbımızın son satırı, "END SUB" kalıbın sonunu işaretler. Başlangıç satırı ve son satır arasındaki bölüm, programımızın gövdesi ve çok sayıda satırdan oluşabilir veya çok sayıda işlemi içerebilir.
Tüm kodlarımızı büyük harfler ile yazmak zorundayız. QBasic'te olduğu gibi, bir otomatik düzeltme, Mobile Basic'te yok.
Aynı programı QBasicte şu şekilde yazabilirdik
10 PRINT "Merhaba SDNForum"
Şimdi yeni bir dosya daha açalım ve adınıda "deneme2" koyalım. Ve aşağıdaki kodlarımızı yazalım.
SUB MAIN
CALL ANNEM
CALL BABAM
END SUB
SUB ANNEM
PRINT "Nesime Kara"
END SUB
SUB BABAM
PRINT "Huseyin Kara"
END SUB
Bir den fazla kalıptan oluşan bir programın örneğini görüyoruz. Ana kalıbımız ve ilk kalıbımız olan "SUB MAIN" içinden diğer kalıpları ve içerdikleri işlemleri "CALL" komutu ile çağırıyoruz. Mobile Basic Türkçe karakterleri, program çalıştırıldığında düzgün göstermiyor. Bu nedenle "Ü İ ı ğ Ğ ş Ş ç Ç" gibi karakterler kullanmamaya özen göstermemiz gerekiyor.
Uzun programlarımızda, kalıplarımızın ne tür işlem yaptıklarını zaman içinde karıştırmamak için, kodlarımızın arasına açıklamalar ekleyebiliriz. Mesela "SUB ANNEM" kalıbının içine, aşağıdaki gibi bir açıklama ekleyebiliriz.
SUB ANNEM
// Annemin adını ve soy adını bildiren işlem
PRINT "Nesime Kara"
END SUB
"//" Bu işaretleme ile başlayan satır, programımız çalışırken yok sayılacak. Programımız görmeyecek. Ama sonradan bir düzeltme yapmak istediğimizde, bize aradığımız kalıbı bulmakta ve içeriği hakkında bilgi verecek.
/* Bu şekilde ise çok
satırlı açıklamalar eklemek
mümkün olacak*/
QBasic'te ve diğer Masaüstü sürümlerinde, açıklamalar ekleyebilmek için "REM" kullanılır.
Bir başka örnek deneyelim.
SUB MAIN
GRAPHICS
SETCOLOR 255, 0, 0
CLS
SETCOLOR 0, 0, 127
SETFONT "MONOSPACE", 50
DRAWSTRING "Merhaba SDNForum", 10, SCREENHEIGHT () / 10
SLEEP 5000
END SUB
Kodlarımızı inceleyelim.
"GRAPHICS" kodu programımıza çalışma modunun grafiksel moda geçeceğini bildirir.
"SETCOLOR" ile varsayılan renk seçilir. Rakamlar renk ton'larını belirler ve renkler "Kırmızı, Yaşil ve Mavi" tonlardan bir karışımdan oluşur.
"CLS" ekranı temizler. Varsayılan olarak beyaz olan ekran temizlenir ve seçili renk ekranı kaplar.
İkinci "SETCOLOR" ile bir sonraki olayın rengi belirlenir.
"SETFONT" ile kullanılmaz istenen font seçilir.
"DRAWSTRING" grafik ortamına yazı karakterleri ekler. bu yazı karakterleri, seçili font biçiminde ve son seçili renk ton'unda. İlave olarak karakterlerin başlayacağı nokta belirlenir. "10" rakamı, on piksel sol kenardan içeride bir başlangıç noktası belirler. "SCREENHEIGHT ()" ise başlangıç noktasının derinliğini belirler. Android cihazların ekranlarının boyutları farklı ve de dönebilir olması nedeniyle, burada piksel boyutu yerine, ekran ölçeğine göre oran kullanılıyor. Mobile Basic taşınabilir cihazlar için tasarlanmış olduğundan, yeni ve farklı komutlar ve olanaklar destekler.
"SLEEP" komutu ekranın bekletilmesini sağlar. Grafik ortam sürekli kendini yenilediğinden ötürü, ekran bekletilmediği taktirde, görüntü algılanamadan silinir.
Yeni bir örnek daha
SUB MAIN
GRAPHICS
SETCOLOR 127, 0, 0
CLS
SETCOLOR 0, 127, 255
FILLCIRCLE SCREENWIDTH () /2, 200, 100
SLEEP 5000
END SUB
Kodları inceleyelim.
"FILLCIRCLE" içi boyalı bir daire (küre) çizer. "CIRCLE" ise içi boş bir daire çizer.
"CIRCLE 100, 100, 50" parametreleri sol'dan sağa piksel boyutunda başlangıç noktası, yukarıdan aşağıya başlangıç noktası ve (50) yarıçapını belirlerler.
"SCREENWIDTH ()" ve ekran ölçekleme ( "/ 2" ) ekrann her konumda, dairemizin doğru yerde bulunmasını sağlar.
Bir başka örnek.
SUB MAIN
DIM X AS INTEGER
GRAPHICS
FOR X = 300 TO 600
SETCOLOR 127, 0, 0
CLS
SETCOLOR 255, 255, 0
FILLCIRCLE SCREENWIDTH () / 2, X, 100
SLEEP 50
REPAINT
END FOR
SLEEP 5000
END SUB
Bu örnekte kullandığımız yeni kodlar, "DIM" bir değer atamak için ve başka bir de diziler atamak için kullanılır.
Mobile Basic'te kullanılacak değerler ve temsil ettikleri veri türü, kullanılamadan önce tanımlanmaları gerekiyor.
"FOR" ve "END FOR" kalıbı bir dayılı dögüyü başlatır.
"REPAINT" tekrarlanan grafik işlemlerde tıkanmaları önler.
Her Mobil Basic'i yeniden başlattığınızda, karşınıza "Examples" adında bir klasör çıkar. Bu klasör örnek dosyalar içeren alt klasörler içerir. Örnekler kısa ve öz ve her alt klasör, belirli bir konu ile ilgili örnekler içeriri.
Üst paneli sola kaydırıp "Help" seçtiğinizde, veya editör açıkken seçenekler sekmesinden "Help" seçtiğinizde, karşınıza çıkan "html" sayfasının en alt kısmından "Mobile Basic Reference" seçtiğinizde, tüm Basic (Mobil sürümü için) kodlarının kategorilere ayrılmış ve kısa anlatımlarına ve birer kısa örneklerine kavuşursunuz.
Hem örneklerden, hem anlatımlardan faydalanarak, kendi programlarınızı yazabilirsiniz.