gpt4 book ai didi

java - 如何将联系人或短信作为 .xml 文件或 .csv 文件备份到 SD 卡并稍后恢复

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:48:22 24 4
gpt4 key购买 nike

我正在尝试在我的应用程序中开发一项功能,以将短信和联系人以 .xml 或 .csv 格式备份到 SD 卡并稍后恢复。

所以请任何人给我一些建议或一些示例代码或与此相关的任何资源链接。

提前致谢

最佳答案

    public ArrayList<String> smsBuffer = new ArrayList<String>();
String smsFile = "SMS"+".csv";
private void backupSMS(){
smsBuffer.clear();
Uri mSmsinboxQueryUri = Uri.parse("content://sms");
Cursor cursor1 = getContentResolver().query(
mSmsinboxQueryUri,
new String[] { "_id", "thread_id", "address", "person", "date",
"body", "type" }, null, null, null);
//startManagingCursor(cursor1);
String[] columns = new String[] { "_id", "thread_id", "address", "person", "date", "body",
"type" };
if (cursor1.getCount() > 0) {
String count = Integer.toString(cursor1.getCount());
Log.d("Count",count);
while (cursor1.moveToNext()) {

String messageId = cursor1.getString(cursor1
.getColumnIndex(columns[0]));

String threadId = cursor1.getString(cursor1
.getColumnIndex(columns[1]));

String address = cursor1.getString(cursor1
.getColumnIndex(columns[2]));
String name = cursor1.getString(cursor1
.getColumnIndex(columns[3]));
String date = cursor1.getString(cursor1
.getColumnIndex(columns[4]));
String msg = cursor1.getString(cursor1
.getColumnIndex(columns[5]));
String type = cursor1.getString(cursor1
.getColumnIndex(columns[6]));



smsBuffer.add(messageId + ","+ threadId+ ","+ address + "," + name + "," + date + " ," + msg + " ,"
+ type);

}
generateCSVFileForSMS(smsBuffer);
}
}


private void generateCSVFileForSMS(ArrayList<String> list)
{

try
{
String storage_path = Environment.getExternalStorageDirectory().toString() + File.separator + smsFile;
FileWriter write = new FileWriter(storage_path);

write.append("messageId, threadId, Address, Name, Date, msg, type");
write.append('\n');

for (String s : list)
{
write.append(s);
write.append('\n');
}
write.flush();
write.close();
}

catch (NullPointerException e)
{
System.out.println("Nullpointer Exception "+e);
// e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
catch (Exception e)
{
e.printStackTrace();
}

}

关于java - 如何将联系人或短信作为 .xml 文件或 .csv 文件备份到 SD 卡并稍后恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8739034/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com