top-image

DAHA ESKİ YAZILAR

Daha önce aynı kitabın ilk versiyonu olan Professional Android Application Development ile Android programcılığına ilk adımımı atmıştım. Gerçekten çok istifade ettiğim bir kitaptı. Android SDK’nın zaman içerisinde kodlarında bir çok revizyona gidip level atladığından ötürü kitap kısa zamanda eskidi. Kitabın yazarı Reto Meier’de Android SDK 2.1 r1′e göre kitabında güncelleme yaparak tekrardan kaleme almış ve Professional Android 2 Application Development kitabını çıkartmış. Henüz Türkiye’de herhangi bir kitapçıda bulamadığımız kitaba, amazon.com gibi siteler aracılığı ile sahip olabiliyoruz.

Bu kitabın şuan piyasada olan tüm Android kitapları içerisinde en iyi olduğunu düşünüyorum çünkü bir programcının kolay anlayabileceği dilden yazılmış. Yani; yazarımız okuyucularını basit ayrıntılar ile sıkmamış ve uzun uzun herşeyi anlatarak da kitabın gereksiz uzun olmasını engellemiş. Yeri geldiğinde temel konuyu örnekle açıklamış ve geri kalan bir çok konuyu özet olarak geçmiş. (tabii özet konuyu ayrıntılı araştırmak isteyenler için de, referans vermeyi ihmal etmemiş). Kısacası komple başvuru kılavuzu diyorum ben bu kitaba:)

Kitabın 1. versiyonu ile 2. versiyonu arasında dikkatimi çeken bazı farklılıklar;

  • Eski kitapta, files, prefences, database ve content provider gibi bilgi depolayabileceğimiz konular bir aradaydı. Yenisinde ise db ile content provider’ı farklı bir bölümde incelemiş. Gereksiz buldum.
  • live folders, quick search box, live wallpaper gibi Android’in yeni versiyonu ile gelen özelliklere, kitapta oldukça güzel bir anlatımla işlenmiş.
  • SDK 1.5 ile gelen speech recognition özelliğine daha önceki kitapta değinilmemişti. Bu kitapta bununla beraber, audio,video ve kamera kullanımı ile ilgili bilgiler genişletilerek anlatılmış.
  • SDK 1.6 ile  gelen Text-to-speech’e yer verilmiş.
  • SMS, MMS, Bluetooth, Wi-fi konuları daha detaylı işlenmiş ve GTalk ile ilgili konular kitabın yeni versiyonundan kaldırılmış.
  • Daha önceki SDK’larda kullanılan ama şuan için kullanılması tavsiye edilmeyen (deprecated) API’ler kitabın örnek kodlarında güncellenmiş.
7 kişi bu yazıyı beğendi.

Google bünyesinde geliştirilen Android, olabildiğince esnek yapısıyla hemen her ortama kolaylıkla uyum sağlayabilen bir mobil işletim sistemi. Cep telefonları, tablet bilgisayarlar, askeri araçlar derken Android sonunda otomobillere kadar erişmeyi başardı. Yeşilli robot ayıyı, otomobillerinde kullanansa Çinli otomobil üreticisi Roawe oldu.

İlk olarak Şangay otomobil fuarında tanıtılan ve ileri teknoloji ürünü donanımıyla dikkat çeken Roawe 350 dünyanın ilk Android işletim sistemini taşıyan otomobili olacak. İlk etapta sadece Çin pazarı olarak hedefini belirleyen aracın fiyatı da gayet makul seviyelerde. Ancak daha önemli bir konu Android bu araçta ne iş görecek? Sorunun cevabı bir hayli ilginç ve ilgi çekici.

