İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Mobil Dünya
  4. Android
Android

Android İle İlk Program

kosasker08.10.201025 cevap39.212 görüntüleme
2008'den beri3.195 mesaj
#1
Merhaba arkadaşlar. 07.10.2010 tarihinde yazmış olduğum Google Android SDK (SDK-Yazılım Geliştirme Kiti) Kurulumu ve Eclipse adlı yazıdan sonra şimdi de ilk programımıza geçelim. Eğer android sdk kurulumunda sorun yaşadı iseniz yine Google Android SDK (SDK-Yazılım Geliştirme Kiti) Kurulumu ve Eclipse konusunun devamından yardım isteyebilirsiniz.

Öncelikle Android SDK'nın çalışma mantığı hakkında size bilgi vermek istiyorum. Android SDK büyük bölümü java ile yazılmış bir uygulama geliştirme aracı. Android SDK bize üzerinde çalışabilmemiz için sanal bir veya birden fazla cihaz (evet sanal telefon) ve kendi yazılım kütüphane dosyalarını sunuyor. Bu da şu demek; bu yazdığımız kodları denemek için illa ki android yüklü bir cep telefonu, PDA ya da herhangi bir elektronik cihaza ihtiyacınız yok. Uygulama ortamı içerisinde çalışma zamanında dahi bu sanal cihazı oluşturup istediğiniz özellikleri vermeniz mümkün. Android SDK nın içerisinde de ayrıca ingilizce olarak yazılmış dökümanlar var. Bunlardan rahatlıkla yararlanabilirsiniz. Ayrıca yazılım kütüphanelerinin ne işe yaradığını, neler yapabildiğini, sınırlarının ne olduğunu anlatan "referans dökümanı" da bu dökümanlar içerisinde mevcut. Tek bilmeniz gereken biraz ingilizce. Eğer ingilizce ile alakalı sorun yaşıyorsanız "google translate" hizmetinden ve internette yayında olan sözlüklerden yararlanın. Bu kısa bilgilerden sonra şimdi örneğimize geçelim isterseniz.

Yapacağımız program, android sanal cihazımız içerisine istediğimiz cümleyi yazmamızı sağlayacak. Yapacağı iş tam olarak bu. Lafı daha fazla uzatmadan anlatmaya ve kod yazmaya başlayalım. Öncelikle Eclipse yazılımını açıyoruz. Eclipse açıldığında direkt olarak " CTRL + N " tuşlarına da basarak yeni bir proje açmak için gerekli formu çağırabilirsiniz. Fare ile seçmek için aşağıda gösterildiği gibi "File\New\Other" seçeneklerini izleyin :)



Karşımıza gelen formdan "Android Project" seçeneğini seçiyoruz ve "Next" butonuna basıyoruz.



Gelen diğer ekranda bizden proje adı, uygulama eklenti arayüzü (API), uygulama adı, paket ismi (aşağıda açıklayacağım), etkinlik adı ve desteklenecek minimum SDK versiyonu seçmemiz isteniyor. Öncelikle bunları açıklayalım.



Project Name: Projemiz için gireceğimiz isimdir. Burada verdiğimiz ad doğrultusunda Eclipse, aynı adda klasör açar ve projede kullanacağımız dosyaları standart olarak bu klasör içerisinde biriktirir. Burada vereceğiniz ad bitişik olmalıdır. Birden fazla kelime kullanımı için alt çizgi kullanabilirsiniz.

Build Target: Yaptığımız uygulamanın çalışacağı Android sürümünü belirtir. İnternette araştırdığım kadarı ile şu an piyasada bulunan en alt Android işletim sistemi sürümü 1.6, o yüzden yine de ne olur ne olmaz 1.5 ile çalışmanızı tavsiye ediyorum.

Android' in bir güzelliği de işletim sistemi yeni olsa dahi, eski yapılan uygulamaları desteklemesi. O yüzden 1.5 sürümüne yönelik yapacağınız uygulama, eğer çalışması için 1.5' e bağımlı bir yazılım veya eklenti kullanmıyorsa, yani standartlara uygun yazılmışsa çok çok büyük bir ihtimalle en yeni sürümlerde de çalışmaya devam edecektir.

Application Name: Android uygulamamızın adıdır. Proje adı ile farkı bulunmaktadır. "Application Name" kısmında istediğiniz herhangi bir adı yazabilirsiniz. Bu yazacağınız ad, projenin "MANIFEST" (içerik) dosyasına yazılacaktır ve derlenmiş uygulamanızın adını belirtir. Yapacağınız uygulamaları derlediğinizde, derlenmiş dosya adı ve android üzerinde görünecek form başlığı buradan gelmektedir. Az sonra yazacağımız örnekte de bunu göreceksiniz :)

