jjzjj

contentProvider

全部标签

android - 手动删除数据库时如何强制内容提供者重置

在我的应用程序中,我有一个ContentProvider附加到数据库中的一个表,其中一个CursorLoader在我的一个Activity中填充了一个ListView。默认情况下,该表填充为空,并填充用户输入数据。我想允许用户完全删除他们所有存储的数据,并且在选择此选项时我将删除整个数据库。然后,当用户再次开始使用该应用程序时,数据库将以默认状态重新创建,就像他们第一次使用该应用程序时一样。我的问题是当我删除数据库时,ContentProvider没有检测到数据库已被删除,当我返回到我的ListViewActivity时,列表仍然存在。我还让应用程序完全重新加载ListViewActi

android - 安装已签名的 APK 不会在 Android Wear 上安装应用

当我尝试通过在手持设备上安装已签名的APK在AndroidWear上安装应用程序时,我在Wearlogcat上收到此错误:0:34:06.1431874-5212/?E/WearablePkgInstaller﹕Errorfindingassetforpackage:com.company.appcom.google.android.wearable.gmsclient.WearableException:getDataItemfailed:Status{statusCode=TIMEOUT,resolution=null}atcom.google.android.wearable.g

Android ContentProvider 与 ORMLite

我正在使用内容提供程序来管理我的应用程序数据,这些数据不会与其他应用程序共享。但是,有一些样板代码,例如将光标转换为域对象。ORMLite提供了一种更优雅的方式,将数据库条目直接映射到域对象。所以我想用ORMlite替换内容提供者。但是我有些担心:内容提供者在多线程环境中运行良好。我不知道ORMlite是否是线程安全的。内容提供者可以广播数据库变化。不知道ORMLite有没有这种支持。Android提供一些实用程序,例如AsynQueryHandler、CursorLoader来执行异步查询数据库。如果我使用ORMLite,我必须明确地创建一个线程或AsyncTask来执行查询。我是否

java - 如何使用模型实现简单的 REST 和 ContentProvider 架构?

我目前正在开发一个与RESTful网络服务交互的Android应用程序。客户端能够在web服务上执行完整的CRUD。在搜索最佳实践后,我观看了GoogleI/O2010关于REST客户端的主题演讲,几乎所有文章都引用了它。为了尽可能多地使用android平台,我决定使用选项B,使用ContentProvider和SyncAdapter。这为我提供了内置帐户系统、内容观察器和互联网可用时的定期同步。因为我们应用程序的一个非常重要的功能是离线编辑和可用性(它在接收不良的环境中使用),所以我们希望尽可能多地在本地保留相关数据。客户端使用Json中的RESTfulAPI与服务器通信,来自服务器

android - 查看来自内容提供者 URI 的 Intent ?

我有一些要求来保护一些敏感数据。数据从URL下载为PDF格式,并使用以下代码保存为应用程序私有(private)文件:publicFiledownloadPDF(finalContextfileContext,UrireportUri,finalStringfileName){try{HttpGetget=newHttpGet(reportUri.toString());Filefile=httpClient.execute(get,newResponseHandler(){@OverridepublicFilehandleResponse(HttpResponseresponse)t

android - 多个 ContentProvider 的 CursorLoader

我需要制作一个ListAdapter来呈现来自多个ContentProvider的数据。ContentProvider本身代表关系数据库中的每个表。我想使用CursorLoader系统将聚合数据检索到ListView中。这是否可以使用1个加载器,还是我需要使用多个加载器?我更愿意使用一个。除了在代码中手动进行连接之外,我不确定如何让2个ContentProvider相互交互,这似乎也不是一个很好的选择。 最佳答案 您必须编写自定义加载器类。例如:publicclassFooLoaderextendsAsyncTaskLoader{C

android - 拥有带有 SQLite 和多个表的 ContentProvider

我正在阅读thistutorial关于实现我自己的ContentProvide以使用SQLite。在ContentProvider.query中有几件事让我感到困惑。它似乎非常硬编码到一个表(教程中的待办事项表),但也许我只是不明白?现在,如果我想查询另一个表,假设nodo,我将如何更改ContentProvider?我应该在queryBuilder.setTables(StringinTables)中以某种方式附加表名吗?关于CONTENT_TYPE和CONTENT_ITEM_TYPE,每个表应该有一个吗?关于TODO和TODO_ID变量以及查询方法中的开关?看来我需要有很多if/s

Android Contentprovider - 在插入方法中更新

是否可以在内容提供者的insert()覆盖方法中调用SQLiteDatabase更新方法? 最佳答案 基本上没问题,但由于你没有提供代码,我只能发布2种可能的方法首先://InyourcontentproviderpublicUriinsert(...){longinsertId=db.insert(...);if(insertId==-1){//insertfailed,doupdatedb.update(...);}}第二个:publicUriinsert(...){longinsertId=db.insertWithOnCon

ContentProvider 的 android:syncable=true?

在尝试了解Android的SyncAdapter时/ContentProvider框架,一件事仍然使我难以理解。我不明白为什么ContentProvider需要android:syncable="true"在list中定义。为什么ContentProvider需要知道它是否会在SyncAdapter中使用?谷歌文档说:“该标志允许同步适配器框架与内容提供者进行数据传输,但只有在您明确执行时才会发生传输。”这是否意味着如果我不指定android:syncable="true",我不能使用ContentProvider在SyncAdapter的onPerform?如果是这样,框架怎么能强制

Android 创建一个可以附加到电子邮件的内存驻留输入文件

最终目标很快就会明确。我想创建一个文件对象,而不是从真实的物理文件中获取数据,我想自己提供缓冲区。然后,我想使用这个文件,它并不真正存在于sdcard中或我的应用程序之外的任何地方,给它命名并通过电子邮件作为附件发送(使用EXTRA_STREAM)。我发现了以下代码,作者是AdriaanKoster(@adriaankoster),帖子Writebyte[]toFileinJava//convertbyte[]toFileByteArrayInputStreambis=newByteArrayInputStream(bytes);ObjectInputStreamois=newObje