2015-04-01 56 views
1

我一直在閱讀內容提供商一段時間,我已經看到了兩種類型,一種是爲例如聯繫人(我瞭解)而建立的,另一種正在製作我們自己的內容提供者的內容://東西。我經歷過的大部分例子都是在一個應用程序中完成的。我的意思是,如果我將數據存儲在一個應用程序中,並且以與定義說它在應用程序之間共享數據相同的方式檢索它,那麼使用內容提供程序的意義何在?內容提供商在多個應用程序中的主要用途

我看着它,因爲我做了兩個項目,我在一箇中使用了內容提供者,並在數據庫中存儲了一些數據。然後,我做其他項目,並通過內容獲取存儲的數據:// uri。內容提供商的主要功能是什麼?這可能嗎?如果是這樣如何? 我一直在問清楚我的基本知識。

+0

請參閱本http://stackoverflow.com/a/6157686/1576416與此http://計算器。com/a/14509680/1576416 – 2015-04-01 05:33:31

+0

我還沒有得到如何在其他應用程序中獲取。我導入了以下項目http://examples.javacodegeeks.com/android/core/content/contentprovider/android-content-provider-example/。在另一個項目中我需要什麼? – 2015-04-01 05:49:32

+0

好,所以你的第二個鏈接是有幫助的。 – 2015-04-01 07:38:29

回答

0

內容提供商可讓您將內容集中到一個地方,並讓許多不同的應用程序根據需要進行訪問。內容提供者的行爲非常類似於數據庫,您可以在其中查詢,編輯其內容,以及使用insert(),update(),delete()和query()方法添加或刪除內容。在大多數情況下,這些數據存儲在SQlite數據庫中。

我看着它,因爲我做了兩個項目,我用 之一的內容提供商,並在數據庫中存儲一些數據。然後我做其他項目,並通過content:// uri獲取存儲數據的 。內容提供者的主要功能 是什麼?

我認爲你正在尋找這樣的: http://www.vogella.com/tutorials/AndroidSQLite/article.html

+0

我用這個http://examples.javacodegeeks.com/android/core/content/contentprovider/android-content-provider-example/,我需要訪問數據庫在我的新項目。我沒有得到在新項目中需要做的所有事情來獲取這些東西。 – 2015-04-01 05:52:59

+0

,如果你可以分享你的代碼,將是一件好事,因爲它是真的無法明白的地方是你的問題@NanoWeb – Fay007 2015-04-02 06:39:40

0

要了解你需要先了解Android的架構內容提供商。所有Android應用程序運行在自己的VM(虛擬機),這意味着當你運行應用程序「A」和存儲一些文件或在其中創建數據庫,現在當你運行應用程序「B」和創建數據庫它。

這兩個應用程序'A'和'B'彼此不認識,或者說他們之間並不共享數據。爲了使數據可訪問,一個應用程序必須共享其數據,以便其他人可以訪問它。那就是ContentProvider進來

通過內容提供商,任何應用程序可以將其數據暴露給其他有興趣採取它的應用程序。

一個例子是您的聯繫人列表。您可以通過內容提供商訪問聯繫人列表,但它不是由您自己創建的,而是由Android自己創建的,但它旨在與您共享數據,並且您可以通過內容提供商訪問它。

+0

是,我才明白,我想知道當我創建自己的內容提供商如何共享兩個之間也應用(在我的情況下兩個應用程序意味着兩個項目分開)各種權限都需要和一切 – 2015-04-01 06:02:40

1

我相信你正在尋找關於內容解析器的信息。正如其他人指出的那樣,供應商只是爲了分享您的應用程序的數據。當你想訪問它時,即使在另一個應用程序中,你也可以使用Content Resolver將命令發送到其他App的Content Provider; insert(),update(),delete()和query()。

您對content:// URI的看法:這是您在Content Provider中查找的數據名稱的標識符。鏈接解釋了提供者,解析器,合同,URI以及如何創建它們。

http://www.grokkingandroid.com/android-tutorial-writing-your-own-content-provider/

相關問題