保存数据的四种方式,网络,广播提供者,SharedPreferences,数据库
获取SharedPreferences对象,通过getSharedPreferences()方法,参数:名称,模式
例如config,MODE_PRIVATE
调用SharedPreferences对象的edit()方法,得到Editor对象
调用Editor对象的putBoolean()方法,放入布尔数据,参数:键值对,”update” false
调用Editor对象的commit()方法,提交数据
查看/data/data/包名/shared_perfs/config.xml这个生成的xml文件
使用命令行adb shell cd 到上面的目录,使用cat命令查看文件
调用SharedPreferences对象的getBoolean()方法,得到保存的数据,参数:键,默认值
进行判断,状态设置为ture,设置文本内容
设置检查下载部分
得到保存的是否自动更新的状态,判断状态
如果自动更新,调用检测自动更新的代码
如果不自动更新,延迟两秒,自动跳转到主页
调用Handler对象的postDelayed()方法,参数:Runable对象,延迟的毫秒数
使用匿名内部类继承Runable对象,重写run()方法,方法里面跳转到主页
升级进度的TextView部分,默认隐藏,android:visibility=”gone” gone是隐藏并空出位置
在下载过程中的回调函数里面,这一瞬间显示出来
调用TextView对象的setVisibility(View.VISIBLE)
SettingActivity:
代码语言:javascript复制package com.qingguow.mobilesafe;
import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import com.qingguow.mobilesafe.ui.SettingItemView;
public class SettingActivity extends Activity {
private SettingItemView siv_item;
private SharedPreferences sp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_setting);
siv_item=(SettingItemView) findViewById(R.id.siv_item);
sp=getSharedPreferences("config", MODE_PRIVATE);
//根据保存的数据设置状态
boolean update=sp.getBoolean("update", false);
if(update){
siv_item.setChecked(true);
siv_item.setDesc("自动更新已经开启");
}else{
siv_item.setChecked(false);
siv_item.setDesc("自动更新已经关闭");
}
//自动更新的点击事件
siv_item.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Editor editor=sp.edit();
if(siv_item.isChecked()){
//设置不选中
siv_item.setChecked(false);
siv_item.setDesc("自动更新已经关闭");
editor.putBoolean("update", false);
}else{
//设置选中
siv_item.setChecked(true);
siv_item.setDesc("自动更新已经开启");
editor.putBoolean("update", true);
}
editor.commit();
}
});
}
}