jjzjj

contentprovider

全部标签

Android ContentProvider

一、什么是ContentProvider(内容提供者)ContentProvider是应用程序之间共享数据的接口,是android提供的一种数据共享方法。ContentProvider可以指定需要共享的数据,其他应用程序可以在不知道数据来源、路径的情况下,对共享数据进行CUDR(增删改查)操作。在Android系统中,许多内置的应用数据是通过ContentProvider提供给用户使用的,例如通讯录、视频、音频、图片文件等。二、ContentProvider类ContentProvider是在android.content.ContentProvider包下的一个抽象类,继承该类需要实现以下方

android - 在进程之间发送大量数据的最佳方法是什么?

我知道在Android中,我们不能使用aidl生成的stub在进程之间发送超过1MB的数据。还有哪些其他选择?android中是否有类似的东西我可以看一下? 最佳答案 假设此对象无论如何都作为文件存储在内部应用程序/外部存储或SQLite表中,最好的方法是不“发送”它们。相反-在您的应用程序中实现一个ContentProvider,它将公开对它们的访问(可能通过Uri)。应该使用此数据的应用程序将查询您的ContentProvider,并将返回指向数据路径的Uri。然后通过OutputSteam可以获取数据。这种方法很好,因为数据的

android - 使用一个 apk 安装两个应用程序

我有2个应用:1-内容提供者;2-使用此ContentProvider的应用程序。我需要使用单个apk文件安装这2个应用程序。我想在Eclipse中同时推送这两个应用程序,如果我将一个应用程序的构建路径添加到另一个项目并在list中添加几行。是否可以使用一个apk同时安装两个应用程序(其中一个是ContentProvider)? 最佳答案 Isitpossibletoinstallsimultaneouslytwoapps(oneofthemisContentProvider)usingoneapk?不,对不起。

android - CursorLoader 连接到错误的 ContentProvider

问题CursorLoader实例化似乎使用了先前CursorLoader的URI,而不是作为参数传入的URI。CursorLoadercursor=newCursorLoader(this,FLASHCARD_CONTENT_URI,FLASHCARD_FROM,null,null,null);出现以下错误:nosuchcolumn:front(code1):,whilecompiling:SELECT_ID,front,back,FROMdeck类DeckIndex.java-负责查询数据库“deck”表并返回一个Cursor数组。DeckShow.java-负责查询数据库“flas

android - 来自 ContentProvider 的 SimpleCursorAdapter 中的 IllegalStateException "attempt to re-open an already-closed object"

我在Fragment中有一系列ListView对象,这些对象由CursorAdapter填充,它获得一个Cursor来自Activity的LoaderManager。据我了解,所有数据库和Cursor关闭操作都完全由LoaderManager和ContentProvider处理,因此在任何时候都不会代码我在任何事情上调用.close()。然而,有时我会得到这个异常:02-1911:07:12.308E/AndroidRuntime(18777):java.lang.IllegalStateException:attempttore-openanalready-closedobject:

使用 ContentProvider 进行 Android 单元测试

一段时间以来,我一直在努力解决Android上的单元测试问题。我的应用程序使用Sqlite数据库来存储车辆的详细信息。我最近添加了ContentProvider模式来检索数据(以前直接访问数据库)。该应用程序运行良好,但我的测试在eclipse上以“运行”模式运行时偶尔会失败-它们以“调试”模式通过。在我的setUp()方法中,我创建了一个RenamingDelegatingContext以创建我的数据库的测试版本。所有这一切都是前缀“测试”。到我的数据库的名称,以确保测试代码不会触及“真实”数据库。然后,我将其传递给“数据提供者”类以作为实例变量保留,直到第一次调用getWritea

Android如何在Android中添加多个ContentProvider?

是否可以使用多个ContentProvider?如果可能如何在list中声明?我尝试使用以下方式,但getContentResolver()仅获取第一个提供者。 最佳答案 IsthispossibletousemorethanoneContentProvider?是的。或者,您可以拥有一个ContentProvider,它根据Uri的路径部分或通过不同的权限提供多个数据集。Ifpossiblehowtodeclareinmanifest?你所拥有的几乎是正确的。但是,他们不能拥有相同的权限。将一个更改为其他内容(例如,com.wav

android - RxJava 与 SQlite 和 ContentProvider 操作

我正在研究RxJava,为此我正在使用SQLite,编写一个辅助类SQLiteUtils以帮助更轻松地处理异步ContentResolver查询。例如,这是queryInBackground方法:staticpublicObservablequeryInBackground(finalContentResolvercr,finalUriuri,finalString[]projection,finalStringselection,finalString[]selectionArgs,finalStringsortOrder,finalCursorHandlerch){returnOb

android - 为什么Android ContentProviders 是REST 服务?

Google可以提供JDBCAPI,但选择用REST服务包装SQLite。有什么好处?AndroidContentProviders为什么是REST服务? 最佳答案 因为他们从数据本身抽象出数据检索。虽然对于sqlite数据源,数据在手机上,但您可以轻松实现从云服务获取数据的内容提供程序。因此,您可以针对同一界面进行编码,并轻松切换您的数据检索实现。 关于android-为什么AndroidContentProviders是REST服务?,我们在StackOverflow上找到一个类似的

Android 和 RESTful 服务

我正在尝试实现一个应用程序以利用RESTful网络服务。我研究了几个不同的示例,并编写了一个可以成功从REST服务中提取的良好工作应用程序。但现在我需要一些指导。这是一些基本背景(非常简单)...假设一个基本的REST服务具有“GetReferrers”和“AddReferrer”方法。来自Activity,我调用managedQuery得到Cursor从ContentProvider回来对于我的ListView.ContentProvider返回任何本地数据,并调用异步“GetReferrers”以获取最新的引荐来源服务器列表。我有一个自定义ResponseHandler解析JSON