2017-01-17 109 views
0

我對AndroidStudio非常公平,希望創建自己的項目。 我的問題是:已發佈應用程序後更新內部SQLite數據庫

  1. 你能重新發布您的應用程序之外更新數據庫?

    • 說我發表了應用程序,數據庫當前爲空。然後,我想添加一些數據如何將這些數據添加到數據庫,而無需更改基本的源代碼或重新開發應用程序?我正在使用SQLite。

我想發佈該應用程序的網絡應用程序。這就是我希望所有用戶都能從「空」數據庫中查看相同的信息,以及任何被填充的信息。你們可以給我一個方向或網絡應用程序/他們的要求最小功能的例子。我以前從未使用過或開發過它們。

END_RESULT:

  • 用戶應下載一個應用程序(這個程序),並能能夠收集消息增加了它的飼料。
    • 維護人員應該能夠通過數據庫合理地添加/填充應用程序,而不必在每次添加新材料時重新部署應用程序。
+0

您可以讓您的應用程序在啓動時從服務器上下載最新的SQLite數據庫。 – Thilo

+0

劃痕,我用過網絡應用程序,Snapchat,社交媒體應用程序等,但我從來沒有開發任何大聲笑 - 再次感謝。 –

回答

0

是的,你可以,如果你添加實時數據庫

這是一個託管在服務器上的數據庫,而不是直接在電話上,它可以將信息推送到客戶端以同步它們上的新數據。

否則,您需要更新應用以獲取新內容。

實現此目標的一個很棒的工具是Firebase。

https://firebase.google.com/docs/database/

+0

謝謝!我一定會考慮這一點。 –

0

這是一個非常寬泛式的問題,因此難以提供明確的答案。 「重新發布應用程序之外的數據庫更新」是什麼意思?

  1. 你的意思是更新數據庫模式 - 是的,它可以完成。

  2. 將數據放入數據庫 - 是的,擁有數據庫的應用程序可以隨時根據其業務邏輯進行操作。這意味着插入數據的源代碼應該已經嵌入到已發佈的應用程序中。只能在飛行中決定的是執行此代碼的時間。 通常,對於聯網應用程序,啓動應用程序時刷新數據是一種常態。這意味着你可以在你的應用程序的主屏幕上啓動網絡調用並下載你想下載的任何內容並將其放入數據庫。您的維護人員可以將數據放到服務器上並讓應用下載。

  3. Android有大量的網絡庫,選擇取決於您下載的是什麼類型的內容。將建議嘗試(從谷歌官方)排球和改造(如果你想要的東西雨衣)

0

你將不得不實行某種形式的服務器後端的你的應用程序,以便下載新的數據通信。該應用程序必須已經具有如何處理該數據並將其存儲在本地SQLite中的邏輯,但這可能相當簡單。至於如何同步或下載新數據,有幾種可能性。

  1. 當應用程序啓動時執行同步。如果您使用其他(定期)機制,您可能會也可能不想這樣做。
  2. 安排與JobScheduler的定期同步。這是一個很好的做法,JobScheduler不必在特定的時間運行任務,它可以在特定的時間窗口內運行它,以便您的任務與需要運行任務的其他應用程序一致。由於您的任務會啓動無線電併發出網絡請求,因此係統可以讓其他需要無線電的應用程序同時運行,以減少無線喚醒次數(從而提高電池使用效率)。
  3. 實施Google Cloud Messaging,以便您的後端可以向您的應用發送推送通知,並且您的應用可以接收此消息作爲執行同步的信號。

請注意,您並不僅限於其中之一。

+0

這聽起來不僅困難,哈哈,但樂趣和首先看看聲音//效率。我也會研究這一點。 –

相關問題