Android Studio kullanıyorsanız bu yazımda, Google Maps'i projenize eklemek için Google'ın bize inanılmaz derecede güzellikler sunduğunu göreceksiniz. Yazıdaki adımları uyguladığınız takdirde Android Studio sizin yerine hem XML uzantılılı activity dosyasını hem de MapsActivity.java dosyasını otomatik oluşturuyor. Üstelik de kodları bile içinde geliyor. Size ise sadece bir buton aracılığıyla MapActivity.java fonksiyonunu tetikleyerek activitiy_maps.xml sayfasını açmak ve haritayı görüntülemek kalıyor.

Öncelikle Android Studio'nun sağ tarafındaki kısımdan projeniz içinde yer alan app klasörüne sağ tıklayın  New -> Google -> Google Maps Activity adımlarını gerçekeştirin.

Bakınız :



Karşınıza şöyle bir ekran gelecek :



Bu ekranda değiştirmeniz gereken tek yer, üstte de görmüş olduğunuz üzere "Package" yazan kısım. Burada yazan "layout" ifadesini silip onun yerine, projenizdeki  build:gradle(Module: app) sayfasında yer alan "applicationId" ifadesinin karşılığı olan ifade buraya yazılacak. Mesela bende şu yazıyor, bakınız :



O halde layout kısmını silip o kısma benim "com.blogkafem.mobileuygulama" yazmam gerekiyor. Siz de Layout kısmına sizin projenizin "applicationId" ifadesini yazdıktan "Finish" butonuna tıklayın ve beklemeye geçin. İşlemler otomatik olarak başlayacaktır. İşlemlerin başladığını editörün en alt kısmından görebilirsiniz.

İşlemler başlamaz ise "Tools -> Android -> Sync Project with Gradle Files" adımlarını takip ederek işlemleri başlatabilirsiniz. İşlemler bittikten sonra karşınıza google_maps_api.xml sayfası otomatik olarak gelecektir. (Yan sekmede de MapsActivity.java dosyası da gelmiş olması lazım.) Şu şekilde;

 

google_maps_api.xml  dosyasının içinde üstten de göreceğiniz üzere kırmızı daire için aldığım uzun bir link var. Ona kopyalayın, tarayıcınıza yapıştırın ve "Enter" tuşuna tıklayın. Ardından karşınıza şöyle bir sayfa gelecek :




Bu sayfada "Continue" butonuna tıkladıktan sonra karşınıza şu sayfa gelecek :




Burada "Create API key" butonuna tıkadıktan sonra uygulama size bi API anahtarı verecek, şu şekilde :



Ne olur ne olmaz diye ben bu API anahtarının bir kısmını sansürledim gördüğünz gibi. Google size burada, yalnızca size özel bir API key veriyor. Bu Api key kodunu kopyalayıp, google_maps_api.xml dosyasında "YOUR_KEY_HERE" yazılı olan yere yapıştırmanız gerekiyor. Bakınız :



Tüm işlemler bu kadar! Geriye kalan tek şey uygulamayı çalıştırmak olacaktır fakat; uygulamayı çalıştırırken "The number of method references in a .dex file cannot exceed 64k" şeklinde başlayan bir hata ile karşı karşıya kalabilirsiniz. Çünkü Android, Google Maps gibi büyük kütüphaneleri projelerinizde kullanırken "Multidex" adı verilen bir özelliği kullanmamızı ister.

Siz bu yazıyı okuduğunuz için kendinizi şanslı hissetmelisiniz. Çünkü ben hem bahsettiğim hata ile ilgili hem de "Multidex özelliğinin kullanımı" ile ilgili daha önce detaylı bir şekilde anlatımlar yapmıştım. İlgili yazılara gitmek için;


Benim Android Studio'da Android Projesine Harita Ekleme işlemleri ile ilgili bahsedeceklerim bu kadar. Geriye sadece uygulamayı çalıştırmak kalıyor. Konuyla ilgili sormak istedikleriniz veya aklınıza takılan kısımlar varsa, aşağıdaki yorum formu aracılığıyla bana iletebilirsiniz. Elimden geldiğince yardımcı olmaya çalışırım.
Yazının devamını oku
Hatalar (Errors) : 
1) Error:The number of method references in a .dex file cannot exceed 64K.
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html

2) Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException

Çözüm : Yukarıdaki hataların her ikisiyle ben aynı anda karşı karşıya kalmıştım. Özellikle de ilk hata olan, "The number of method references in a .dex file cannot exceed 64k." hatasıyla karşılaştıysanız bu hatanın sebebi Android uygulamanız "Multidex" özelliğini kullanmıyor olmanızdan kaynaklanmaktadır. Multidex özelliğini projenize ekleyerek hatayı çözmek için buraya tıklayınız.

Solve : You must import multidex in your Android project. How to import multidex in any Android project? Click here for details.

multidex 64k limit

Multidex Nedir ve Ne İşe Yarar?

