19 Şubat 2015 Perşembe
Android Çoklu Resim Seçme
Bu sıralar üzerinde çalıştığım projede çoklu resim seçme gibi bir özelliğin olması gündeme geldi. Android' de galeriden ya da kameradan seçenekleriyle kullanıcıya resim seçtirebiliyoruz evet ama bu işlemin sonucu bize tek bir resim dönüyor. Galeriden tek seferde bir çok resim seçebilmek için şu şekilde bir çözüm düşündüm:
Telefon hafızasındaki tüm resimleri çekip kendi oluşturduğum gridview gömerek kullanıcıya bu resimleri gösterebilmeliydim.
GridView' in her elemanına bir checkBox koyarak kullanıcının seçeceği resimleri işaretlemesini sağlamalıydım.
Seçtiğim resimlerden dönen yolları (paths) Universal Image Loader kütüphanesi sayesinde imageviewlere verip ekranda seçilen resimleri göstermeliydim.
Tüm resimleri hafızadan alabilmek için READ_EXTERNAL_STORAGE iznine gerek duyuyoruz.
Manifestte isteklerimize cevap alabilmek için oluşturduğumuz özel Activity' i intent filter özelliği ile filtreden geçiriyoruz.
<intent-filter>
<!-- For recognation our request type-->
<action android:name="cunoraz.ACTION_PICK" />
<action android:name="cunoraz.ACTION_MULTIPLE_PICK" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
Activity' mizi tek resim seçmek üzere çağırırken
Intent i = new Intent(Action.ACTION_PICK);
startActivityForResult(i, 100);
çoklu resim seçmek için çağırırken
Intent i = new Intent(Action.ACTION_MULTIPLE_PICK);
startActivityForResult(i, 200);
şeklinde kullanmamız yeterli olacaktır. Dönen resimlerin üzerlerine tıklayarak dosya dizinlerini de görebilirsiniz.
Projenin detaylarına buradan ulaşabilirsiniz.
https://github.com/Cutta/MultipleImagePicker
Herkese kolay gelsin.
14 Şubat 2015 Cumartesi
Android FusedLocationApi Kullanımı
Google' ın cihaz kordinatlarını daha keskin belirleyebilmek üzere sunduğu yeni servisi: FusedLocationApi. Bu servis GoogleApiClient ile bağlanarak mümkün olan en iyi lokasyon bilgisini veriyor. Örneğe geçecek olursak.
1. Google Play Services indirme ve import etme
FusedLocationApi çalışabilmek için Google Play Services hizmetlerine ihtiyaç duyuyor. Eğer daha önce indirmediysek:
1. SDK Manager sekmesini açın ve Extras kısmından Google Play services' i indirin.
2. Eclipse' te File => Import => Android => Existing Android Code Into Workspace
olunu izleyerek
android-sdk-windows\extras\google\google_play_services\libproject\google-play-services_lib dizinindeki projeyi Eclipse' e dahil ediyoruz.
3. Projemizin play services hizmetlerinden faydalanabilmesi için Google Play services' i projemize göstermemiz gerekiyor. Projeye sağ tıklayıp proporties ardından Android sekmesinde Add.. butonuna tıkladığımızda google-play-services_lib projesine tıklayıp onaylayarak projemize Google Play hizmetlerini dahil ediyoruz.
Projenin kodlarına bu adresten ulaşabilirsiniz.
https://github.com/Cutta/FusedLocationApi_Example
1. Google Play Services indirme ve import etme
FusedLocationApi çalışabilmek için Google Play Services hizmetlerine ihtiyaç duyuyor. Eğer daha önce indirmediysek:
1. SDK Manager sekmesini açın ve Extras kısmından Google Play services' i indirin.
2. Eclipse' te File => Import => Android => Existing Android Code Into Workspace
olunu izleyerek
android-sdk-windows\extras\google\google_play_services\libproject\google-play-services_lib dizinindeki projeyi Eclipse' e dahil ediyoruz.
3. Projemizin play services hizmetlerinden faydalanabilmesi için Google Play services' i projemize göstermemiz gerekiyor. Projeye sağ tıklayıp proporties ardından Android sekmesinde Add.. butonuna tıkladığımızda google-play-services_lib projesine tıklayıp onaylayarak projemize Google Play hizmetlerini dahil ediyoruz.
Projenin kodlarına bu adresten ulaşabilirsiniz.
https://github.com/Cutta/FusedLocationApi_Example
Kaydol:
Kayıtlar (Atom)