android内容提供者contentProvider_短信备份
来源:互联网 发布:gta4那个版本优化最好 编辑:程序博客网 时间:2024/06/10 04:25
一、项目目录结构
二、activity_main.xml界面
三、activity_main.xml代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.zgs.smsBackup.MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <Button android:onClick="click" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView1" android:layout_below="@+id/textView1" android:layout_marginTop="83dp" android:text="备份短信" /></RelativeLayout>四、MainActivity.java代码
package com.zgs.smsBackup;import java.io.File;import java.io.FileOutputStream;import org.xmlpull.v1.XmlSerializer;import android.app.Activity;import android.database.Cursor;import android.net.Uri;import android.os.Bundle;import android.os.Environment;import android.util.Xml;import android.view.View;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}//点击按钮查询短信内容 然后把短信内容进行备份public void click(View v) {try {//[1]获取XmlSerializer的实例XmlSerializer serializer = Xml.newSerializer();//[2]设置序列化器参数 File file = new File(Environment.getExternalStorageDirectory().getPath(),"smsbackup.xml");System.out.println(Environment.getExternalStorageDirectory().getPath());FileOutputStream fos = new FileOutputStream(file);serializer.setOutput(fos, "utf-8");//[3]写xml文档开头 serializer.startDocument("utf-8", true);//[4]写xml的根节点serializer.startTag(null, "smss");//[5]构造uriUri uri = Uri.parse("content://sms/");//[6]由于短信的数据库已经通过内容提供者暴露出来 所以我们直接通过内容解析者查询 Cursor cursor = getContentResolver().query(uri, new String[]{"address","date","body"}, null, null, null);while(cursor.moveToNext()){String address = cursor.getString(0);String date = cursor.getString(1);String body = cursor.getString(2);//[7]写sms节点 serializer.startTag(null, "sms");//[8]写address节点 serializer.startTag(null, "address");serializer.text(address);serializer.endTag(null, "address");//[9]写date节点 serializer.startTag(null, "date");serializer.text(date);serializer.endTag(null, "date");//[10]写body节点 serializer.startTag(null, "body");serializer.text(body);serializer.endTag(null, "body");serializer.endTag(null, "sms");}serializer.endTag(null, "smss");serializer.endDocument();fos.close();System.out.println("写XML成功!!!");} catch (Exception e) {e.printStackTrace();}}}五、AndroidManifest.xml代码
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.zgs.smsBackup" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="22" /> <uses-permission android:name="android.permission.WRITE_SMS" /> <uses-permission android:name="android.permission.READ_SMS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application></manifest>
0 0
- android内容提供者contentProvider_短信备份
- android内容提供者contentProvider_短信插入
- android内容提供者contentProvider_查询联系人
- android内容提供者contentProvider_插入联系人
- contentProvider_内容提供者
- (内容提供者)备份短信和添加短信
- android,内容提供者,短信发送
- 内容提供者复习——短信备份
- 4.1短信备份,利用系统短信内容提供者ContentResolver
- android 利用内容提供者备份短信(XML序列化器)
- android:利用内容提供者操作短信
- android:利用内容提供者操作短信
- 短信备份的原理——使用内容提供者
- 短信的内容提供者
- Android-内容提供者、ListView点击事件、观察者、监听短信/联系人
- Android之内容提供者-- 获取联系人和短信信息
- 练手小项目(5)安全卫士_利用内容提供者进行短信备份
- 练手小项目(5)安全卫士_利用内容提供者进行短信备份 修正版
- Centos7下安装Solr服务和Solr基本用法
- Mac原生开启本地服务器的两种方法
- 图文:配置CUDA8.0 + VS2013
- xutils的使用方法及模块二,浅谈xutil3的四大模块
- wpf之布局控件stackpanel、wrappanel、dockpanel的前世今生
- android内容提供者contentProvider_短信备份
- 6.5.2
- java中对异常的抛出或捕获
- 支持向量机SVM(Support Vector Machine)详解笔记
- Oracle优化04-Optimizer优化器
- 数组类模板中的[ ]运算符重载问题
- passwd修改用户密码
- Iris数据集可视化分析
- Unity3D资源热更新(一)