Package Name: Burası gerçekten önemli. "Package Name" aynen Java' da belirtilen "package" ya da C# da kullanılan "namespace" belirtiminin aynısını uygulamak için kullanılır.
"Package name" yazacağımız sınıf (class) nesnelerinin ait olacağı üst bağı belirtir. Bir proje için birden fazla alt proje açmamız veya birden fazla ayrı dosya açmamız gerekir. "package" belirtimi ortak isimle yapılmış dosyaların içerisine yazılmış nesnelerin ancak birbirine erişimi olabilir, farklı isimlileri ise import ederek kullanabiliriz.

Create Activity: Burada projede kullanacağımız sınıfı belirtiyoruz. İsterseniz yanındaki onay kutusunu kaldırarak boş geçebilirsiniz. Ben bu örneğimde proje ile aynı ismi vererek kullandım.
Burada yazılan isim bize hazır bir sınıf nesnesi (class) oluşturacağı için Java yazım kurallarına uygun olarak yazmanız gerekmektedir.
Kelimelerin Ilk Harfleri Büyük Olmalı,
turkce karakter kullanmamali ve
Birden_Fazla_Kelime_Kullanmak_Isterseniz_Araya_Karakter_Olarak_Sadece_Alt_Cizgi_Koyabilirsiniz.
IstersenizBitisikdeYazabilirsiniz

"Min SDK Version:" Uygulamamızı derlediğimizde çalıştıracağımız minimum android SDK versiyonunu burada belirtiyoruz. Şu an ki sürümümüz 3 serisinden olduğu için buraya rakamla "3" yazıyorum.

Yazılan tüm değerler şunlar:

Project Name:MerhabaAndroid
BuildTarget:1.5
Application Name: Merhaba Android
Package Name:com.denemeler.merhabaandroid
Create Activity: MerhabaAndroid
Min SDK Version: 3


Bu değerleri girdikten sonra "Finish" butonuna basıyorum ve proje dosyası içerisinden MerhabaAndroid.java dosyasına çift tıkladığımda aşağıdaki görüntü karşıma geliyor :)



Umarım buraya kadar bir sorun yaşamadınız. Evet artık elimizde bir proje dosyası olduğuna göre içerisinde istediğimiz değişiklikleri yapalım ve çalışan küçük programımızı yapalım.

Sanal cihazımızın ekranına bir yazı yazdıracağız ve bu yazıyı taşıması için bir nesnemiz var. Adı TextView. "import" belirtimini kullanarak MerhabaAndroid.java dosyamıza bu nesneyi ekleyelim.

import android.widget.TextView;




Projeyi oluşturma aşamasında "Create Activity" seçeneğinin bizim için bir sınıf nesnesi oluşturacağını söylemiştik ve oraya MerhabaAndroid yazmıştık. Bu sınıfın oluşturulmuş olduğunu görüyoruz. Hazır oluşturulmuş kodlar içerisinde bulunan

 
setContentView(R.layout(main);

kodunu siliyoruz ve yerine "TextView" nesnesini kullanmak için gerekli kodlarımızı yazıyoruz.


TextView tv=new TextView(this);
tv.setText("\n\nMerhaba\nBu ilk uygulamamız :)");
setContentView(tv);


Yazdığımız kodun son hali şu şekilde


package com.denemeler.merhabaandroid;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class MerhabaAndroid extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        TextView tv=new TextView(this);
        tv.setText("\n\nMerhaba\nBu ilk uygulamamız :)");
        setContentView(tv);
        
    }
}

*Not: Yazımlarda büyük, küçük harf ayrımına dikkat edilmelidir.

Yazdığımız kodda bulunan satırları inceleyelim.

package com.merhab... : Daha önce de dediğim gibi burada proje sınıflarımız için kullanacağımız üst bağlamı bildiriyoruz.

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

Uygulamamızın ihtiyaç duyduğu nesneleri, import belirtimi ile projemize dahil ediyoruz.
İlk import cümlesinde; android işletim sisteminin, yazdığımız sınıf nesnesini (class) programın yürütüldüğü anda çalıştırılması için gerekli (Activity) özelliğe sahip olduğunu belirtmek için kullanıyoruz. Burada kalıtım yolu ile "Activity" nesnesinden referans alan yeni bir sınıf oluşturuyoruz ki, android işletim sistemi içerisinden uygulamamızı çalıştırdığımızda bu sınıfımızın içerisindeki kodlar çalışmaya başlasın.

İkinci import belirtiminde ise, yaptığımız uygulamanın bir android modülü ya da eklentisi gibi çalışmasını sağlamak için gerekli kütüphaneyi çağırıyoruz.

