Web servisimi ve uygulamayı (kişiler ve ajandaların standart eşitlemesi) senkronize etmek için android AccountManger
modelini kullanmak isterim, ancak AccountManager
sadece bir kullanıcı adı ve parola saklıyor gibi görünüyor. Web servisim üç kimlik bilgisi alır: kullanıcı adı, şifre ve hesap. Üçüncü bilgi parçasını saklamak için en iyi uygulama nedir? Hesap eklendiğinde o gerekiyordu Android'in belgelerineAndroid Hesap Yöneticisi'nde ek verileri saklayın
cevap
, Gerçekten kendin hesapla ilgili verileri almak edebilirsiniz Authenticator'ın getAuthToken() yönteminde, örneğin Daha sonra
final Bundle extraData = new Bundle();
extraData.putString("someKey", "stringData");
boolean accountCreated = am.addAccountExplicitly(account, password, extraData);
: ablisco Eğer addAccountExplicitly() 'ın userData Paketi parametresi aracılığıyla keyfi kullanıcı verilerini depolamak için AccountManager yeteneğini kullanabilir açıkladı ile çalışan:
String myData = am.getUserData(account, "someKey");
Maalesef bu yazının yazıldığı gibi sadece bu yüzden veri ilk Paketi oluşturmak string olarak saklanmalıdır, dizeleri alabilirsiniz. Umarım bu birisine yardım eder.
Uygulamamın hesap yöneticisini kullanarak bakıyorum ve e-postalar ve kullanıcı örnekleri gibi şeyler depolamam gerekiyor. Yukarıdaki yöntemi kullanarak yapmak güvenli midir? Veya herhangi bir uygulama kimliği ve e-postayı okuyabilir mi? –
@TomHart - getUserData() belgesindeki (diğer uygulamaların Hesap verilerini okuyacağı yol) belgeleri şu şekildedir: "Bu yöntem, arayanın AUTHENTICATE_ACCOUNTS iznini almasını ve hesabın kimlik doğrulayıcısıyla aynı UID'ye sahip olmasını gerektirir." Bu, doğru şekilde kurulduğunda, yalnızca uygulamanızın bu verilere erişebileceği anlamına gelir. Ancak, herhangi bir hassas veriyi kaydetmek için AccountManager güvenli bir alan DEĞİLDİR. Cihaza fiziksel erişim, herkesin bu verileri okumasına izin verir. Bkz: http://developer.android.com/reference/android/accounts/AccountManager.html#getUserData(android.accounts.Account, java.lang.String) –
Bazı testler yaptım, okuyabildiğimi gördüm Diğer hesaplar verileri, sadece anahtarı gerekli. Kullanıcı kimliklerini ve e-postaları güvenli bir şekilde nasıl depolayacağınız konusunda herhangi bir tavsiyeniz var mı? Tüm düşünebildiğim setUserData için gerçekten belirsiz bir anahtar kullanmaktır, örneğin .setUserData ("Bazı ^^! _ Really_StrangeEMa1L_Key!", UserEmail); 'ancak birisi uygulamayı bozarsa kullanabileceğim dizeyi alabilirler. –
userData Paketi biriyle yapılması:
AccountManager manager = AccountManager.get(context);
manager.addAccountExplicitly(account, null, userData);
veya açıkça değerler ekleyerek:
manager.setUserData(account, KEY, value);
Ama sorun yaşıyorum Bu: p olarak
Cevabınız için teşekkürler. Hesap yöneticisini terk ettim. Sonunda onunla çok sıkıntı çektim. Projemin büyüyor gibi gözüktüğünü söyledim ve buna geri dönebilirim. Cevabınızı yakında kontrol edeceğim – JonWells
- 1. Android: SecretKey'i KeyStore'da saklayın
- 2. Android hesap yöneticisi - Hesap menüsünün düzeni
- 3. Bir Winform Uygulamasındaki DataGridview'daki ek sırayı saklayın
- 4. özel hesap oluştur android
- 5. Magento'da hesap oluşturma verileri, istemci panosuna kaydedilmiyor
- 6. Django yöneticisinde özel doğrulama
- 7. Alexa hesap
- 8. @Onclick android ek açıklamaları?
- 9. Verileri ek açıklamadan almak için mi geçiyorsunuz?
- 10. Jellybean (API 16) hala Android SDK Yöneticisinde görünmüyor
- 11. Bir dosya yöneticisinde dosya yolunu Android amacı olarak görüntüleyin
- 12. JSON, Android sunucusundan hesap makinesi bilgisine geri dönüyor
- 13. Android SharedPreferences Mağaza Verileri
- 14. "Grouping" sözlüğüne göre hesap
- 15. Javascript GPA hesap makinesi, Düğme hesap çalışmıyor
- 16. Android ek açıklamaları ve applicationIdSuffix
- 17. Gezinme çekmecesine hesap ekleme
- 18. çağrılması Java hesap adı
- 19. lambda hesap:
- 20. HesapManager'da Hesap Ekle kilitlenme yol açabilir
- 21. Sprite'ları spritesheet dizisinde saklayın Libgdx
- 22. Bootstrap popover'ını viewport içinde saklayın
- 23. Bir Travis deposunu saklayın
- 24. Kullanıcı verilerini ayrı ayrı veritabanında saklayın
- 25. Özel nesneleri (Kullanıcı tanımlı obj) SQLite Android veritabanında saklayın
- 26. Ben robot piyasada benim bitmiş android uygulama yüklemek çalışıyorum saklayın
- 27. Keepass veritabanında hassas bilgileri c'den saklayın. #
- 28. Verileri Hizmetten Faaliyete Gönder Android
- 29. Güncelleme android saat dilimi verileri
- 30. Sunucudan görüntü indirin ve SD kartta saklayın
Saçma bir şey için özür dilerim ama KullanıcıAdı ve Hesabı birleştirip mantıklı bir 'KullanıcıAdı' olarak saklayamaz mısınız? –