草庐IT

Contentprovider

全部标签

java - ContentProvider insert() 总是在 UI 线程上运行?

我有一个应用程序需要从服务器提取数据并将其插入SQLite数据库以响应用户输入。我认为这将非常简单——从服务器提取数据的代码是AsyncTask的一个相当简单的子类,它完全按照我的预期工作,而无需挂起UI线程。我用一个简单的接口(interface)为它实现了回调功能,并将它包装在一个静态类中,所以我的代码如下所示:MyServerCaller.getFolderContents(folderId,newOnFolderContentsResponseListener(){@OverridepublicvoidonFolderContentsResponse(finalListcont

android - 有没有办法在 Android 中未记录但允许的 ContentProvider 中列出列名?

假设您有AbcContentProvider,它允许您使用它的content://url查询/更新它。是否可以查看可以更新或查询的名称/值?(这类似于sql查询中的“select*fromtable_abc”或数据库表中的“Showtables”) 最佳答案 这将有助于:Uriu=//yourCONTENT_URICursorc=context.getContentResolver(uri,null,null,null,null,null);Log.d(TAG,"listingcolumnforuri="+uri);for(inti

android - 验证 ContentProvider 的签名

我有一个经典案例,我的一个应用程序向我的另一个应用程序提供内容。我知道可以使用具有签名保护级别的权限来保护内容提供者。但我担心另一个方向。如果包含内容提供者的应用程序未安装并且恶意应用程序包含具有相同权限的提供者怎么办(我知道权限不应该意外冲突,但我正在考虑恶意应用程序)。如果我的应用程序是在具有相同签名的应用程序中定义的,我如何确保我的应用程序只查询提供程序?我能想到的最接近的事情是通过包管理器找到我的其他应用程序并验证签名是否匹配。并且由于我的其他应用程序具有内容提供者,因此无法在同一设备上安装具有相同权限的另一个内容提供者。但是有了这个,我在包名和权限之间建立了联系。我希望有更简

android - 多个 ContentProvider 可以提供相同的 URI 吗?

在Android上查询ContentProvider时,通过为该ContentProvider提供“内容URI”来指定感兴趣的ContentProvider。当多个ContentProvider有意提供同一个URI时会发生什么?还是恶意的?当我尝试在手机上打开图片时,我看到它提示可以“处理”图片的应用程序。这里会发生同样的事情吗? 最佳答案 多个ContentProvider无法做到这一点。第一个使用其list中的元素注册内容提供者的应用程序可以控制URI模式。如果您尝试添加另一个使用相同URI模式的提供程序,我敢肯定您会遇到安装错

android: 关于ContentProvider的问题

据我了解,ContentProvider-是整个设备全局级别的数据吗?问题:1)是否可以仅开发和分发ContentProvider(没有Activity,即不作为完整的应用程序,而仅作为数据)?有人这样做吗?什么时候?至于用户它会是什么样子?ContentProvider的构建和普通应用的构建有什么区别?2)如果另一个开发人员想要使用我的ContentProvider,那么他将如何访问列名和其他使用我的ContentProvider所需的数据?我要给图书馆?对不起我的英语。谢谢 最佳答案 1)Isitpossibletodevelo

安卓SDK : source code of Contact ContentProvider

我正在构建一个ContentProvider,我对Android团队如何构建ContactContentProvider很感兴趣。但是,当我浏览Android源代码(在AndroidSDK\source文件夹中)时,我没有看到与我的需要相关的内容。我只看到最相关的是:ContentProvider.java(在文件夹AndroidSDK\sources\android-15\android\content中),但它只是一个用于自定义构建的类内容提供者。谁能指点一下,请问是哪个文件谢谢:) 最佳答案 您不会在核心资源中找到它,因为它不

android - 如何将对我的 ContentProvider 的访问限制为仅我的应用程序?

我想导出一个ContentProvider以供我的另一个应用程序使用。如何防止其他应用程序访问它?如果我使用android:permission属性,第3方应用程序不能将该权限应用于他们的应用程序吗?我真的只需要锁定对我的应用程序的访问权限。提前致谢... 最佳答案 IfIuseanandroid:permissionattribute,can't3rdpartyappsjustapplythatpermissiontotheirapp?那么,您可以使用signature级别的自定义权限(android:protectionLeve

sql - 在自定义 ContentProvider 函数中过滤输入

在自定义ContentProvider中,我需要过滤掉输入中指定的一些列。考虑到面向文本的Android界面,这让我很难过。例如,MyContentProvider.query()上的输入会有效地询问如下内容:SELECTcolumn_a,column_bFROMmy_tableWHEREcolumn_a=1ANDcolumn_b=red;问题是在这个特定的MyContentProvider中,_column_b_可能没有任何意义,也不会出现在表中。过滤投影以便仅保留相关列可以轻松完成,因为它是一个String[]。但是,过滤这些列的字符串“where”(选择)和“selectionA

android - Android与其他平台应用逻辑代码复用 : To ContentProvider or not to ContentProvider?

我正在开发一个应用程序,我希望它同时适用于Android和Blackberry(将来可能适用于JavaME)。业务逻辑对所有平台都是通用的-因此,代码中的相应层也是如此。但我也有一个数据层——这显然会因各种平台而异。我的方法是拥有一个bean和一个抽象的DataStore类。如果我使用的是Android的记事本示例,它会是这样的:笔记bean:publicclassNote{privatelongid;privateStringtitle;privateStringnote;privatelongcreated;privatelongmodified;//Appropriatecons

android - 从 contentprovider 中删除多行

我试图从我的内容提供者中删除两行,但没有成功。这是查询;introwdelted=con.getContentResolver().delete(CONTENT_URI,clausole,null);其中clausole是一个字符串,如“_ID=100AND_ID=101AND_ID=102”。有什么问题吗?提前致谢 最佳答案 每一行都有1个ID,尝试删除ID为100、101和102的单个行是行不通的。您可能想对这些值进行“或”运算。Stringclausole="_ID=100OR_ID=101OR_ID=102";