欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

使用CursorLoader異步加載數(shù)據(jù)

Android 3.0引入了CursorLoader實(shí)現(xiàn)異步加載數(shù)據(jù),為了避免同步查詢(xún)數(shù)據(jù)庫(kù)時(shí)阻塞UI線(xiàn)程的問(wèn)題。在API 11之前可以通過(guò)下載支持庫(kù),來(lái)使之前的系統(tǒng)支持此功能。

成都創(chuàng)新互聯(lián)公司-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比內(nèi)黃網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式內(nèi)黃網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋內(nèi)黃地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴(lài)。

下面是一個(gè)例子:

public class ListViewLoader extends ListActivity
  implements LoaderManager.LoaderCallbacks<Cursor> {

 // This is the Adapter being used to display the list's data
 SimpleCursorAdapter mAdapter;

 // These are the Contacts rows that we will retrieve
 static final String[] PROJECTION = new String[] {ContactsContract.Data._ID,
   ContactsContract.Data.DISPLAY_NAME};

 // This is the select criteria
 static final String SELECTION = "((" + 
   ContactsContract.Data.DISPLAY_NAME + " NOTNULL) AND (" +
   ContactsContract.Data.DISPLAY_NAME + " != '' ))";

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

  // Create a progress bar to display while the list loads
  ProgressBar progressBar = new ProgressBar(this);
  progressBar.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
    LayoutParams.WRAP_CONTENT, Gravity.CENTER));
  progressBar.setIndeterminate(true);
  getListView().setEmptyView(progressBar);

  // Must add the progress bar to the root of the layout
  ViewGroup root = (ViewGroup) findViewById(android.R.id.content);
  root.addView(progressBar);

  // For the cursor adapter, specify which columns go into which views
  String[] fromColumns = {ContactsContract.Data.DISPLAY_NAME};
  int[] toViews = {android.R.id.text1}; // The TextView in simple_list_item_1

  // Create an empty adapter we will use to display the loaded data.
  // We pass null for the cursor, then update it in onLoadFinished()
  mAdapter = new SimpleCursorAdapter(this, 
    android.R.layout.simple_list_item_1, null,
    fromColumns, toViews, 0);
  setListAdapter(mAdapter);

  // Prepare the loader. Either re-connect with an existing one,
  // or start a new one.
  getLoaderManager().initLoader(0, null, this);
 }

 // Called when a new Loader needs to be created
 public Loader<Cursor> onCreateLoader(int id, Bundle args) {
  // Now create and return a CursorLoader that will take care of
  // creating a Cursor for the data being displayed.
  return new CursorLoader(this, ContactsContract.Data.CONTENT_URI,
    PROJECTION, SELECTION, null, null);
 }

 // Called when a previously created loader has finished loading
 public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
  // Swap the new cursor in. (The framework will take care of closing the
  // old cursor once we return.)
  mAdapter.swapCursor(data);
 }

 // Called when a previously created loader is reset, making the data unavailable
 public void onLoaderReset(Loader<Cursor> loader) {
  // This is called when the last Cursor provided to onLoadFinished()
  // above is about to be closed. We need to make sure we are no
  // longer using it.
  mAdapter.swapCursor(null);
 }

 @Override 
 public void onListItemClick(ListView l, View v, int position, long id) {
  // Do something when a list item is clicked
 }
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

網(wǎng)頁(yè)標(biāo)題:使用CursorLoader異步加載數(shù)據(jù)
文章分享:http://chinadenli.net/article4/pijcie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、網(wǎng)站導(dǎo)航域名注冊(cè)、電子商務(wù)服務(wù)器托管、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)