利用contentProvider获取短信内容(SimpleDataFormater的应用)
作者:ligang305 | 出处:博客园 | 2012/7/20 7:59:01 | 阅读25次
view
source
print?public static List<SmsInfo>
getSmsInfos(Context context){ |
Uri
uri = Uri.parse(path); |
ContentResolver
cr = context.getContentResolver(); |
//_id
,address ,body ,date ,type |
List<SmsInfo>
smsinfos = new ArrayList<SmsInfo>(); |
Cursor
cursor = cr.query(uri, new String[]{ "_id" , "address" , "body" , "date" , "type" }, |
while (cursor.moveToNext()){ |
SmsInfo
info = new SmsInfo(); |
String
address = cursor.getString(cursor.getColumnIndex( "address" )); |
info.setAddress(address); |
String
body = cursor.getString(cursor.getColumnIndex( "body" )); |
String
date = cursor.getString(cursor.getColumnIndex( "date" )); |
SimpleDateFormat
dataFormater = new SimpleDateFormat( "yyyy-MM-dd
hh:mm:ss" ); |
Date
d = new Date(Long.parseLong(date)); |
String
strdate = dataFormater.format(d); |
String
type = cursor.getString(cursor.getColumnIndex( "type" )); |
} else if ( "2" .equals(type)){ |
*
把联系人的集合信息,以xml的格式,写到一个输出流中 |
public static void saveSms(List<SmsInfo>
infos ,OutputStream os) throws Exception{ |
XmlSerializer
serializer = Xml.newSerializer(); |
serializer.setOutput(os, "UTF-8" ); |
serializer.startDocument( "UTF-8" , true ); |
serializer.startTag( null , "smss" ); |
for (SmsInfo
info : infos){ |
serializer.startTag( null , "sms" ); |
serializer.startTag( null , "address" ); |
serializer.text(info.getAddress()); |
serializer.endTag( null , "address" ); |
serializer.startTag( null , "body" ); |
serializer.text(info.getBody()); |
serializer.endTag( null , "body" ); |
serializer.startTag( null , "date" ); |
serializer.text(info.getDate()); |
serializer.endTag( null , "date" ); |
serializer.startTag( null , "type" ); |
serializer.text(info.getType()); |
serializer.endTag( null , "type" ); |
serializer.endTag( null , "sms" ); |
serializer.endTag( null , "smss" ); |
serializer.endDocument(); |