[英]SQLite database for Android app with potential multiple users
我有一個帶有 SQLite 數據庫的應用程序,用於存儲用戶帳戶的信息。 我在假設應用程序只有一個用戶的情況下設計了數據庫。 因此,用戶的 ID 不存儲在數據庫中(但它存儲在服務器上的中央數據庫中)。 但是,可以注銷應用程序並讓其他用戶登錄,但目前的問題是,他們的數據被下載然后附加到其他用戶的數據中。 這不是我想要發生的,但我不確定如何最好地更改數據庫設計來解決這個問題。 我曾想過:
這些方法之一好嗎? 還是有更好的方法來做到這一點?
對於選項 1,我會選擇 go。將其保存為單獨的文件將確保擁有多個數據庫不會對性能產生任何影響。
您可以將 append 的用戶 ID 改為數據庫文件名。 如果您有超過 4 個(或者如果您超過一定數量的數據),您可以擁有某種 LRU 系統,您可以在其中自動刪除最舊的數據庫。
此選擇的具體細節取決於您,因為您知道要使用多少數據存儲空間,以及有多少用戶可能在同一設備上使用該應用程序。
這實際上取決於您的要求,但是第三個選項似乎不太實用。 如果您想這樣做,那么它與卸載並重新安裝您的應用程序相同。
我可能更傾向於使用選項 2,但這取決於您想在數據庫中執行的操作。 例如,如果您想要跨所有用戶而不是個人的統計信息或查詢,以及是否存在用戶之間共享的公共數據。
如果您擔心存儲大小,請編寫一個服務來清除屬於任何未在特定時間范圍內登錄的用戶的數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.