資源提供者和資源解析者

2021-09-24 12:57:39 字數 2028 閱讀 9220

string strings = new string;

if (build.version.sdk_int>=23)

}}

1.提供方:contentprovider

(1)建立資料庫,自定義類繼承sqliteopenhelper

(2)自定義內容提供者類,繼承contentprovider,重寫insert/delete/update/query方法,向外界提供方法

(3)清單檔案中註冊內容提供者

2.索要方:contentresolver

(1)通過context的getcontentresolver方法獲得contentresolver物件

(2)確定uri

(3)呼叫insert/delete/update/query方法訪問資料庫

public class my_cont extends contentprovider 

@override

public cursor query( uri uri, string projection, string selection, string selectionargs,string sortorder)

@override

public string gettype( uri uri)

@override

public uri insert( uri uri, contentvalues values) else

}@override

public int delete(uri uri, string selection, string selectionargs)

@override

public int update(uri uri, contentvalues values, string selection, string selectionargs)

}

清單檔案註冊

contentresolver = getcontentresolver();

parse = uri.parse("content:");

public class myobsever extends  contentobserver 

//改變了 簡訊改變了 當收到乙個新訊息的時候就會執行該方法

@requiresapi(api = build.version_codes.kitkat)

@override

public void onchange(boolean selfchange) ";

pattern pattern = pattern.compile(flag);

matcher matcher = pattern.matcher(body);

//直接擷取

if (matcher.find())}}

}

string strings = new string;

if (build.version.sdk_int > 23)

}}//給解析者註冊觀察者

myobsever=new myobsever(new handler(),this,et);

getcontentresolver().registercontentobserver(telephony.sms.content_uri,true,myobsever);

//獲取聯絡人

private void query2()

}

//獲取資訊方法

@requiresapi(api = build.version_codes.kitkat)

private void query1()

}

//獲取聯絡歷史

private void query3()

}

內容提供者

public class personcontentprovider extends contentprovider override public boolean oncreate 作用 判斷 傳進來的 uri 查詢的是一條資料 還是多條資料 override public string gett...

內容提供者

package com.xh.tx.utils import android.content.context import android.database.sqlite.sqlitedatabase import android.database.sqlite.sqlitedatabase.cur...

內容提供者

讀取系統簡訊,首先查詢原始碼獲得簡訊資料庫內容提供者的主機名和路徑,然後 contentresolver cr getcontentresolver cursor c cr.query uri.parse content sms new string,null,null,null while c.m...