Android projelerinzde kullandığınız kütüphaneler belli bir boyutu aşıyorsa Multidex kullanmak zorundasınız. Aksi takdirde konu başlığında belirtilen hatayı almanız kaçınılmaz olacaktır. Örneğin Google'ın harita kütüphanesini kullanmak, Multidex kullanmayı gerektirir. Buda demek oluyor ki Google Map API'sini kullanarak, uygulamanıza bir harita yerleştirmek istiyorsanız Multidex'i kullanmak zorundasınız.

Multidex özelliğini projenize nasıl ekleyeceğinizi tüm detaylarıyla resimli olarak anlattım. Android projenize Multidex özelliğini eklemek için buraya tıklayınız.

Konuyla ilgili merak ettiğiniz detayları veya iletmek istedikleriniz yorum forumu aracalığıyla iletebilirsiniz.
Yazının devamını oku
Multidex özelliği, belli bir boyutu aşan android kütüphanelerinde kullanılması gereken bir özelliktir. Örneğin Google'ın harita kütüphanesi, Multidex kullanmayı gerektirir. Aksi takdirde uygulamanızı derlerken sürekli hata alırsınız. Buraya tıklayarak ilgili hatanın ne olduğunu görebilir ve multidex ile ilgili detaylı bilgi alabilirsiniz.

Multidex'i Android projenize ekleme işlemini Android Studio üzerinden anlatacağım. Android geliştirme ortamınız Android Studio ise şanslısınız ve yazıyı okumaya devam edin. Sabasit adımda Multidex'i android projenize eklemiş olacaksınız. Aşamaları adım adım takip edin.

1) Android Studio'nun sağ tarafındaki proje dosyalarınızın olduğu yerin alt kısımlarında "Gradle Scripts" kısmı var. Oradan build.gradle(Module:app) yazılı olan yere tıklayın. Bakınız :

build.gradle_module:app
Buradaki sayfada "defaultConfig " adında bir alan var ve parantezler içerisinde uygulamanıza ait bir takım veriler var. O verilerin hemen alt kısmına şunu ekleyin;

 multiDexEnabled true

Yine aynı sayfada "dependencies" adında bir alan var bu dependencies kısmının parantezleri arasına ise şunu ekleyin;

compile 'com.android.support:multidex:1.0.0'

Sonuç olarak, bir örnek vermem gerekirse build.gradle(Module:app)  dosyasına genel olarak bu belirttiğim iki kod parçası şu şekilde ekli olmalı :

Bu örnek gösterim developer.android.com sitesiden alınmıştır.
2) Bu adımda AndroidManifest.xml dosyasını açmanız gerekmektedir. Bu dosyada,


android:name="android.support.multidex.MultiDexApplication"

Android'in kendi sayfasından alınan örnek gösterim için bakınız :


Bunu ekledikten sonra hata alır gibi kırmızı bir uyarı alırsanız sakın aldırmayın. Dosyayı Ctrl+S tuş kombinasyonu ile kayıt edin ve 3. aşamaya geçin.

3) Üst menüden, Tools -> Android kısmına gelin ve "Sync Project with Gradle Files" yazılı yere tıklayın ve eklemiş olduğunuz paketlerin projenizle senkronize olmasını bekleyin. İşletm bittikten sonra projenizi derleyin ve multidex sorununuzun çözülmül olduğunu göreceksiniz.

Konu ile ilgili detaylı bilgilere ulaşmak için şu linke tıklayarak, https://developer.android.com/studio/build/multidex.html#dev-build Google'ın Android geliştiricileri için hazırlamış olduğu Multidex dökümanını incleyebilirsiniz.

Yazının devamını oku
Minimum SDK, Android Studio'da bulunan ve uygulama geliştirmek istediğiniz Android sürümünü seçmenize yarayan bir menüdür. Bu menüden bir SDK çeşidi seçerken Android'in hangi versiyonlar için uygulama yazmak istediğinizi önceden bilmeniz gerekiyor.

Android'in sadece son sürümleri için uygulama geliştirmek istiyorsanız, yeni sürümlerini seçerek uygulama geliştirmeye başlayabilirsiniz. Fakat, Android'in sadece son sürümlerine uygun uygulamalar geliştirmenizin getirdiği dezavantajlardan bir tanesi, uygulamanızın eski Android versiyonlarda çalışmayacak olmasıdır. Durum böyle olunca ise, yazdığınız uygulama daha az kişiye hitap edecektir anlamına geliyor.  Avantajı ise, daha çok API çeşidi destekliyor olmasıdır.

Android'in eski sürümleri için uygulama geliştirmek istiyorsanız, eski sürümlerden birini seçerek uygulamanızı geliştirmeye başlayabilirsiniz. Eski sürümler için uygulama geliştirmenin avantajı ise, yazdığınız uygulamanın yeni Android versiyonlarında da çalışabiliyor olmasıdır. Bu da uygulamanızı daha fazla kişiye sunabileceğiniz anlamına geliyor. Android'in eski versiyonlarında uygulama geliştirmenin dezavantajı ise daha az API destekliyor olmasıdır. Yani Android'in eski bir versiyonu için uygulama geliştirirdiğiniz sırada, yeni Android sürümlerinde kullanılmak üzere geliştirilen özellikleri, uygulamanızda kullanmayacağınız anlamına geliyor.



