。。。。。。。。。。。。書接上文java
咱們能夠在數據庫表中找到對應的數據,經過DDMS導出數據庫:
android
對應的文件爲DraftFragment.java。這裏要顯示草稿的信息列表首先要查詢數據庫,在onCreate()方法中會聲明一個數據庫操做的對象:
onCreate(){
mQueryHandler = new QueryHandler(getActivity());
}
,並在onViewCreated()中添加一個對數據庫的監聽並執行查詢:
onViewCreated(){
DraftCache.getInstance().addOnDraftChangedListener(this);
startQuery();
}
這些僅在初始化時才執行,退出Mms應用時也會remove該監聽。
queryHandler.startQuery(queryToken, null, sAllThreadsUri, ALL_THREADS_PROJECTION,
"sim_id=-1 AND message_count=0", null, Conversations.DEFAULT_SORT_ORDER);
能夠對收件人進行name和number的搜索,數據庫的查詢在providers/ContactsProvider中的ContactsProvider2.java中:
queryLocal{
…
case PHONES_FILTER:
}
輸入短信的字符超過一行會有提示當前的頁數和當前頁剩餘的可輸入字符數,對應的控件在gnInitResourceRefs中聲明,佈局文件:gn_compose_message_activity.xml,默認爲不顯示此控件,當輸入行數大於1行時才顯示出來。
當輸入字符的頁面總數大於getSmsToMmsTextThreshold()方法中設置的默認值時,短信回自動轉化爲彩信。
經過option菜單中點擊進入導入導出短信應用,這個activity也要經過TabActivity.java中的onOptionsItemSelected()來觸發:
case R.id.gn_action_in_out:
Intent impExpIntent = new Intent("android.intent.action.ImportExportSmsActivity");
startActivity(impExpIntent);
進入ImportExportSmsActivity這個類中,在這個類中主要是處理導入和導出2個click事件:
onClick(){
if (view.equals(mExportButton)) {
….
}else if (view.equals(mImportButton)) {
….
}
}