麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > OS > 安卓 > 正文

詳細(xì)講解Android中使用LoaderManager加載數(shù)據(jù)的方法

2024-09-11 17:15:14
字體:
供稿:網(wǎng)友

Android的設(shè)計之中,任何耗時的操作都不能放在UI主線程之中。所以類似于網(wǎng)絡(luò)操作等等耗時的操作都需要使用異步的實現(xiàn)。而在ContentProvider之中,也有可能存在耗時的操作(當(dāng)查詢的數(shù)據(jù)量很大的時候),這個時候我們也需要使用異步的調(diào)用來完成數(shù)據(jù)的查詢。

當(dāng)使用異步的query的時候,我們就需要使用LoaderManager了。使用LoaderManager就可以在不阻塞UI主線程的情況下完成數(shù)據(jù)的加載。

(1)獲取loaderManger:activity.getLoaderManager()

(2)loaderManager的事件回調(diào)接口, LoaderManager.LoaderCallbacks<D>

下面是一個demo,從contentprovider中query數(shù)據(jù)添加到listview中,是異步執(zhí)行的。

MySQLiteOpenHeleper.java:

package com.app.loadermanager;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.database.sqlite.SQLiteOpenHelper; public class MySQLiteOpenHelper extends SQLiteOpenHelper {   public static final String db_name = "test.db3";  public static final int version = 1;   public MySQLiteOpenHelper(Context context) {    super(context, db_name, null, version);  }   @Override  public void onCreate(SQLiteDatabase db) {     String create_sql = "create table tb_student(_id integer primary key autoincrement,name varchar(20),age integer)";    db.execSQL(create_sql);  }   @Override  public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {   } }

MyContentProvider.java

package com.app.loadermanager; import android.content.ContentProvider;import android.content.ContentUris;import android.content.ContentValues;import android.content.UriMatcher;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.net.Uri; public class MyContentProvider extends ContentProvider {   private MySQLiteOpenHelper helper = null;  private static final UriMatcher matcher = new UriMatcher(      UriMatcher.NO_MATCH);  private static final int students = 1;  static {    matcher.addURI("com.app.contentprovider", "tb_student", students);  }   @Override  public int delete(Uri arg0, String arg1, String[] arg2) {    return 0;  }   @Override  public String getType(Uri arg0) {    return null;  }   @Override  public Uri insert(Uri uri, ContentValues values) {    SQLiteDatabase db = helper.getWritableDatabase();    int flag = matcher.match(uri);    switch (flag) {    case students:      long id = db.insert("tb_student", null, values);      return ContentUris.withAppendedId(uri, id);    }    return null;  }   @Override  public boolean onCreate() {    helper = new MySQLiteOpenHelper(this.getContext());    return true;  }   @Override  public Cursor query(Uri uri, String[] projection, String selection,      String[] selectionArgs, String sortOrder) {    SQLiteDatabase db = helper.getWritableDatabase();    Cursor cursor=db.query("tb_student", projection, selection, selectionArgs, null, null, null);    return cursor;  }   @Override  public int update(Uri uri, ContentValues values, String selection,      String[] selectionArgs) {    return 0;  } }
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲一级片在线观看 | 久久久综| 视频一区二区精品 | 日日噜噜噜噜久久久精品毛片 | 黄色网页在线观看 | 国产一级毛片国产 | 国产美女视频一区二区三区 | 精品国产一区二区三区四区阿崩 | 成人在线精品视频 | 国产妞干网 | 午夜视 | 美女在线视频一区二区 | 久草成人在线 | avlululu| 国产91小视频在线观看 | 黄色片网站在线播放 | 亚洲成人福利 | 中国美女一级黄色大片 | 国产激情网 | 毛片a级毛片免费播放100 | 黄色毛片观看 | 欧美三级欧美成人高清www | 国产亚洲精品久久久久5区 男人天堂免费 | 久在线观看福利视频69 | 久久久噜噜噜久久熟有声小说 | 国产超碰人人爽人人做人人爱 | 亚洲人成在线播放网站 | 91精品国产日韩91久久久久久360 | 日美av在线| 狠狠操天天射 | av之家在线观看 | 永久在线观看电影 | 久久电影一区二区 | 国产1区2区3区中文字幕 | av不卡免费观看 | 欧美性受ⅹ╳╳╳黑人a性爽 | 免费黄色在线 | 久久精品一区二区三区国产主播 | 丁香天堂网 | 中文字幕一二区 | 精品欧美一区二区精品久久 |