我正在构建一个Android应用程序,它使用OSM数据为用户提供来自一组给定位置的路线。用户可以在SearchView中输入他们希望进入的位置,当用户输入时,搜索结果会被过滤以缩小结果范围,然后他们可以从下拉列表ListView中选择一个目的地。此过滤是使用onQueryTextChange()完成的。我正在使用ContentProvider从数据库中查询此数据并实现LoaderManager.LoaderCallbacks接口(interface)以重新查询ContentProvider并提供新数据供适配器使用。所有这些在绝大部分时间都有效,并且完全符合预期。但是,在极少数情况下,应
我正在制作一个小应用程序,我可以在其中使用内容提供程序获取我手机的联系人,并将它们显示在ListView中,如图所示。我想选择ListView的一行并自动调用该特定联系人的电话。我尝试了一些东西,但它们不起作用。有任何想法吗?这是我的代码。publicclassMainActivityextendsListActivityimplementsAdapterView.OnItemClickListener{ArrayAdapteradapter;@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(sav
我正在尝试通过ContentProvider公开位于我的应用程序的/data目录中的.png文件,而不是到达正在调用openFile方法的query。现在我只有一张图片需要公开以共享给其他应用程序,我如何设置我的Intent以转到openFile而不是query?IntentshareImageIntent=newIntent(Intent.ACTION_SEND);shareImageIntent.setType("image/*");shareImageIntent.putExtra(Intent.EXTRA_STREAM,imageUri);startActivity(Inten
一四大组件1.1Activity组件,它一个单独的窗口,程序流程都必须在Activity中运行。1.2service组件,用于在后台完成用户指定的操作。1.3contentprovider组件,会为所有的应用准备一个内容窗口,并且保留数据库、文件。1.4broadcastreceiver组件,是程序之间传递信息时的一种机制,作用就是接收或者发送通知。二 contentprovider介绍2.1ContentProvider主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另外一个程序的数据,同时还能保证被访问数据的安全性2.2ContentProvider
当我尝试使用ActionBar上的searchView设置自动完成搜索时遇到问题。我有一个contentProvider,它自己调用webService来获取建议。它返回一个光标,建议在UI上正确显示。问题是当我选择这些建议之一时没有任何反应。我不确定要在SUGGEST_COLUMN_INTENT_ACTION中存储什么。阅读documentation时,我知道应该再次调用我的Activity的onCreate方法,并且我可以获得SUGGEST_COLUMN_INTENT_ACTION以了解上下文并使用intent.getData()获取SUGGEST_COLUMN_INTENT_DA
我的ActionBar中有一个SearchView,它与ContentProvider相连以提供搜索建议。这些建议不是来自数据库(与ContentProvider一样),而是来自Web服务。这就是为什么我必须异步处理ContentProvider的游标。我的代码到目前为止有效,但搜索建议总是“后面”有一个字母:在我输入"the"后,我得到了之前搜索的所有结果=>"th"在我输入“they”后,我得到了之前搜索的所有结果=>“the”如何告诉SearchViewCursor中有新结果?我查看了ContentObserver和ContentResolver().notifyChange()
我正在尝试让自定义ContentProvider显示在“数据和同步”下,但我遇到了一些问题。也就是说,它没有显示。具体情况:我的AndroidManifest.xml有提供者和服务:并且res/xml/syncadapter.xml具有以下内容:为了安全起见,我什至在onCreate上调用了以下内容:AccountManageraccountManager=AccountManager.get(getApplicationContext());Account[]accounts=accountManager.getAccountsByType("com.google");for(Acc
在一个应用中,我在我的AndroidManifest中声明了以下内容提供者:另一个应用程序请求使用它的权限:但是当运行这段代码时:ContentResolverresolver=this.context.getContentResolver();Cursorresults=resolver.query(BaseballCardContract.CONTENT_URI,BaseballCardContract.PROJECTION,null,null,null);我收到以下错误消息:E/DatabaseUtils(1009):java.lang.SecurityException:Per
在android中加载外部数据的最佳方式是什么?目前,这就是我所做的:创建返回JSON对象数组的RESTful网络服务(在服务器上)在android中调用HTTPGet并消费服务解析响应JSON使用GSON将响应直接解析为对象数组根据需要使用对象数组就Android文档而言,这是最佳方法吗? 最佳答案 根据GoogleI/OCreatingRESTapps演示文稿,你应该这样做:创建返回JSON(或XML)的RESTful网络服务您的Activity(通过AsyncTask或Loader)从ContentProvider请求资源Co
(更新)这适用于模拟器,但不适用于我的HTClegend:(我的ListActivity中有以下方法,它没有在Cursor(getCount=0)中返回任何值我不太明白为什么。单击列表中的哪个联系人并不重要。protectedvoidonListItemClick(ListViewl,Viewv,intposition,longid){//TODOAuto-generatedmethodstubsuper.onListItemClick(l,v,position,id);Log.d(TAG,"onListItemClick");//getTelephonenumberforentrya