马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 青玄 于 2014-11-3 23:13 编辑
在安卓中!短信的备份与还原!是比较重要的!起大概的原理大概是这样的!首先在布局文件里面先设置两个按钮!然后在activity程序里面写这两个按钮的回调方法,当点击备份短信的时候!就会调用这个备份短信的方法!然后就是设置进度条!再在这个这个方法里面开一个子线程!这个子线程里面执行
的是备份的工作的方法!其返回值是一个boolean类型的,如果返回的true的话,则是本分成功!然后在这个子线程里面设置一条消息!然后将这个消息放到消息队列中!然后由主线程来获取这条消息!成功的话!则显示成功!失败的话,则显示失败!值得注意的是,备份的原理其实就是!将短信数据库里面的数据用文件流的形式读取出来!然后写到一个xml文件中!呵呵! 相信这样说!大家都很不明白!完了!我把源代码,传上来!有兴趣的朋友!可以看一下!附加的知识:
ContentObserver 内容监控者
被监控方的用context.getContentResolver().notifyChange(messageuri, null); //uri自行设定
网消息邮箱或消息对队中添加消息
监控方:Uri uri=Uri.parse("content://sms");
ContentResolver resolver=this.getContentResolver();
resolver.registerContentObserver(uri, true, new MyContentObserver(new Handler()));//注册内容观察者
private class MyContentObserver extends ContentObserver
{
public MyContentObserver(Handler handler) {
super(handler);
}
@Override
public void onChange(boolean selfChange) {
Toast.makeText(MainActivity.this, "A应用数据库发生变化了", Toast.LENGTH_LONG).show();
Cursor cursor=SmsUtil.getNewData(MainActivity.this);
cursor.moveToFirst();
String body=cursor.getString(cursor.getColumnIndex("body"));
cursor.close();
Log.i("MainActivity",body);
super.onChange(selfChange);
}
}
android四大组件之一:activity
四大组件之一,创建完Activity后要在AndroidMainfest.xml中使用<activity android:name="类的全路径" android:Lable="标题" android:icon="图标">
如果未注册该Activity,调用该Activity时会报错:ActivityNotFoundException,
<intent-filter>
<action android:name="android.intent.action.MAIN" /> //主Activity,应用的入口
<category android:name="android.intent.category.LAUNCHER" />//在桌面创建捷图标
</intent-filter>
Activity之间的跳转及数据传递
Intent intent=new Intent(this,SecondActivity.class);
startActivity(intent);
//意图对象
//第一种
//Intent intent=new Intent(this,SecondActivity.class);
//第二种
/*Intent intent=new Intent();
intent.setClass(this,SecondActivity.class);*/
//第三种
/*Intent intent=new Intent();
ComponentName component=new ComponentName(this,SecondActivity.class);
intent.setComponent(component);
*/
//适用于打开外一应用的Activity
//第四种
/*Intent intent=new Intent();
intent.setClassName("com.cbd.activity", "com.cbd.activity.SecondActivity");
startActivity(intent);*/
//打开浏览器
/*Intent intent=new Intent();
intent.setClassName("com.android.browser", "com.android.browser.BrowserActivity");
startActivity(intent);*/
数据传递:是向Intent中需加数据 intent.putExta(key,value)
接收数据: 从下向文件找到Intent对象 Intent intent=getIntetn(); intent.getStringExta(key) intent.getIntExta(key);
|