Android 2.2 Froyo SDK


google_io_logo_lg

Geçtiğimiz hafta San Francisco’da yılın en büyük geliştirici konferansı yapıldı. Evet 3 senedir yapılmakta olan Google I/O etkinliğinden bahsediyorum. Bu etkinlikte 45 dakikalık bir sunumu da Android’e ayırmışlardı. Sunumda yeni OS sürümü olan 2.2 (froyo) duyuruldu, froyo’nun yeni özellikleri ile ilgili bolca demo yapıldı.

Ben etkinliği youtube’tan takip etmeye çalıştım, özellikle Vic Gundotra’nın yaptığı 45 dakikalık sunum, Android geliştiricilerini en çok ilgilendiren bölümdü. Youtube yasağı nedeniyle bu videolara her yerden erişmenin çok kolay olmadığını biliyorum, bu nedenle ilgili videoyu indirip aşağıda herkesin izleyebileceği şekilde yayınlamaya karar verdim.  Ayrıca biz geliştiriciler için bu yeni versiyonun bir kaç tane heyecan verici özelliğinden de bahsetmeye çalışacağım.



Google I/O Day 2 keynote

Froyo, hem son kullanıcı hem geliştiriciler için birçok yenilik getiriyor, son kullanıcıyı ilgilendiren kısmı bir kenara bırakıp bizleri ilgilendiren ve benim en çok etkilendiğim konulara geçmek istiyorum.

SD Karta Kurulum
Artık uygulamalarımızı manifest dosyasında belirteceğimiz bir parametre ile direk sd karta kurulumunu sağlayabiliyoruz, hatta burada birden fazla seçenekle karşılaşıyoruz:

  • preferExternal : mümkünse sd karta, değilse internal hafızaya kurar.
  • auto : uygulamanın bazı özelliklerine göre sistem karar verir, burada sd karta kurma ihtimali de var.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    android:installLocation="preferExternal"
... >

Servisler, widget’lar, live wallpaper, live folder gibi bazı uygulamaları isteseniz de sd karta kurulmasına izin verilmiyor. Özellikle büyük boyutlarda içerik barındıran uygulamaların (genellikle oyunların) SD karta kurulması tavsiye ediliyor.
SD karta kurulumda hemen akla iki tane risk geliyor, bir tanesi performans diğeri ise uygulamanın buradan alınarak Market dışı yollarla dağıtılmasına imkan vermesi. Bu iki sorunu da çözmüşler:

  • SD karta kurulum yapıldığında, bu uygulama sadece o cihazda çalışacak şekilde encrypt ediliyor ve encrypt ettikleri key random olarak değişiyor.
  • Tüm class’ların compile edildiği dex formatındaki dosya, kullanıcı datası ve database, internal hafızaya açıldığı için performans sorununun önüne geçilmiş.

Backup ve C2DM Servisleri
Bir başka önemli konu ise backup mevzusu. Apple’ın iTunes’u veya diğer klasik cihazlarda cd’lerden çıkan telefon yönetim programları (pc suite tarzı) ile telefonumuzu pc üzerinden yönetebiliyoruz. Bu programlarla backup alabiliyor, dosya transferleri yapabiliyoruz.

Bir buçuk senedir Andorid’te bu ihtiyacın nasıl karşılanacağını merakla bekliyordum, telefon defteri, takvim gibi uygulamalar zaten Google hesabımız ile sync olduğu için çok da ihtiyaç duymuyordum ama yine de bir eksiklik olarak göze çarpıyordu. Google iki tane servis ile bu sorunu çözmüş durumda, Backup Servisi ve C2DM Servisi.

Backup yeni bir servis, C2DM ise Cloud to Device Messaging anlamına gelen ve zaten kullanılan ama API’ları geliştiricilere açılmayan bir servisti,  henüz hayata geçmediler ama her ikisinin de 2.2 SDK ile birlikte api’ları açılmış durumda.

Backup servisi, uygulamamızda kullanıcı tarafında üretilen ve cihaz içinde saklanan preferences ve database bilgisini ya da kendi başka yöntemlerle sakladığımız bilgileri cloud’ta backup’lanmasını sağlıyor. Görünen o ki, Google hesabımızla giriş yaptığımız bir web arayüzü ile backup ve restore başlatabileceğiz, ayrıca cihaz üzerinden de backup başlatabileceğiz hatta uygulamamızın içerisinden de Google backup serverına, backup talebi iletebileceğiz. Backup başladığında, kullanıcının sistem üzerinde(ayarlar gibi) ve uygulamalarda oluşturduğu tüm data cloud’ta yedeklenecek. Kullanıcı başka bir Android cihaz satın aldığında, tüm ayarları yeni cihaza otomatik olarak gelecek. Ayrıca kullanıcı, bizim yazdığımız uygulamayı yeniden kurduğunda, uygulamamızın backup aldırdığı data da otomatik olarak geri gelecek.

C2DM ise gerçekten çok etkileyici bir servis olmuş. Geliştirici tarafından yazılmış bir server üzerinden cihaza iletilmek üzere bir intent gönderebiliyoruz. Bizim serverımız direk cihazla iletişime geçmiyor, biz mesajımızı C2DM server’a iletiyoruz gerisini o hellediyor.
Intent gönderme konusunu açarsak olay daha net anlaşılacak. Intent aracılığıyla cihaza

  • Dialer, SMS, Browser, Map gibi uygulamalara, göstermek üzere data gönderebiliyoruz, mesela bir coğrafik lokasyon ve zoom seviyesi datası göndererek, cihazda Map uygulamasının açılmasını sağlayabiliyoruz ya da bir telefon numarası göndererek bu numaraya mesaj yazmak üzere sms programını açabiliyoruz.
  • Spesifik bir uygulamanın çalışmasını sağlayabiliyoruz.

Google, C2DM servisini kullanarak cihazımıza uygulama gönderecek yeni bir Market web arayüzü hazırlamış durumda, henüz hayata geçmedi ama şöyle çalışacak:

  • Web’ten Google Market’e gideceğiz ve Google hesabımızla giriş yapacağız.
  • Tüm uygulamalar aynı telefonumuzda olduğu gibi listelenecek.
  • İstediğimiz birini seçip kur düğmesine basacağız ve otomatik olarak telefonumuzda kurulumun başladığını göreceğiz :)

Uzaktan telefon yönetimini Web üzerinden yapan bir sistem kurulmuş durumda, artık Android’in bir Pc uygulamasına ihtiyacı kalmadı, uzaktan backup/restore, uygulama yönetimi, mp3 ve resim indirme gibi işlemler Web üzerinden yapılabilecek. Bu servisler sayesinde Android, büyük eksiklik olan cihazı uzaktan yönetim konusuna son noktayı koymuş görünüyor.

Android 2.2 SDK’ında başka özellikler, iyileştirmeler ve düzeltmeler de barındırıyor, Android 2.2 SDK’sı ile gelen tüm değişikliklere aşağıdaki linkten erişebilirsiniz:

http://developer.android.com/sdk/android-2.2.html#api

No related posts.

Related posts brought to you by Yet Another Related Posts Plugin.

  1. #1 by kGlz - June 9th, 2010 at 09:47

    video ve açıklama için teşşekürler.

Yorum yazabilmeniz için giriş yapmış olmalısınız

  1. No trackbacks yet.