Android 2.1 işletim sistemi ile donatılan Roawe 350, tıpkı telefonlarda olduğu GPS donanımına da sahip Bu sayede sesli ve görsel navigasyon yapabiliyor. Ayrıca navigasyonun yanında canlı trafik bilgisi, iki nokta arasındaki mesafe, mevcut yakıt ile nereye kadar gidilebileceği yahut hangi istasyondan yakıt almanız gerektiği orta konsolda yer alan geniş LCD ekranda görülebilecek. Tabi ki yetenekler GPS fonksiyonları ile sınırlı değil. Araç ile internete de girebilmeniz mümkün. Bu sayede maillerinizi arabanızın ekranında kontrol edebiliyorsunuz. Elbette yine sosyal ağlara da bu ekrandan erişebiliyorsunuz. Araçta Android Market’in kullanılabilir olup olmadığına dair bir bilgi ise bulunmuyor.

kaynak

4 kişi bu yazıyı beğendi.

Android Programcılığına başlamak isteyipte nereden başlayacağını bilemeyen arkadaşlar için kaçırılmayacak bir video! Sonuç olarak bir nevi Hello Word uygulaması fakat, mantığının kavranmasını sağlayabilmek amacıyla biraz detaylıca anlatılmıştır.

  • Android Programlamaya nasıl başlanır?
  • Eclipse
  • Android SDK Kurulumu
  • Emulator kurulumu
  • Android Hello Word
  • Andruid Manifest file yapısı ve permissionlar
35 kişi bu yazıyı beğendi.

Hikaye: Telefonunuz yeni açıldığında, programınızın otomatik olarak açılmasını sağlayabilir, ya da arka planda bazı önyüklemeleri gerçekleştirebilirsiniz. İşte bende bugün yeni yapmaya başladığım bir programın benzer bir özelliği olmasını istediğim için bu konuyu araştırmaya koyuldum. Zaman içerisinde değişen Android API’leri yüzünden internetten araştırıp bulduğum hiç bir bilginin tam ve geçerli olmaması sonucunda, yarım saatte yapmayı planladığım şeyi ancak yarım günde yapabildim. Zaten bu dökümanı yazma sebebim de tam olarak bu oluyor.

Background: Öncelikle Broadcast Receiver (ya da eski ismiyle Intent Receiver) ile, cep telefonumuzun açıldığını anlayacağız. Peki ama Broadcast Receiver’da ne oluyor? derseniz; Broadcast kelime manası olarak, “yayın yapmak” demektir. Bunu televizyon yayınına benzetebiliriz. Ortada bir antenden, her tarafa yayın yapılır ve o sinyali almak isteyen herkes alır. Tam olarak Android işletim sistemi içerisindeki broadcast yayını da böyle yapılır. İşletim sistemi içerisinde gerçekleşen bir olay karşısında, “ben bunu yaptım” diye bir yayın yapar. Bu bilgiyi almak isteyen her program bunu alarak kullanır, tepki verir. Mesela cep telefonuna bir SMS mesajı geldiğinde, Android bir broadcast yayını ile(intent göndererek) tüm programlara SMS alındığına dair bilgilendirir. Aynı şekilde, cep telefonumuz açıldığında, Android bize telefonun açılışını haber verebilir. Biz yeter ki bu yöne kulağımızı kabartalım :)

İcraat: İşte BroadReceiver sayesinde, tüm broadcastlara ulaşabiliriz. Fakat önemli olan tüm broadcast yayınları içerisinden işimize yarayacak olana ulaşabilmek. Bunun için gelen broadcastları AndroidManifest.xml içerisinde filtreleyeceğiz. Tabi bir de tüm bu işlemler için gerekli permission’ları yine AndroidManifest.xml içerisinde tanımlamış olmamız gerekiyor. İsterseniz artık icraata geçelim..

<receiver android:name=".StartupBroadcastReceiver">
        <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
</receiver>

Yukarıdaki gibi bir receiver’ımız için bir filtre yazıyoruz. Yani, tüm broadcast yayınları içerisinden telefonun açılışının ardından yapılan yayını yakalayacağız. Bunu

android.intent.action.BOOT_COMPLETED

sayesinde anlayacağız. Fakat bu broadcast yayını dinleyebilmemiz için de, belli izinleri almış olmamız gerekiyor. Bunun için yine AndrodManifest.xml’in içerisine şu permission kodunu ekliyoruz.

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

