編輯:關於Android編程
Android提供了XmlSerializer來實現XML文件的序列化。相比傳統方式,更高效安全。
傳統方式:
public void backSms(View view){
//假設我已經獲取到了所有的短信
StringBuilder sb = new StringBuilder();
sb.append("");
sb.append("");
for(SmsInfo info:smsInfos){
sb.append("");
sb.append("");
sb.append(info.getAddress());
sb.append("");
sb.append("");
sb.append(info.getType());
sb.append(" ");
sb.append("");
sb.append(info.getBody());
sb.append("");
sb.append("");
sb.append(info.getBody());
sb.append(" ");
sb.append(" ");
}
sb.append(" ");
try{
File file = new File(Environment.getExternalStorageDirectory(),"backup.xml");
FileOutputStream fos = new FileOutputStream(file);
fos.write(sb.toString().getBytes());
Toast.makeText(this, "備份成功", Toast.LENGTH_LONG).show();
}catch(Exception e){
e.printStackTrace();
Toast.makeText(this, "備份失敗", Toast.LENGTH_LONG).show();
}
}public void backSms2(View view){
try{
XmlSerializer serializer = Xml.newSerializer();
File file = new File(Environment.getExternalStorageDirectory(),"backup2.xml");
FileOutputStream os = new FileOutputStream(file);
//初始化序列號器 指定XML數據寫入到哪個文件 並且指定文件的編碼方式
serializer.setOutput(os,"utf-8");
serializer.startDocument("uft-8", true);
serializer.startTag(null, "smss");
for(SmsInfo info:smsInfos){
serializer.startTag(null, "sms");
serializer.attribute(null, "id", info.getId()+"");
serializer.startTag(null, "body");
serializer.text(info.getBody());
serializer.endTag(null, "body");
serializer.startTag(null, "address");
serializer.text(info.getAddress());
serializer.endTag(null, "address");
serializer.endTag(null, "sms");
}
serializer.endTag(null, "smss");
serializer.endDocument();
}catch(Exception e){
e.printStackTrace();
Toast.makeText(this, "備份失敗", 0);
}
}
Android Ndk中C與JAVA之間的互相調用
本例實現一個簡單的場景: 1、使用C編寫一個方法,接收1個參數,方法中調用Java的方法。 2、Java類中編寫一個方法,接收一個參數。 3、模擬調用場景:點擊按鈕 -&
android中使用jni對字符串加解密實現分析
android中使用jni對字符串加解密實現分析 最近項目有個需求,就是要對用戶的敏感信息進行加密處理,比如用戶的賬戶密碼,手機號等私密信息。在java中,就對字符串
屬於自己的常見Android選項菜單樣式集合
菜單是用戶界面中最常見的元素之一,使用非常頻繁,在Android中,菜單被分為如下三種,選項菜單(OptionsMenu)、上下文菜單(ContextMenu)和子菜單(
Android DrawerLayout 抽屜
Android DrawerLayout 抽屜DrawerLayout 在supportV4 Lib中,類似開源slidemenu一樣,DrawerLayout父類為Vi