2011-11-16 79 views
3

我一直在訓練自己在Android開發。我對一系列應用程序有一個想法,這些應用程序都與存儲類似/相關愛好數據的相同基本數據存儲相關。我想在我看來,訪問這些數據應該類似於有多少應用程序使用聯繫人。所以我開始閱讀內容提供商,但從我所看到的他們實際上並沒有提供我需要的靈活性。內容提供商多種應用程序的靈活性

我想要創建說4或5個愛好相關的應用程序,記錄類似和相關的數據,但客戶可能會決定他們只需要一個特定的開始。稍後他們可能會決定其他一個或多個應用程序也可能有用。

應用程序存儲的數據非常相似,核心數據是相同的。所以明顯的選擇是內容提供商。但是我看不到提供商提供我需要的靈活性。首先,購買的第二款應用程序如何知道內容提供商已經可用,如果沒有安裝它(這似乎在清單中硬連線,並且沒有程序控制)。其次,應用程序如何識別沒有內容提供者並安裝一個(與第一點相關)。第三,安裝的新應用程序可能擁有更新的提供程序或較舊的提供程序!

所以我不認爲提供商提供我需要的東西。我還注意到數據庫是沙盒,提供者似乎是應用程序共享持久數據的唯一方法,或者是我缺少的東西。這實際上讓我想知道沒有默認安裝的內容提供商如何有用提供者!

我想一個替代的方法應該是客戶購買和應用程序,然後後來廣告額外的功能,但我不知道這是可能的,如果是這樣的信息。

任何幫助,將不勝感激。

史蒂夫

回答

4

注到版主:起初我以爲我會認爲這是一個爭論的問題,但現在,我再想一想,我認爲這是一個設計問題。一個好的人應該留在這裏。

應用程序存儲的數據非常相似,核心數據是相同的。所以明顯的選擇是內容提供商。

是的。

首先,第二次購買的應用程序如何知道內容提供程序已經可用,如果沒有安裝它(這似乎是硬連接在清單中並且沒有程序控制)。其次,應用程序如何識別沒有內容提供者並安裝一個(與第一點相關)。第三,安裝的新應用程序可能擁有更新的提供程序或較舊的提供程序!

許多應用程序通過在市場中提供「庫應用程序」來實現此目的,該應用程序提供了其他應用程序可能需要的常用功能。您應該在任何這些應用程序中要求用戶下載該應用程序庫以啓用「UI應用程序」的基礎功能。我不知道,也許我會走這條路......畢竟,你需要考慮你的內容提供者的命名空間衝突,因此是「圖書館應用程序」。

我想一個替代方法是讓客戶購買和應用程序,然後後來廣告額外的功能,但我不知道這是可能的,如果是這樣的信息。

是的,這就是應用內​​結算的用途。不過,這假定你會有一個具有不同功能的應用程序。

事實是,這是一個很好的問題。這當然引起了我的思考。我相信您可以自己決定提供一款應用程序,其中包含通過應用內結算功能添加的一系列功能,或許多應用程序可以共享市場上同一個中央應用程序提供的通用功能。

關於這最後一個問題,我會做什麼感覺更自然的用戶。如果這些應用程序真的不相關,那麼我會提供不同的應用程序。如果它是一個類似於套件的產品(例如,考慮Office套件),我會實施應用內購買。在代碼可見性方面也存在一個小的安全問題(通過軟件或每次下載實現)。

無論如何,在我看來,應用內購買絕對更簡單,更容易維護。但是如果你的應用程序很大,可能會浪費空間......效率不高。

我的2美分。

+0

感謝您的回覆大衛。其他人也提到了應用程序內購買,所以現在你們兩個人,所以這是我要讀的東西。我可以製作一個基本應用程序,可以在模塊化基礎上添加功能。然後,我可以使用一個模塊銷售應用程序,也可以使用不同的第一個模塊銷售多個版本。儘管如此,我仍然認爲我發現了內容提供商的一個問題,但目前對它的創建和管理似乎不夠靈活,我認爲谷歌在這裏錯過了一個竅門。 – user1048661