2017-07-27 47 views
-1

中創建永久註冊帳戶我在製作應用程序,並將sqlite用作數據庫。但是,每當我卸載並重新安裝我的應用程序,我卸載應用程序之前所做的以前的帳戶不存在。如何在android

我想讓它,如果用戶在其上創建帳戶,然後卸載該應用程序,那麼只要他/她將重新安裝,他/她以前註冊帳戶應該存在的方式。

有沒有辦法做到這一點?請分享。 謝謝!

+0

爲此,您可以使用外部數據庫並將您的數據存儲在其中。 –

+1

卸載應用程序的要點是擺脫它和它的相關組件,這是默認情況下android所做的事情,應用程序的數據(例如登錄憑據)存儲在應用程序僅可訪問的私有位置,您可以嘗試將其存儲在其他位置,但這會使用戶的數據易受攻擊。總之,沒有辦法實現你想要的東西而不影響用戶的安全 – AguThadeus

回答

0

我建議使用API​​調用和SharedPreference用於存儲他的設備的IMEI號碼在一個特定的用戶帳戶。

每當用戶打開一個應用程序

首先檢查用戶帳戶是否在本地退出,如果沒有,那麼通過使用API​​調用基於設備的IMEI號碼查詢,即使服務器沒有有關的信息提供IMEI號碼,然後允許登錄到APP。

這將永久解決您的問題。

0

當您從設備上卸載應用程序時,所有應用程序數據都會從android設備中刪除。所以不可能滿足您的要求。

如果你不卸載應用程序意味着明年汽車共享使用偏好籤署up.Its會爲你的需求。

0

當您卸載您的應用程序時,應用程序的整個數據目錄被刪除。這包括數據庫,首選項,其他文件,緩存等。在您的情況下,有兩種可能的方式來滿足您的要求。

1)通過後端/服務是否有在系統中創建的所有帳戶該設備並獲得登錄完成,再存儲到您的SQLite數據庫或共享偏好安裝檢查後。在這裏您需要使用設備的唯一標識符(IMEI號碼/ UDID)作爲源來檢查它。首先檢查用戶帳戶是否在本地退出,如果沒有,那麼通過使用基於設備唯一標識符

2 API調用查詢)創建於SD卡,而創建一個默認的SQLite數據庫。您可以嘗試將數據庫保存到SD卡,並從那裏讀取,如this。但是,如果用戶更改SD卡或將其裝載到計算機預蜂窩中,則您將無法訪問數據庫。

另一種選擇是定期將其備份到服務器,並手動從那裏恢復備份,或者實施類似Google BackupAgent的備份,如果用戶配置他/她的設備進行備份,則會自動備份數據它所註冊的Google帳戶。

如果你擔心你的數據被他人讀取,使用AES或其他一些加密技術進行加密。

+0

你的意思是把應用移到SD卡上? –

+0

不是應用程序,而是創建用於存儲數據的SQLite數據庫。但它有一些限制,我在回答 –

+0

中提到將sqlite保存到SDcard中。你可以在這裏查看https://stackoverflow.com/questions/22012544/android-keep-database-after-uninstalling-app –