編輯:Android開發實例
利用的是Cursor+CursorAdapter實現界面實時更新的方法
部分代碼如下:
//一個觀察者
private class MyContentObserver extends ContentObserver {
public MyContentObserver() {
super(new Handler());
}
@Override
public void onChange(boolean selfChange) {
super.onChange(selfChange);
Log.i("DLA", "MyContentObserver onChange!");
//處理數據更新回調
refreshData();
}
}
private void refreshData() {
if (mCursor.isClosed()) {
return;
}
//更新
mCursor.requery();
}
//一個實現CursorAdapter的適配器
private MyAdapter mAdapter;
private Cursor mCursor;
private MyContentObserver mObserver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list);
setupViews();
mCursor = getContentResolver().query(MyProvider.CONTENT_URI, sAppReadableColumnsArray,null, null, null);
mObserver = new MyContentObserver();
//注冊觀察者
mCursor.registerContentObserver(mObserver);
mAdapter = new MyAdapter(this, R.layout.list_item, mCursor);
setListAdapter(mAdapter);
}
@Override
protected void onDestroy() {
super.onDestroy();
if (mCursor != null) {
mCursor.unregisterContentObserver(mObserver);
mCursor.close();
}
}
這樣實現後當MyProvider.CONTENT_URI對應的數據發生變化時都會調用觀察者的onChange方法,mCursor.requery()執行後listview就直接更新了。
從本文開始為大家制作一個Android個人理財工具,並把整個開發過程記錄下來,
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個
前言 最近Android studio(下文簡稱AS)官方發布了正式版,目前火得不行。個人認為主要是因為android是google自家的產品,AS也是他自己搞的
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我