Cihaz Konumu
Cihaz Konumu
LocationManager hizmetinin birincil kullanımlarından biri, cihazın konumu hakkında bildirim almaktır. Liste, konum güncelleme olaylarını almak için bir dinleyiciyi nasıl kaydedebileceğinizi gösterir.
Bir dinleyiciyi kaydetmek için, requestLocationUpdates() yöntemini çağırır ve sağlayıcı türünü parametrelerden biri olarak iletirsiniz. Konum değiştiğinde, LocationManager yeni Konum ile dinleyicinin onLocationChanged() yöntemini çağırır.
Listing’de dinleyici uygulamamız, kullanıcı arayüzünde konumun yeni enlem ve boylamını belirtmek için bir mesaj gösterir. Bunu öykünücüde test etmek için Eclipse için ADT eklentisiyle birlikte gelen Dalvik Debug Monitor Service (DDMS) arayüzünü kullanabilirsiniz. DDMS kullanıcı arabirimi, öykünücüye yeni bir konum göndermeniz için bir ekran sağlar.
Gösterildiği gibi, DDMS kullanıcı arayüzündeki Manuel sekmesi öykünücüye yeni bir GPS konumu (enlem/boylam çifti) göndermenizi sağlar. Yeni bir konum göndermek, dinleyicide onLocationChanged() yöntemini tetikler ve bu da kullanıcıya yeni konumu ileten bir mesajla sonuçlanır.
DDMS kullanıcı arayüzünde gösterildiği gibi, birkaç başka teknik kullanarak konum verilerini öykünücüye gönderebilirsiniz. Örneğin, DDMS arabirimi, bir GPS Değişim Biçimi (GPX) dosyası veya Anahtar Deliği Biçimlendirme Dili (KML) dosyası göndermenize olanak tanır. Örnek GPX dosyalarını bu sitelerden temin edebilirsiniz.
Böylece öykünücüye bir GPX veya KML dosyası yükleyebilir ve öykünücünün dosyayı oynatma hızını ayarlayabilirsiniz. Öykünücü daha sonra, yapılandırılan hıza göre uygulamanıza konum güncellemeleri gönderir.
Bu bölümde, Android SDK’nın iki önemli bölümünü ele aldık: uygulama güvenliği modeli ve konum tabanlı hizmetler. Güvenlikle ilgili olarak, Android’in tüm uygulamaların dijital imza ile imzalanmasını gerektirdiğini öğrendiniz.
Öykünücü ve Eclipse ile derleme zamanı güvenliğini sağlamanın yanı sıra yayınlanmak üzere bir Android paketi imzalamayı tartıştık. Çalışma zamanı güvenliği hakkında da konuştuk, Android yükleyicinin, yükleme sırasında uygulamanızın ihtiyaç duyduğu izinleri istediğini öğrendiniz.
Belirli bir izin reddedilirse, bir izinle korunan bir kaynağa erişmeye çalışan herhangi bir kod izin istisnasına neden olur. Uygulamanızın gerektirdiği izinleri nasıl tanımlayacağınızı ve dağıtım için .apk dosyasını nasıl imzalayacağınızı da gösterdik.
Konum tabanlı hizmetlerle ilgili olarak, MapView kontrolünü ve MapActivity sınıfını kullanmaktan uzun uzadıya bahsettik. Haritanın temelleri ile başladık ve ardından haritalara işaretçiler yerleştirmek için bindirmeleri nasıl kullanacağınızı gösterdik. Arka plan dizilerinde coğrafi kodlamayı nasıl yapacağınızı ve ele alacağınızı bile gösterdik.
Son olarak sağlayıcılar aracılığıyla detaylı konum bilgisi sağlayan LocationManager sınıfından bahsetmiştik. İki sağlayıcı türünden birini seçebilirsiniz: GPS ve Ağ. GPS sağlayıcıları, Küresel Konumlandırma Sistemlerini kullanarak konum bilgilerini alırken, ağ sağlayıcıları baz istasyonları ve WiFi ağlarını kullanır.
Tüketim Hizmetleri
Android Platformu eksiksiz bir yazılım yığını sağlar. Bu, bir işletim sistemi ve ara katman yazılımının yanı sıra çalışan uygulamalara (telefon çevirici gibi) sahip olduğunuz anlamına gelir. Tüm bunların yanı sıra, platform için uygulama yazmak için kullanabileceğiniz bir SDK’nız var.
Şimdiye kadar, bir kullanıcı arayüzü aracılığıyla kullanıcıyla doğrudan etkileşim kuran uygulamalar geliştirebileceğimizi gördük. Bununla birlikte, arka plan hizmetlerini veya arka planda çalışan bileşenler oluşturma olasılıklarını tartışmadık.
Bu bölümde, Android’de hizmet oluşturmaya ve kullanmaya odaklanacağız. Önce HTTP hizmetlerini tüketmeyi tartışacağız, ardından süreçler arası iletişimi (aynı cihazdaki uygulamalar arasındaki iletişim) tartışacağız.
HTTP Hizmetlerinin Tüketilmesi
Genel olarak Android uygulamaları ve mobil uygulamalar, çok sayıda işlevselliğe sahip küçük uygulamalardır. Mobil uygulamaların bu kadar küçük bir cihazda bu kadar zengin işlevsellik sunma yollarından biri, çeşitli kaynaklardan bilgi çekmeleridir.
Örneğin, T-Mobile G1, görünüşte gelişmiş haritalama işlevi sağlayan Haritalar uygulamasıyla birlikte gelir. Bununla birlikte, uygulamanın, karmaşıklığın çoğunu sağlayan Google Haritalar ve diğer hizmetlerle entegre olduğunu biliyoruz.
Bununla birlikte, yazdığınız uygulamaların diğer uygulamalardan gelen bilgileri de kullanması muhtemeldir. Ortak bir entegrasyon stratejisi, HTTP kullanmaktır. Örneğin, Android uygulamalarınızdan birinden yararlanmak istediğiniz hizmetleri sağlayan bir Java sunucu uygulamanız olabilir. Android ile bunu nasıl yapıyorsun?
İlginç bir şekilde, Android SDK, Apache’nin J2EE alanında evrensel olarak kullanılan HttpClient ile birlikte gelir. Android SDK, Android için değiştirilmiş bir HttpClient sürümüyle birlikte gelir, ancak API’ler J2EE sürümündeki API’lere çok benzer.
Apache HttpClient, kapsamlı bir HTTP istemcisidir. HTTP protokolü için tam destek sunsa da, muhtemelen HTTP GET ve POST’u kullanacaksınız. Bu bölümde, HTTP GET ve HTTP POST çağrıları yapmak için HttpClient kullanımını tartışacağız.
Google konum ayarları
Cihazımı Bul
Telefonumu bul
Android Cihazımı Bul
Kapalı telefonu bulma
Kayıp telefon bulma
Google Cihazımı Bul
Cihazımı Bul cihaza ulaşılamıyor
HTTP GET İstekleri için HttpClient’i Kullanma
İşte HttpClient’i kullanmanın genel modeli:
1. Bir HttpClient oluşturun (veya mevcut bir referansı alın).
2. PostMethod veya GetMethod gibi yeni bir HTTP yöntemi oluşturun.
3. HTTP parametre adlarını/değerlerini ayarlayın.
4. HttpClient kullanarak HTTP çağrısını yürütün.
5. HTTP yanıtını işleyin.
HttpClient kullanılarak bir HTTP GET’in nasıl yürütüleceğini gösterir. HttpClient, HttpGet, HttpPost vb. gibi çeşitli HTTP istek türleri için soyutlamalar sağlar. Listeleme, içeriği almak için HttpClient’i kullanır. Gerçek HTTP isteği, istemciye yapılan çağrı ile yürütülür.
İsteği yürüttükten sonra kod, yanıtın tamamını bir dize nesnesine okur. BufferedReader’ın, temeldeki HTTP bağlantısını da kapatan nihayet blokta kapatıldığını unutmayın.
Listelemedeki sınıfın android.app.Activity’yi genişletmediğini anlayın. Başka bir deyişle, HttpClient’i kullanmak için bir aktivite bağlamında olmanız gerekmez çünkü HttpClient Android ile paketlenmiştir, onu herhangi bir Android bileşeni bağlamında (bir aktivite gibi) kullanabilir veya şu şekilde kullanabilirsiniz.
Listelemedeki kod, sunucuya herhangi bir HTTP parametresi iletmeden bir HTTP isteği yürütür. Gösterildiği gibi URL’ye ad/değer çiftleri ekleyerek ad/değer parametrelerini isteğin bir parçası olarak iletebilirsiniz.
Bir HTTP GET’i yürüttüğünüzde, isteğin parametreleri (adları ve değerleri) URL’nin bir parçası olarak iletilir. Parametreleri bu şekilde geçirmenin bazı sınırlamaları vardır. Yani, bir URL’nin uzunluğu 2.048 karakterin altında tutulmalıdır.HTTP GET kullanmak yerine HTTP POST kullanabilirsiniz.POST yöntemi daha esnektir ve parametreleri istek gövdesinin bir parçası olarak geçirir.
Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır.
1) Backlink Paketi 50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)