Örneğin, Android'in 2.3 versiyonları için uygulama geliştirecekseniz eğer, geliştirme esnasında çok daha fazla şeye dikkat etmeniz gerekiyor. Çünkü Android 4.0'dan sonra gelen bir çok yeniliği kullanamayacaksınız. Bunun içim ise ya Support Library kullanacaksınız ya da Third Party Library'den istifade edeceksiniz.

Bununyüzdendir ki yazacağınız uygulamaya göre SDK seçmeniz faydanız olacaktır. Örneğin form verisi post eden basit bir uygulama geliştirdiniz, bunun için API leveli 13 olan bir Android versiyonu seçmenize gerek yok. Bunun için Android 1.5'tan itibaren çalışabilir bi uygulam yapabilirsiniz. Böylece uygulamanız hemen hemen tüm Android sürümlerinde çalışacaktır. Daha büyük uygulamalar için ise Android 1.5 çoğu API'yı desteklemediği için, uygulamanızı geliştirirken kullanacağınız araçlara göre bir SDK seçmelisiniz.

SDK seçerken şu link işinize yarayabilir : http://developer.android.com/about/dashboards/index.html

Bu linkteki tabloda kullanıcılarıni dünyadaki Android sürümlerinin kullanım oranı ve geliştirme açısından Android sürümlerinin desteklediği API çeşitleri sunulmuştur. Bu linkteki tabloya göre kendinize göre, uygulama geliştirmek istediğiniz Minimum SDK versiyonunu seçebilirsiniz.

Ayrıca SDK seçerken, seçim ekranında da anlık olarak tüm dünyada, hangi Android sürümünün kullanıcılar tarafından yüzde kaç oranında kullanıldığını da görebilirsiniz.

Bakınız :

Ekran görüntüsündeki yüzde kısmına tıklayarak da, tüm sürümlerin ayrı ayrı desteklediği API'leri ve kullanıcılar tarafından kullanım oranlarını görüntüleyebilirsiniz.

Yazının devamını oku
Android Studio kurulumu sırasında "Android Studio setup was canceled" hatası ile karşılaştıysanız eğer bu sorunun sebebi SDK Manager paketlerinden kaynaklı olduğunu bilmeniz gerekiyor. Bu hata sizin karşınıza "Your Android SDK is missing, out of date, or is missing templates. You can configure your SDK via Configure | Project Defaults | Project Structure | SDKs" uyarısı şeklinde de çıkabilir.

Bunun için ise,

C:\Users\ZW\AppData\Local\Android\sdk yolunu takip ederek SDK Manager uygulamasına ulaşarak güncel olmayan paketleri güncellemeniz, yüklü olmayan paketleri ise yüklemeniz gerekmektedir.

ZW yazan kısım benim bilgisayarımdaki kullanıcı dosyasının adıdır. ZW yazan kısım sizin bilgisayarınızda farklıdır. Kullanıcı klasörünüzün adını bilmiyorsanız, klasör klasör giderek SDK Manager uygulamasına ulaşabilirsiniz.



Klasör olarak adım adım gitmek için.
C -> Kullanıcılar -> (Bilgisayarınızda kullanıcı olan klasör) -> AppData -> Local -> Android -> SDK adımlarını takip edin. AppData klasörü kimi bilgisayarlarda gizli klasör olarak bulunur. Eğer AppData klasörünü bulamadıysanız, üstteki menüden Araçlar -> Klasörü Seçenekleri -> Görünüm kısmından, "Gizli dosya ve klasörleri göster" yapmanız gerekiyor.

SDK dosyasının içine girdikten sonra SDK Manager.exe dosyasını açın.Orada gördüğünüz tüm paketleri yükleyin. Zaten uygulamayı açtığınız zaman yüklemeniz gereken paketleri size gösterecektir. Tek yapmanız gereken şey butona tıklayarak yükleme işlemini başlatmak olacaktır. Yüklü olmayan paketler varsa yüklenecek, güncel olmayanlar var ise bu işlemden sonra güncellenecektirler. Bunun için


Paket yüklemeleri bittikten sonra Android Studio açıksa, kapatıp yeniden açın. Sorununuz büyük ihtimalle çözülecektir.
Yazının devamını oku

İstatistikler

BLOGKAFEM.NET

© Copyright 2008-2018
Sitedeki yazıların her hakkı BLOGKAFEM.NET sitesine aittir.
Kopyalanması halinde lütfen kaynak gösteriniz.
DMCA.com Protection Status
Anasayfa | Hakkımda | Bizden Haberler | Reklam | İletişim