2017-09-15 37 views
-2

我對SQLite如何在Android開發中工作有點困惑。我知道它可以用來存儲數據,但只有這個內部數據?它將寫入手機上的.db文件,這只是一個測試文件。但是,我說我在手機上插入了一些記錄。當不同的用戶登錄並查看數據庫時,他們會看到我剛剛插入的記錄,或者是僅顯示在手機上的記錄?如果是後者,將所有數據存儲在單個數據庫中的最佳方式是什麼,以便所有用戶都可以從同一個記錄池中添加/刪除?它會成爲像MySQL這樣的雲數據庫的Web服務標註嗎?另外,額外的信用問題:如果我正在製作一個需要從Android應用程序讀取相同數據庫的iOS應用程序,我應該甚至考慮SQLite還是應該使用其他的東西?SQLite是否存儲來自單個數據庫中所有電話的數據,還是每個Android電話都從不同的數據庫中讀取數據?

回答

0

我知道它可以用來存儲數據,但只有這個內部數據嗎?

是的,如果我明白你的意思是「內部數據」。

當一個不同的用戶登錄並查看數據庫時,他們會看到我剛剛插入的記錄,或者這些記錄只會顯示在我的手機上?

那麼,這完全取決於你的意思是「登錄」。

如果您的意思是「不同的用戶使用我的手機,只需滑動解鎖」,手機就無法告訴您與其他人分開,因此該用戶會看到與您相同的數據。

如果您的意思是「一個不同的用戶使用我的手機,但我在手機上設置了兩個用戶帳戶,並且該用戶已經登錄到我的訪客帳戶」,那麼該用戶將獲得一個單獨的數據庫(並分隔一切:應用程序等)。

如果您的意思是「不同的用戶使用他們的手機,但使用相同的應用程序」,那麼該用戶將獲得一個單獨的數據庫,因爲它是一個單獨的設備。這與用戶在計算機上與您的計算機相比具有不同的文字處理文件的用戶沒有顯着不同。

從Android SDK的角度來看,SQLite數據庫是設備上的文件。

如果是後者,將所有數據存儲在單個數據庫中以便所有用戶都可以從同一個記錄池中添加/刪除的最佳方法是什麼?它會成爲像MySQL這樣的雲數據庫的Web服務標註嗎?

我不認爲MySQL是一個「雲數據庫」,但是,是的,您的應用程序可以與存儲其數據的Web服務進行通信。

+0

感謝您的澄清。我很好奇爲什麼我得到了太多的贊成票,我沒有在這個地方看到這個問題或文檔。 –

相關問題