Üçüncü import da ise daha önce de dediğim gibi TextView nesnesini oluşturmak için gerekli kütüphaneyi çağırmaktayız.

public class MerhabaAndroid extends Activity {

Dikkat ederseniz birinci import cümlesinde çağırdığımız Activity nesnesini burada sınıfımıza kalıtım vermek için kullanıyoruz.

public void odCreate(Bundle.....

İkinci import belirtiminde çağırdığımız nesneyi de burada kullandığımız fonksiyonun argümanı olarak veriyoruz. "Bundle" nesnesi bizim kullandığımız fonksiyonun eklenti olarak iş yapacağını bildiriyor.

super.onCreate(savedInstanceState);

super niteliği, kullandığınız nesnenin veya nesne niteliğinin barındırdığı değer dahil tüm özellikleri ile bir üst hiyerarşide bulunan katmana aktarılmasını sağlar. Burada onCreate nesnesine ait savedInstanceState niteliğini bir üst hiyerarşiye aktarıyoruz ki, android işletim sistemi bu eklentinin varlığından haberdar olsun. Aksi takdirde zaten program çalışmaz, çünkü program içerisindeki fonksiyonu dışarıya açmayacaktır. Eğer sadece kendi sınıfımız içerisinde işlemler yapacaksak bu komutun kullanımına gerek yoktur.

TextView tv=new TextView(this);
tv.setText("\n\nMerhaba\nBu ilk uygulamamız :)");
setContentView(tv);


Bu üç satırda TextView nesnemizi oluşturuyoruz ve setContentView ile de gösterilmesini sağlıyoruz.

Evet kodlamamız bu kadar şimdi de yazdığımız kodları çalıştırıp deneyelim :)

Eclipse' in sol tarafında bulunan "Project Explorer" a gelip, proje üzerine ters tıklayın, resimde görüldüğü gibi çalıştırın.



Eğer hata alırsanız büyük ihtimalle sanal cihazınızı eklemeyi unutmuşsunuzdur. Google Android SDK (SDK-Yazılım Geliştirme Kiti) Kurulumu ve Eclipse linkinde bulunan yazı ile beraber işlem adımlarını tekrar edin :)

Evet sanal cihazımız çalışıyor. Burada biraz beklememiz gerekecek, bende yaklaşık 3 dakika sürüyor sanal cihazımın açılması.



Sanal cihaz bir kere açıldıktan sonra kapatmanıza gerek olmadığını da belirtmeliyim.

Ve biraz bekledikten sonra sonuç karşımızda :)



Sorun yaşayan olursa buradan devam edebiliriz. Umarım işinize yarayan bir çalışma olmuştur. Herkese iyi çalışmalar. :)
Cevaplar
2008'den beri6.607 mesaj
#2
Tebrikler :) Çok güzel anlatım gerçekten.

Üyelerimizin bu konudan daha etkin yararlanması için bir süreliğine bu 2 konuyu sabit başlığa alıyorum :)
kosasker Konuyu açan
2008'den beri3.195 mesaj
#3
:) Şukular gelmiş hemen:D
Teşekkür ederim, elimden geldiğince yazmaya çalışacağım. :clover:
2009'den beri355 mesaj
#4
çok güzel bir anlatım olumş emeğinize sağlık.
2010'den beri5.704 mesaj
#5
kurması biraz karış geldi bana ama kurabilirsem bunu deniycem :D

SDN Android Market te oluşturabilriz aslında :D yaptığımız uygulamaları oraya koyarız :D
gerçi bu daha sonraki adım olur ama aklınızda bulunsun :)
kosasker Konuyu açan
2008'den beri3.195 mesaj
#6
Bende android ile yeni tanıştım. Özellikle vektörel grafiklerin olduğu örnek uygulamalar geliştirip, bu konu hakkında yazılar yazmaya çalışacağım. Takip eden arkadaşlar olacaksa tavsiyem, Java öğrensinler, eclipse' i kurup, kurcalasınlar, eclipse eklentilerini kursunlar ve öğrensinler. Kolay gelsin :)
2008'den beri272 mesaj
#7
Hocam anlatım çok güzel, devamını bekliyoruz, bu uygulamayı derleyip, gerçek bir telefona atılabilecek şekle nasıl getirebiliriz? Jar/Jad dosyası mı yapmamız gerekiyor?
2010'den beri5.704 mesaj
#8
android uygulamalarının uzantısı apk dir ;)
kosasker Konuyu açan
2008'den beri3.195 mesaj
#9
Selam, Android Uygulamaları java dili ile, Android kütüphaneleri kullanılarak yazılıyor. Bu yüzden de biraz java dilinin yapısına hakim olmak gerekiyor. Ayrıca Java ve flash ile yapılmış uygulamalar çalıştırılabiliyor. Kolay gelsin :clover:
2010'den beri2 mesaj
#10
teşekkürler güzel bi anlatım olmuş.. "başarılarının" devamını diliyorum desem ne demek istediğimi anlarsın heralde ;)
2009'den beri18 bin mesaj
#11
bu forumda androide dair olması gereken konulardan biride rom değiştirme yakın zamanda detaylı olarak biri yazarsa iyi olur aslında
2010'den beri107 mesaj
#12
teşekürler en kısa zamanda bende androidli bir cihaza gececegim
2007'den beri309 mesaj
#13
Elinize sağlık. teşekkürler. Nerden başlayaum diyenler için iyi bir kaynak
2006'den beri12 bin mesaj
#14
Güzel anlatmissin eline saglık
2011'den beri1 mesaj
#15
elinize sağlık iyi bir başlangıç oldu
2011'den beri1 mesaj
#16
Müthiş bir anlatım olmuş. Dediklerini aynen yaptım ve Android ile ilk programımı yazmış oldum. Teşekkürler paylaşım için :)
kosasker Konuyu açan
2008'den beri3.195 mesaj
#17
Rica ederim. Gerisi size kalmış. Sözüm vardı fakat projelerden vakit ayıramıyorum.
Misafir
#18
Merhabalar Ben uygulamayı yaptım fakat yeniden yapılandır diye bir hata almaktayım hatanın orjinali aşağıdaki gibidir. Yardımcı olursanız çok sevinirim.

An internal error occurred during: "Launching New_configuration".
Path for project must have only one segment.
Misafir
#19
çok eski yazı eclipse ve sdk güncellendi güncel yazıya androtronik ten ulaşabilirsiniz. düzenli ders yayınlıyor bir arkadaş.
Misafir
#20
indirme linkide koyarmısın ? teşekkür ederim​
kosasker Konuyu açan
2008'den beri3.195 mesaj
#21
Evet buradaki anlatım çok eski. Ayrıca koyduğum resimlerde uçmuş, gitmiş. Arkadaşlar inanın 3 senedir üzerine birşeyler koymak için zaman ayıramadım. Arkadaşlara söz verdiğim projeler var, beraber yaparız diye, kendi işimden, gücümden onlara dahi bakamıyorum malesef.

15.02.2013 10:21 de yazan sayın SDN okuru. İndirme linklerinin tamamı http://developer.android.com/sdk/index.html adresinde bulunabilir.

Söz vermiyeyim, bu konuda birşeyler yazmaya çalışacağım.

İsteyen electrocoder hocamı sıkıştırabilir. Yeterince ikna edebilirseniz, o birşeyler hazırlayabilir eğitim dökümanı olarak.
Saygılar.
2012'den beri563 mesaj
#22
bende yazın biraz araştırdım uygulama geliştirmek istedim fakat ing kısıtlılığı ile türkçe kaynak sıkıntısı olunca üstüne birde android uygulamayı çalıştırcak telefonuda alamayınca bıraktım fakat hala öğrenmek istediğim bir konu tabi öncesinde java bilgisinin olması gerek sanırsam :)
kosasker Konuyu açan
2008'den beri3.195 mesaj
#23
muhammedyakup dedi: ↑
bende yazın biraz araştırdım uygulama geliştirmek istedim fakat ing kısıtlılığı ile türkçe kaynak sıkıntısı olunca üstüne birde android uygulamayı çalıştırcak telefonuda alamayınca bıraktım fakat hala öğrenmek istediğim bir konu tabi öncesinde java bilgisinin olması gerek sanırsam :)
Java bilgisi süreci sizin için hızlandıracaktır. Zaten burada kullanılan dil java. Ciddi geliştiriciler için ingilizce olmazsa olmaz.
2012'den beri563 mesaj
#24
kosasker dedi: ↑
Java bilgisi süreci sizin için hızlandıracaktır. Zaten burada kullanılan dil java. Ciddi geliştiriciler için ingilizce olmazsa olmaz.
şu sıralar ing çalışıyorum bitirme projesiylede uğraşıyorum zaman bulunca ilk işim java bilgimi biraz daha ilerletip androide atılmak olcak inş :D
2013'den beri1.476 mesaj
#25
güzel paylaşım olmuş emeğe saygı :)
Misafir
#26
Paylaşımiyi olmuş... Bide java dilini bilmeyip android programı geliştirmek isteyen, c# ve VB kullanıcıları Monodroid SDK ssını indirip visual studio ile çalışabilir...

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.