Yanılgı: Her ne kadar Android’in kendi sitesindeki dökümanlarda ve diğer bir çok sitede yukarıdaki permission’un yeterli olduğu yazsa da, telefon açılışının dinlenmesinde kullanılacak izin için aslında bu tek başına yeterli değildir. Benim yarım gün boyunca boşuna uğraşmamın sebeblerinden bir tanesi olan bu permissionun yanına aşağıdakilerin de tamamını eklemediğiniz sürece, (Android 1.5 ve 2.0′da test edilmiştir) almak istediğimiz broadcast yayınını asla alamayacağız. Ekleyeceğimiz extra permission’lar.

<uses-permission android:name="android.permission.ACCESS_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_GPS" />
        <uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" />
        <uses-permission android:name="android.permission.ACCESS_CELL_ID" />

Ne alaka? diyebilirsiniz.. fakat uzuuun araştırmalarım sonucunda ben internette çözüm yolu olarak sadece bunun işe yaradığını gördüm. (Extra not: gerçek bir telefona bu programı kurmaya çalıştığımda, bu extra izinlerin install ekranındaki bilgilendirmede karşıma çıkmadığını gördüm. Bunun manası, “ben aslında bu özellikleri kullanmıyorum” demek olsa da, bize neden bu izinleri aldırttığını henüz çözebilmiş değilim.)

Sıra geldi, filtreleyerek aldığımız broadcastımızın çalışacağı class’ı oluşturmaya.

public class StartupIntentReceiver extends  BroadcastReceiver  {
   @Override
    public void onReceive(Context context, Intent intent) {
    Intent startupIntent = new Intent(context, RunMfa.class);
    startupIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(startupIntent);
  }
}

Filtreleyerek aldığımız broadcastımız bu classın çalışmasına neden oldu. Ve bizde Intent ile RunMfa activity’sinin çalışmasını söylüyoruz. (Mesela bu programımızın ana ekranı olabilir..)

public class RunMfa extends Activity{
   TextView tv;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      tv = (TextView) findViewById(R.id.serialTV);  
      tv.setText(“Run start up ile calisti -by Mustafa Ferhan Akman”);
   }
}

AndroidManifest.xml’in son hali:

<?xml version=”1.0¨ encoding=”utf-8¨?>
<manifest xmlns:android=”http://schemas.android.com/apk/res/android“  
package=”com.androidprogramcisi” android:versionCode=”1¨  android:versionName=”1.0¨>

 <uses-permission android:name=”android.permission.RECEIVE_BOOT_COMPLETED” />
 <uses-permission android:name=”android.permission.ACCESS_LOCATION” />
 <uses-permission android:name=”android.permission.ACCESS_GPS” />
 <uses-permission android:name=”android.permission.ACCESS_ASSISTED_GPS” />
 <uses-permission android:name=”android.permission.ACCESS_CELL_ID” />
 
 <application android:icon=”@drawable/icon”   android:label=”@string/app_name”
<activity android:name=”.RunMfa” android:label=”@string/app_name”></activity>

 <receiver android:name=”.StartupIntentReceiver”>
  <intent-filter>
   <action android:name=”android.intent.action.BOOT_COMPLETED” />
   <category android:name=”android.intent.category.LAUNCHER” />
  </intent-filter>
 </receiver>
</application>
 <uses-sdk android:minSdkVersion=”3¨ />
</manifest>

inşaallah benim gibi uzun uzun araştırmak zorunda kalmadan bu dökümana ulaşırsınız diyerek yazımı sonlandırıyorum..
Hoşcakalın.
15 Şubat 2010

13 kişi bu yazıyı beğendi.

Yeni nesil mobil cihazlarda artık standart olarak bulunan sensörler sayesinde, elimizdeki küçük cihazlara mükemmel bir işlevsellik ve görsellik katıldığını söylesek, sanırım yanlış bir tabir kullanmış olmayız. Sensörler sayesinde; pusula, oyun kontrolleri, telefon konumuna göre değişen kullanıcı arayüzleri gibi uygulamalar geliştirilebilir.

