簡體   English   中英

我是否需要SQLite才能在MySQL數據庫上存儲一些數據

[英]Do I need SQLite in order to store some data on MySQL database

如果我需要在MySQL數據庫上存儲一些數據,是否應該先將其存儲在SQLite上,然后將Android上的SQLite同步到MySQL數據庫?

是否可以在沒有SQLite的情況下將數據存儲到MySQL數據庫? 如果是,哪個更好的選擇? (使用或不使用SQLite)

更新
我需要MySQL,因為我希望person1能夠查看person2的數據,如果person2的數據存儲在SQLite上是不可能 ,因為它將位於person2的 Android設備中。

問題是您要將數據庫放在哪里? 如果是應用內應用,則只有SQLite別無選擇。

如果它不是應用程序,那么可能性是無限的。 您可以肯定地運行自己的服務器和MySql數據庫。 例如,如果使用像Amazon AWS提供的那樣的雲解決方案,那么您甚至不需要設置服務器,因為它們具有允許應用程序直接與數據庫通信的SDK。

同步策略取決於您的應用。 也許不需要,您的應用程序可以根據需要將查詢發送到數據庫。 我的經驗法則是我拒絕在客戶端或應用程序中設置數據庫。 為什么呢 因為一旦存在,對其進行修改就不容易了。 另外,它受設置->清除數據或卸載的支配。

如果您想按照編輯的意思進行操作,則需要在應用外進行。 您需要一個中央數據庫來收集所有安裝的數據並允許從中進行查詢。 我需要強調的是,如果它是非應用程序,則不必是MySql。 MySql只是一種關系數據庫系統。 您可以使用無模式系統(或NoSql),文件存儲(如果數據是文件)等,這些都取決於許多注意事項。

Android僅支持SQLite數據庫,該數據庫將位於Android設備上的應用程序中。

如果要使用MySQL數據庫,則需要創建一個API,該API將位於Internet上的服務器上。 此API將創建從您的應用程序到MySQL數據庫的接口。 然后,您需要從Android應用程序對API進行網絡調用。

使用API​​模型的選項很多,因此實際上您需要做一些Google搜索,並找出最適合您的方法。

編輯

要回答您編輯過的問題,您肯定需要使用API​​設計模式。 如果您要創建需要從多個設備訪問的服務,那么通常這就是方法。 使用API​​的好處是可以跨平台使用它們。 因此,您不僅可以在Android設備上使用它,還可以通過Web,IOS應用程序等使用它。

一個簡單而典型的體系結構就是您擁有一個Android應用程序,該應用程序將通過HTTP通過Web將網絡調用發送到API。 該API將位於服務器上,該服務器上可能存儲有MySQL數據庫。 該API將驗證您的用戶並執行所需的方法,該方法可能會進行一些數據庫查詢。 API獲得結果后,會將其發送回Android App,后者將被解析並顯示給用戶。

這是一個巨大的話題,因此您真的需要對此做一些研究。

正如您在developer.android網站上看到的那樣,Android不支持MySQL保存應用程序數據

雖然,您並不強迫使用SQLite數據庫來與其他RDBMS通信。 您可以看到此示例,示例向您展示如何使用JSON,PHP和HTTP請求從遠程MySQL數據庫檢索數據記錄。

我認為您也可以看看ContentProviders 它們通常與SQLite一起使用,但我認為它可以與其他RDBMS一起使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM