该软件支持导入导出手机通讯录与短信,可以通过导出进行备份,还可以直接阅读导出信息。导出文件存储在手机和SD卡里双重保险。
下一版本设计:
1、添加备忘录导入导出
2、优化导入导出时间
3、添加更多导出选项
4、支持网络化传送导出文件,互相导入


部分代码分享:
导出通讯录
[java] view plaincopy
public void GetTongXun() throws IOException
{
ContentResolver resolver = this.getContentResolver();
Uri uri = Uri.parse("content://com.android.contacts/contacts");
Cursor cursor = resolver.query(uri, new String[]{Data._ID}, null, null, null);
File file = CreatFile(dir+"通讯录.txt");
FileOutputStream outputStream = new FileOutputStream(file);
FileOutputStream fos = null;
fos = openFileOutput("通讯录.txt",Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);
while(cursor.moveToNext())
{
StringBuilder buf = new StringBuilder();
int id = cursor.getInt(0);//获得id并且在data中寻找数据
uri = Uri.parse("content://com.android.contacts/contacts/"+id+"/data"); //如果要获得data表中某个id对应的数据,则URI为content://com.android.contacts/contacts/#/data
Cursor cursor2 = resolver.query(uri, new String[]{Data.DATA1,Data.MIMETYPE,Data.DATA10}, null,null, null); //data1存储各个记录的总数据,mimetype存放记录的类型,如电话、email等
String phone = null;
while(cursor2.moveToNext())
{
String data = cursor2.getString(cursor2.getColumnIndex("data1"));
if(cursor2.getString(cursor2.getColumnIndex("mimetype")).equals("vnd.android.cursor.item/name") && cursor2.getString(cursor2.getColumnIndex("data10")).equals("2") ){ //如果是名字
buf.append(data);
if (phone != null) buf.append(phone);
}
else if(cursor2.getString(cursor2.getColumnIndex("mimetype")).equals("vnd.android.cursor.item/phone_v2")){//如果是电话
phone = new String(" "+data+"\n");
}
}
String str = buf.toString();
try {
outputStream.write(str.getBytes());
fos.write(str.getBytes());
} catch (IOException ex) {}
}
try {
outputStream.close();
fos.close();
} catch (IOException ex) {}
new AlertDialog.Builder(this).setMessage("成功导出通讯录!").show();
}
导出短信
[java] view plaincopy
public void OutDuanxin() throws IOException
{
Uri uri = Uri.parse("content://sms/");
smsContent sc = new smsContent(this,uri);
List<smsInfo> infos = sc.getSmsInfo();
List<smsInfo> realinfos = sc.getRealSmsInfo();
File file = CreatFile(dir+"短信.txt");
FileOutputStream outputStream = new FileOutputStream(file);
FileOutputStream fos = null;
fos = openFileOutput("短信.txt",Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);
File realfileFile = CreatFile(dir+"duanxin.yyqf");
FileOutputStream realoutputStream = new FileOutputStream(realfileFile);
FileOutputStream realfos = null;
realfos = openFileOutput("duanxin.yyqf",Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);
String string = new String();
String realString = new String();
for (int i=0;i<infos.size();i++)
{
string+=infos.get(i).getName();
string+="\n号码:"+infos.get(i).getPhoneNumber();
string+="\n日期:"+infos.get(i).getDate();
string+="\n消息:"+infos.get(i).getSmsbody();
string+="\n====================================\n";
realString+=realinfos.get(i).getPhoneNumber()+"\n";
realString+=realinfos.get(i).getSmsbody()+"\n";
realString+= ".!@#$%^&*().[].yyqf\n" + realinfos.get(i).getDate()+"\n";
realString+=realinfos.get(i).getType()+"\n";
}
try {
fos.write(string.getBytes());
outputStream.write(string.getBytes());
realfos.write(realString.getBytes());
realoutputStream.write(realString.getBytes());
} catch (Exception e) {}
try {
outputStream.close();
fos.close();
realfos.close();
realoutputStream.close();
} catch (IOException ex) {}
new AlertDialog.Builder(this).setIcon(android.R.drawable.ic_dialog_info).setMessage("成功导出短信!").show();
}
中文名:安卓资料导出备份
包名:com.yyqf.myfirstapp
MD5值:06cdebf0afbf63f41e139022726a12a3





















大小: 40.0M
大小: 78.9M
腾讯微视appv8.127.0.589官方安卓版
联通手机营业厅(中国联通)v11.5.1方最新版
4399游戏盒安全版v9.1.0.38官方安卓版
HDP直播tv版v3.3.7 正式版
手机qq2025最新版v9.0.71 官方正式版
中华万年历日历app(微鲤万年历)v9.1.9官方安卓版
萤石云视频6.15.2.240428安卓版
中国移动手机营业厅V11.5.0官方安卓版
方正手迹造字2025版v5.7.1最新版
PP助手app手机版V8.5.5.0官方手机版
QQ输入法V8.7.5官方正式版
凯立德手机导航软件V8.4.13 官方最新版
安卓市场HiMarket7.8.1.81 官方正式版
Adobe AIR for Androidv25.0.0.134 安卓版
hao123上网导航手机版V5.13.0.50 安卓版
360免费wifi手机版V8.1.8官方最新版
小米电视助手投屏神器V2.7.6 官方版
和彩云网盘(中国移动云盘)mcloud11.1.0 官方版
微双开分身多开宝appv10.2.6.0 安卓版
谷歌拼音输入法V4.5.2.193126728-armeabi-7a 安卓版