Android; orientation (cihazın boşluktaki konumu), accelerometer (ivme), light (ışık), magnetic field (manyetik sensörü), proximity (yakınlık), temprature (sıcaklık) sensörlerini destekliyor. (Bu sensörler yazılımsal olarak android tarafından desteklenmektedir fakat bunları telefonunuzda kullanmak için, telefonunuzun da bu özelliklere destek verecek donanımsal niteliğe sahip olması gerekir.)

Bende bu yazımda, android sensörlerinden orientation ile ilgili bir örnek yapacağım. Yani, android telefonumuzun konumunu, açısını ve sayısal olarak pusula verisini görebileceğiz. Ben bi android programcısı olarak sensörlerle çalışmaktan zevk alıyorum, emin olun sizde bundan çok hoşlanacaksınız:) Şimdi, kod örneğine geçmeden önce aşağıdakileri resimleri iyi kavramak gerekiyor. Orientation sensöründe 3 farklı değer bulunuyor. Bunlar; X, Y, Z değerleri.

X => Azimuth, telefonun ekran kısmının güney ile yaptığı açı azimuth’dur. Ya da diğer bir ifade ile, telefonun arka kapak bölümü kuzeye bakında, X değeri SIFIR olur. Aşağıdaki resimden daha iyi anlayabilirsiniz.

Y => Pitch değeri, telefonun düzlem ile yaptığı açıdır. Mesela, telefon arka kapağı üzerine masaya bırakılırsa, Y = 0, ekranı üzerine masaya bırakılırsa, Y = -/+ 180 olarak değer alır.

Z => Roll, telefonun dönme açısı. Telefon dik konumdayken, hehrangi bir dönme hareketi yapmadığından Z = 0, sağa dönüşlerde negatif dönme açısı, sola dönüşlerde pozitif dönme açısı yapar.

Şimdi sıra geldi, bu sensörleri kullanabileceğimiz örnek bir program yazmaya. Sensörleri dinlemek için, SensorListener‘dan yararlanıyoruz.

public class SensorExample extends Activity implements SensorListener

SensorListener bize public void onAccuracyChanged(int sensorID, int accuracy) ve public void onSensorChanged(int pSensor, float[] values) fonksiyonlarını implemente etmemizi söylüyor. Sensörlere dair ilgili bilgiler bu iki fonksiyon aracılığı ile bize ulaşacak. onAccuracyChanced() sensörlerin çalışmasında aslında pek bir görevi yok diyebiliriz. Bu konudaki yabancı sitelerde bu konuyla ilgili örnekleri incelediğimde bu fonksiyonun genelde log tutmak için kullanıldığını gördüm.

onSensırChanged() fonksiyonu sayesinde ilgilendiğimiz sensöre dair bilgileri alacağız. Burada float arrayi şeklinde tanımlanmış olan values değişkeninin elemanlarının sahipleri şu şekildedir; values[0] = azimuth, values[1] = pitch, values[2] = roll. Bu değerleri array indexini okuyarak öğreniyoruz ve kullanmak istediğimiz yerlerde sensör değeri olarak kullanıyoruz.

Androis Sensor API’sı bi çok sensörü desteklediğini daha önce belirtmiştim. Biz sensor olarak, yukarıdaki açıklaması yapılanı yani orientation sensörü seçip, kullanacağız. Bunun için kendi unique integer ID’sini bu şekilde belirtiyoruz.

private int sensor = SensorManager.SENSOR_ORIENTATION;

Telefonun donanımından, sensörlere ulaşmak için önce bir sensor manager tanımlıyoruz ve altındaki satırı gerçek sensor managera ulaşmak için kullanıyoruz;

private SensorManager sensorManager;
sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);

Önemli Not 1: Kodlar android emulator üzerinde direk çalışmayacaktır, telefona yükleyerek çalıştırabilirsiniz. Sensor similasyonu için openIntent is minde bir eklenti olduğunu duymuştum, araştırabilirsiniz.

