>

Fórum

Fórum da RL System, voltado para analistas, programadores etc. Tudo sobre linguagem de programação e desenvolvimento Full Stack: Banco de Dados, Android, C#, Java, .NET, PHP, Node, Javascript, TypeScript, Front, HTML e muito mais.



BAckup dos SMS em xml


Olá Rafael,
tem como vc me passar algum exemplo em que eu consiga ver como são feitos backups dos sms recebidos em outro banco ? Quero passar isso via xml ?
conhece algo ?
Obrigado



1 Resposta


Wesley,

O ideal é usar o BroadCastReceiver, pegar o sms e ir salvando em algum lugar.

Pode ser até via Web.

No curso fala de BroadCastReceiver.

Aqui tem um exemplo, que gera um CSV. Só adaptar a formatação XML.


public ArrayList smsBuffer = new ArrayList();
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 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();
}

}