Articles of android cursor

IllegalStateException:尝试使用ContentProvider查询数据库时无效的表

尝试使用下面显示的自定义ContentProvider查询我的数据库时,出现以下错误。 我已经确认表存在与正确的名称,它仍然无法正常工作。 我能够得到它与原始查询,但我想我们的ContentProvider模式进行实践。 谢谢,让我知道如果你需要更多的信息。 SQLiteOpenHelper public class DatabaseHelper extends SQLiteOpenHelper { private static final String TAG = DatabaseHelper.class.getSimpleName(); private static final String DB_PATH = "/data/data/ashton.android.personal.worktc/databases/"; private static final String DB_NAME = "worktc.db"; private static final int DB_VERSION = 1; private SQLiteDatabase myDatabase; private final Context context; public DatabaseHelper(Context context) { super(context, DB_NAME, null, DB_VERSION); this.context […]

android服务通知活动完成的最佳方式?

我创build了一个服务,在后台线程上同步来自Web的数据,并希望在服务完成时通知列表活动,以便更新它的游标? 什么是最好的方法来做到这一点? 我正在考虑在服务完成时发送广播,但不知道这是否是最好的方法。 当服务完成后,我需要重新查询光标,所以我不确定这是否可以与广播接收机配合使用。 我有一段时间没有做很多的机器人,所以提前感谢。

如何使用联系人ID获取特定的联系人号码

这里我的联系人姓名显示在列表视图上。 通过单击列表我得到ContactName和Contact Id 。 从那我想通过使用Contact ID或Contact name获取Phone number ,请帮助我。 这是我的代码 void ReadContacts(String sort) { final Uri uri = ContactsContract.Contacts.CONTENT_URI; final String[] projection = new String[] { ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME }; //boolean mShowInvisible = false; String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '1'"; String[] selectionArgs = null; final String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC"; […]

Android SQLite:试图重新打开一个已经closures的对象

我正在尝试从基于ISBN的库存表中获取某些图书数据。 但是,我收到一个错误:“尝试重新打开一个已经closures的对象”。 只有当我点击一个listView对象,转到不同的屏幕,通过“finish()”返回到这个页面,然后尝试点击另一个listView对象时,才会出现错误。 我移动了String searchEntries[] = InventoryAdapter.getInventoryEntriesByISBN(searchQuery, isbn[position]); 从onClickListener到onClickListener之前的for循环 ,现在它工作。 为什么如果我在通过“finish()”从另一个活动返回到此活动后尝试getInventoryEntriesByISBN,则不起作用? SearchResultsScreen出现错误: String searchEntries[] = InventoryAdapter.getInventoryEntriesByISBN(searchQuery, isbn[position]); 并通过扩展发生在InventoryAdapter上: Cursor cursor = db.rawQuery(query, new String[] {ISBN}); SearchResultsScreen.java // Set up search array for(int i = 0; i < isbn.length; i++) { searchArray.add(new InventoryItem(isbn[i], InventoryAdapter.getTitleAndAuthorByISBN(isbn[i]))); } Toast.makeText(getApplicationContext(), "searchArray.size()="+searchArray.size(), Toast.LENGTH_LONG).show(); // add data in custom adapter adapter = […]

在Android中倒置的ListView?

有没有简单的方法来显示一个ListView倒序? 我正在尝试创build一个基于对话的应用程序,并希望最近的条目位于ListView的底部。 我知道transcriptMode和stackFromBottom,但是我的问题是数据的顺序。 假设我有100个对话项目,并且希望显示项目80-100,其中100是最近的对话项目。 我想显示80-100,这意味着在我的查询ORDER BY id desc LIMIT 20,这迫使项目sorting100到80,是我所需要的相反。 我目前有一些讨厌的内部查询代码,但觉得应该有一个简单的解决scheme,基于反转游标或简单地颠倒ListView。

getSupportLoaderManager()在不同的片段中使用相同的ID?

我在一个FragmentActivity与多个ListFragments一个viewPager。 为了填充不同的列表视图,我在装载器中获得LoaderManager和initiliaze。 我想为每个片段都有一个独特的LoaderManager,但是片段没有getSupportLoaderManager()方法,所以我需要调用父片段的活动: getActivity().getSupportLoaderManager() 这种方法的问题是我的Loaders id在不同的片段中彼此冲突。 如果在一个片段中已经有多个加载器ID,那么它会变得有点麻烦。 那么是否有办法为每个片段获取唯一的LoaderManager,而不是调用父级? 我基本上希望能够在多个片段上使用相同的ID。 谢谢

getLoaderManager()的args参数的用途。initLoader(…,…,…)?

有没有人有使用initLoader()的Bundle args参数的描述? 该对象是否只是在结果光标上设置,或者有没有一种方法可以从被查询的数据源访问该对象 – 就像Content Provider? 从文档: args可选的参数在施工时提供给加载器。 如果一个加载器已经存在(不需要创build一个新加载器),这个参数将被忽略,最后一个参数继续被使用。 先谢谢你。

Android MVP:在Presenter中安全使用Context

在我的应用程序中,我使用ContentProvider并使用LoaderManager.LoaderCallbacks<Cursor>. 片段(查看) public class ArticleCatalogFragment extends BaseFragment implements ArticleCatalogPresenter.View, LoaderManager.LoaderCallbacks<Cursor> { @Override public Loader<Cursor> onCreateLoader(int id, Bundle args) { return onCreateArticleCatalogLoader(args); } @Override public void onLoadFinished(Loader<Cursor> loader, Cursor data) { data.registerContentObserver(new LoaderContentObserver(new Handler(), loader)); updateUI(data); } private Loader onCreateArticleCatalogLoader(Bundle args) { int categoryId = args.getInt(CATEGORY_ID); Loader loader = new ArticleCatalogLoader(this.getActivity(), categoryId); return loader; } } […]

带search实现的CursorTreeAdapter

我提出申请 Android和我正在使用CursorTreeAdapter作为ExpandableListView。 现在我想用search框来显示过滤的ExpandableListView项目。 喜欢这个: 以下是我到目前为止的代码: MainActivity.java : package com.example.cursortreeadaptersearch; import java.util.HashMap; import android.app.SearchManager; import android.content.Context; import android.database.ContentObserver; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.provider.ContactsContract; import android.support.v4.app.LoaderManager; import android.support.v4.app.LoaderManager.LoaderCallbacks; import android.support.v4.content.CursorLoader; import android.support.v4.content.Loader; import android.util.Log; import android.widget.ExpandableListView; import android.widget.SearchView; import android.widget.SearchView.OnCloseListener; import android.widget.SearchView.OnQueryTextListener; import com.actionbarsherlock.app.SherlockFragmentActivity; public class MainActivity extends SherlockFragmentActivity { private SearchView […]

如何禁用EditText中的光标定位和文本select? (机器人)

我正在寻找一种方法来防止用户在任何地方移动光标位置。 游标应始终停留在当前EditText值的末尾。 除此之外,用户不应该能够在EditText中select任何内容。 你有什么想法如何实现在Android中使用EditText? 澄清:用户应该能够插入文本,但只能在最后。