Önemli Not 2: Telefonunuzun Settings > sound&display > orientation özelliği kapalı yada açık olması elde ettiğiniz pitch ve roll değerlerinin farklı olmasına neden olur. Mesela, bu özellik kapalı ise; pitch ve roll değeri yukarıda anlatılan resmin %100 aynısıdır. Fakat, eğer orientation özelliği açık ise, telefonunuzu (tıpkı mesaj yazar gibi) yana yatırdığınızda, otomatik orientation özelliğinden dolayı, pitch değeri roll değeri ile ve roll değeri pitch değer yer değiştirir.Bu durumun ilk etapta kafanızı karıştırmasını önlemek için orientation özelliğini kapatmanızı öneririm yada values[] değerlerini alırken, 0-1-2 yerine 3-4-5 indexlerini kullanırsanız, telefonun orientation’ı değişse bile elinizdeki verilerin yerleri değişmeyecektir.
Orientation Sensöre ait çalışır bir demoyu apk formatında buradan indirip, telefonunuzda hemen deneyebilirsiniz.
Orientation Sensore ait kaynak kodları buradan indirebilirsiniz.

Referanslar:
* Resimler Novoda’nın “sensor event cheat sheet”‘inden alınmıştır.

6 kişi bu yazıyı beğendi.

1-) Öncelikle programımızda kullanacağımız haritanın ekranını belirleyecek olan UI’mizi yazalım. “layout” klasörünün içerisinde maps.xml dosyasını oluşturalım.

<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
  <com.google.android.maps.MapView
   android:id="@+id/map_view"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:apiKey="1. YAZIDA OGRENEREK ALDIGINIZ API KEYI BURAYA YAZIN"
 />
</LinearLayout>

Harita ekranın gözükecek ekranımızı belirledik. Yukarıdaki kodlara bakınca, uygulamamızda Google MAPs açıldıktan sonra tüm ekranı kaplaması gerektiğini söylemek dışında herhangi bir şey yapmadık. apiKey= “” kısmına kendi elde ettiğimiz api key’ini yazdık.

2-) ikinci adımda, bir tane class MapActivity class’ı oluşturacağız. Bunun için herhangi bir isimde class yazıp extends MapActivity yazacağız. Ben class ismimi MapsProcess olarak verdim.

public class MapsProcess extends MapActivity {
        MapView map;

        @Override
        protected void onCreate(Bundle icicle) {
                // TODO Auto-generated method stub
                super.onCreate(icicle);
                setContentView(R.layout.maps);

                map = (MapView) findViewById(R.id.map_view);
        }

        @Override
        protected boolean isRouteDisplayed() {
                // TODO Auto-generated method stub
                return false;
        }
}

Yukarıda gördüğünüz MapActivity class’ımızı oluşturduk. Biz bu classı oluşturup, MapActivity’i extend ettiğimizde eclipse bize isRouteDisplayed() method’unun override edilmesi gerektiğini söyledi. Bu method, rutin bilgileri otomatik olarak alabilmemizi sağlıyor. Bu rutin bilgileri mesela trafik yön veya adres bilgileri gibi düşünebiliriz. Bizim şimdilik bununla herhangi bir işimiz olmadığı için return false olarak yazdık.

Her android activity’sinin yaşam döngüsü, OnCreate() methodu ile başlar. Bizim MapActivity classımızın yaşamı burada başlıyor. Bu method içerisine baktığımızda, Maps.xml dosyamız içerisindeki MapsView componentimizi üzerinde işlem yapabilmek için java kodumuz içerisinde çağıracağız. Bunun için class’ın hemen altında bir tane MapView oluşturduk ve alt satırlarda da xml dosyası içerisinden ilgili componentin ismini çağırdık.
3-) Haritamız bir butona basıldığı zaman açılsın demiştik. Önce butonumuzun listener’ını yazalım.

applyBtn = (Button) findViewById(R.id.applyBtn);
        applyBtn.setOnClickListener(new OnClickListener(){

                        @Override
                        public void onClick(View v) {
                                Intent i = new Intent(getApplicationContext(), MapsProcess.class);
                                startActivity(i);
                        }
        });
    }
}

