ersinyildiz

Soru Cevap 1 – Android uygulamalarında cookie yönetimi nasıl olmalıdır ?

1 – Android uygulamalarında cookie (çerez) yönetimi nasıl olmalıdır ?

SORU : Merhaba Arkadaşlar bir android uygulama geliştiriyorum. Yaptığım Uygulamada Kullanıcı Adı Ve Şifre İle Giriş Yapılabilecek. Uygulamada Kredi sistemi de olacağı için Güvenli Bir Cookie yapmam gerekiyor. Kişinin Kullanıcı Adı Ve Şifresiyle Giriş Yaptıktan sonra, Uygulamayı Kapatıp açınca tekrar giriş yapmasını İstemiyorum. Bunun İçin Nasıl Bir Yol İzlemeliyim ?Teşekkürler.

Cookie ve Güvenlik birlikte anılamayacak kadar zıtlar aslında. Özellikle kullanıcı adı ve şifre gibi bilgileri Cookie’lerde tutmak çok güvenli bir yöntem değil. Android’de bazı bilgilerin her uygulama çalıştırıldığında uygulama tarafından hatırlanmasını isterseniz iki yöntemden bahsedebilirim. Verileri SQLite veritabanında veya SharedPreferences kullanarak bir XML dosyasında saklayabilirsiniz. Fakat bunların ikisinide aşağıdaki şekliyle önermiyorum, Neden ? :

1 – SharedPreferences : Uygulama cihaza yüklendikten sonra ilk çalıştırıldığında kullanıcıdan bir defa almak istediğiniz verileri istersiniz ve bu verileri kodla oluşturduğunuz XML dosyasına kaydedersiniz. Uygulama ikinci defa açılıp login olmak istediğinde kullanıcıdan tekrar şifre istemek yerine otomatik olarak bu dosyadan okursunuz. ( Güvenli Değil )

2 – SQLite : Üsttekine benzer mantıktadır fakat verileri XML dosyasında tutmak yerine SQLite veritabanıdna tutulur ve her login işleminde uygulama verileri buradan okur. ( Güvenli değil )

Neden güvenli değil ? : Normalde Android işletim sisteminde yüklü uygulamaların dosyalarına erişmeye izin verilmez. Yani bazı verilerin tutulduğu XML dosyaları ve SQLite veritabanı dosyalarına erişemezsiniz. Fakat bilinen adıyla rootlama denilen işlemle Android işletim sisteminde root yetkisi (tam yetki) alınabilmekte ve yüklü uygulamaların tüm veri dosyalarına erişim sağlanabilmektedir. Root edilmiş cihazların başkalarının eline geçmesi veya farkında olmadığınız uygulamaların bu belirtilen dosyalara erişmesi gibi durumlarda kullanıcının şifre gibi önemli bilgileri 3.kişilerin eline geçebilir. Bu sebeple önemli veriler sabit dosyalarda tutulmazlar.

Çözüm nedir ? : Yukarıda bahsettiğim güvenli olmayan yöntemlerin güvenli olmayışının sebebi verilerin “açıkça” dosyalara yazılmasıydı. Burada verilerin şifrelenip dosyalara yazılmasıysa güvenlik sıkıntısını büyük ölçüde giderebilirsiniz.

Android uygulamalarında alınabilecek güvenlik önlemleri ile ilgili Bedirhan Urgun’un şu yazısını okuyabilirsiniz.

Guvenli Android Uygulama Geliştirme İpuçları

Güvenli Uygulama Geliştirme Android

Android Eğitimi : Ekranın Döndürülmesi Nasıl Engellenir ?

Öncelikle başlık yanıltıcı olabilir diye bir ön açıklama yapmakta fayda var. Bu yazının hedef kitlesi son kullanıcılar değil, android geliştiricileridir. Son kullanıcılar Ayarlar – Ekran – Otomatik Döndürme seçeneklerinden cihazın genel ayarını değiştirebilirler.

Geliştirme yaparken sık kullandığım fakat bazen tam hatırlayamadığım konular oluyor. Bu da bunlardan biri. Kodu tam hatırlamak için eski projelere dönmek gerekiyor, zaman kaybı. Ben de bunları bir not defterinde tutmak yerine blog yazısı olarak yazmayı çözüm olarak seçtim. Hem aradığımda elimin altında olur, hem de benzer bir konuyu arayan varsa yardımcı olur diye.

Androidde bir arayüzü sadece Portrait mod için tasarlamış iseniz ve telefon yan tutulduğunda yani landscape moda geçtiğinde görüntünün dönmesini engellemek istiyorsanız aşağıdaki yöntemi kullanabilirsiniz. Fakat baştan söylemek gerek, bu türlü kısıtlamalar kullanıcı deneyimi açısından size olumsuz dönüşler getirecektir. Fakat bunu bu yazıda değil bir başka yazıda tartışarak nasıl çözüm getirilmesi gerektiğini konuşacağız.

TLDR ; Ekranın dönmesini engellemek için “AndroidManifest.xml” dosyanızda hangi Activity’de engelleme yapmak istiyorsanız o activity’nin tanım etiketlerine aşağıdaki kodu eklemeniz gereklidir.

 android:screenOrientation="portrait"
 android:configChanges="keyboardHidden|orientation|screenSize"

Örnek olması açısından aşağıda bu özelliklerin kullanıldığı bir AndroidManifest.xml dosyası bıraktım.

 

Bir rengin koyu mu açık mı olduğu nasıl anlaşılır ?

Web uygulamalarında kullanıcıların arkaplan renk seçimine izin verdiğiniz senaryolarda, bu arkaplan renginin koyuluğu arkaplanın üstüne gelecek yazının rengini belirlemede önemli bir değişkendir. Diğer bir deyişle, rengini önceden bilmediğiniz arkaplanlar için yazı rengi belirlemenizi gerektirecek durumlar oluşabilir. Bu gibi durumlarda rengi belirlemek için kullanabileceğiniz bir algoritma mevcut. Bu sayede koyu arkaplanlar için açık yazı rengi, açık arkaplanlar için koyu yazı rengi belirleyebilirsiniz.

Devamını Oku

Web Uygulamalarında HTML5 ile Konum Tespiti

Günümüz teknolojisinde GPS bulunmayan telefon sayısı epey azaldı. Artık adres bilgisinin yanında konum bilgisinin girilmesi de bu bilgi kullanılırken epey kolaylık sağlıyor. Bunun yanında konum bazlı web uygulamalarında da kullanıcının konumunun uygulama tarafından tespit edilebiliyor oluşu kullanıcı deneyimi açısından muazzam bir özellik.

Bu yazımda HTML5 ile web uygulamalarında kullanıcının (client) konumunu tespit etmenin yönteminden bahsediyorum. Devamını Oku

Android’de ekranlar (activity) arası iletişim yöntemleri

Merhabalar, bu yazımda android uygulamalarında ekranlar arası iletişim yapısından bahsedeceğim. Ekranlar arası iletişim android uygulamalarının akışında sıklıkla ihtiyaç duyulan bir işleyiştir. Bir activity’de yapılan işin sonucunun sonraki activity’e aktarılması veya bir spesifik amaçla açılmış bir activity’nin ürettiği sonucu onu çağıran activity’e geri döndürmesi için özelleşmiş olan bir yapıdan bahsedeceğim.

Devamını Oku