ekranda ilk karşımıza gelecek olan butona listener ekledik, tıklandığı zaman MapsProcess isimli activity’i başlatmasını söyledik. Bunun için Intent kullandık. Fakat bir activity’nin başlatılabilmesi için bu kadarı yeterli değil. Programımızın manifest dosyası içerisine intent ile başlacağımız classın bir acticity olduğunu belirtmemiz gerekiyor. Bunun için tagları içerisinde bunu programımıza belirttik.

<activity android:name=".MapsProcess" android:label="First Maps Activity"/>

4-) Son olarak, yine AndroidManifest.xml dosyası içerisinde yapmamız gereken 2 ufak iş kaldı. Birinicisi, programımıza Maps kütüphanelerini kullanacağımızı söyleyeceğiz, ikincisi de programımızın internete bağlanabilip, haritayı gösterebilmesi için gerekli permission’ı vereceğiz. Aşağıdaki gibi;

<uses-permission xmlns:android="http://schemas.android.com/apk/res/android" android:name="android.permission.INTERNET"/>

sonuç olarak AndroidManifest.xml dosyası şu halde olmuş oluyor;

<?xml version="1.0" encoding="utf-8"?>
<manifest
        xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.ferhan.akman.GoogleMaps">
    <application android:icon="@drawable/icon">
    <uses-library android:name="com.google.android.maps"/>
        <activity android:name=".FirstGoogleMapsApp"
                 android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".MapsProcess" android:label="First Maps Activity"/>
    </application>
    <uses-permission xmlns:android="http://schemas.android.com/apk/res/android" android:name="android.permission.INTERNET"></uses-permission>
</manifest>

Uzun ve karmaşık gibi gözükse de, Android’in genel konseptini anladıktan sonra oldukça basit olduğunu göreceksiniz.
Programın çalışır haldeki proje dosyasını buradan indirebilirsiniz.

7 kişi bu yazıyı beğendi.

Giriş  Android uygulamamıza Google haritası ekleyerek, daha görsel uygulamalar geliştirebiliriz. Mesela adres bilgileri, konum bilgileri, yol haritaları günlük hayatımızı kolaylaştıracak bir çok bilgiyi içerisinde saklıyor.  

Yukarıda saydıklarımın dışına çıkıp farklı olması açısında örnek bir program verecek olursak, Android’e kendi konum bilginizin nerede olduğunu öğrenebileceğiniz bir program geliştirebilir, sonra bunu yine aynı program üzerinden arkadaşınız ile paylaşabilir sonuç olarak bir arkadaş grubundaki kişilerin anlık olarak nerede olduklarını harita üzerinden takip edebilirsiniz (bu genellikle kargo firmaları, yemek dağıtım firmaları gibi filosu olan firmalar tarafından tercih edilen bir yöntemdir).   

 Maps API Key Almak  

Google Maps API’lerini programlarımız içerisinde kullanabilmemiz için, yapmamız gereken bazı işlemler vardır. Eğer Android’im emulatörü üzerinde program geliştiriyorsak;

C:\Documents and Settings\username\Local Settings\Application Data\Android

  burada SDK’nin sertifasını olduğunu görebiriz. debug.keystore ismindeki dosyayı mesela, C:\ ‘nin altında C:\Android‘e taşıyalım.   

Şimdi, 

C:\Program Files\Java\\bin

dosyasının altındaki keytools.exe dosyasını kullanarak, bir tane MD5 fingerprint (md5 parmak izi) oluştracağız. Ve bu oluşturduğumuz parmak izini kullanarak Google Maps API’lerini kullanacağız. Aşağıdaki komutu dos ekranında yazalım.  

keytool.exe -list -alias androiddebugkey -keystore "C:\android\debug.keystore" -storepass android -keypass android

and-goog-2   

Resimde de görüldüğü üzere, MD5 Fingerprint’imizi aldık. Şimdi sıra geldi, bu kodu Google amcaya söylemeye.   

http://code.google.com/intl/tr-TR/android/maps-api-signup.html Adresine gidip, MD5′imizi yazıyoruz. Ve artık Google tarafından üretilen anahtarımızı alıp, programımıza girdikten sonra, haritamız kullanıma hazır hale gelmek üzere…

android:id="@+id/map_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:enabled="true"
android:clickable="true"
android:apiKey="GOOGLE-MAPS-API-KEY"

/&gt;

Yukarıdaki kod kendi programımımda kullandığım örnek bir XML uygulaması. android:apiKey=”GOOGLE-MAPS-API-KEY” yazan yere kodumuzu ekleyelim. Ve artık programımızda Google Haritası Kullanabiliriz! 

23 Mayıs 2009
Yazan: Mustafa Ferhan Akman

5 kişi bu yazıyı beğendi.

 

Google Android programlama yeni başlayacaklar için çok ideal bir kitap. Herhangi bir bilgi derinliğinden ziyade, konsepti anlatmak için yazılmış olan kitabın bana oldukça faydası olduğunu düşünüyorum. Kitap ücretsizdir, yukarıda verdiğim adresten kitabın PDF dosyasını bilgisayarınıza indirebilirsiniz.

anddev sitesinden kitabı indirebilirsiniz (kitap ücretsizdir)

7 kişi bu yazıyı beğendi.

Merhaba, bu yazımda Google Android’in gerekli plug-inlerini Eclipse üzerine kuracağız ve böylelikle Eclipse ile Android entegrasyonunu sağlamış olacağız.
(NOT: Ben anlatımımı Linux üzerinden yaptım fakat tüm adımlar windows işletim sisteminde de aynıdır.)

1.Adım:

Bilgisayarınızda, Java Development Kit var mı? yoksa, http://www.oracle.com/technetwork/java/javase/downloads/index.html adresinden işletim sistemimize uygun olarak bu eksikliğimizi giderelim.

 

2.Adım

Android ortamındaki geliştirmelerimizi Eclipse ortamında yapacağımız için, elimizde Eclipse olması gerekiyor. Eğer yoksa, http://www.eclipse.org/downloads/ adresinden yine sistemimiz için uygun olanını indirelim.

3.Adım

intro_and_1

Şimdi, Android Software Development Kit’i indirelim. http://developer.android.com/sdk adresine gidelim ve yine işletim sistemimize uygun olanı seçip indirelim.

4.Adım 

Yukarıdaki 3 adımı doğru bir şekilde geçtiyseniz, şimdi sıra Eclipse üzerinde çalışmaya geldi.
Eclipse’i açalım. Window > Android AVD and SDK Manager
Available Packages sekmesini seçelim

Add Site… dendikten sonra aşağıdaki resimdeki gibi https://dl-ssl.google.com/android/eclipse adresi ekleyelim..

intro_and_2

Siteyi ekledikten sonra, yanında çıkan kutucuğu işaretleyip, sayanın sağ üst köşesinde yer alan Install… butonuna tıklayarak, kuralım.
Software Update işlemi işlemi bittikten sonra büyük ihtimalle sizin onayınızla birlikte Eclipse kendisini yeniden başlatmak isteyecektir.

5.Adım
Şimdi sıra geldi, Eclipse ile Android SDK’sını birbiri ile tanıştırmaya. Bunun için 3.Adımda indirdiğimiz Android SDK’yı zip dosyasının içerisinden çıkaralım. Daha sonra Window > Preferences… diyerek, sol menüde Android‘i seçtikten sonra SDK’nın olduğu klasörü seçiyoruz.

intro_and_3

OK butonunu seçtikten sonra 1-2 dk konfigrasyon ayarları sürebilir.

ve artık hazır!

Artık bir Hello World uygulamasına geçebiliriz:)

24.11.2010′da tekrar düzenlenmiştir.

11 kişi bu yazıyı beğendi.
Page 3 of 3:« 1 2 3
bottom-img