保存数据的四种方式,网络,广播提供者,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:

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();
}
});
}
}

[android] 手机卫士关闭自动更新的更多相关文章

  1. [android] 手机卫士应用程序更新和签名

    弹出升级对话框 获取AlertDialog.Builder对象,通过new出来 调用Builder对象的setTitle()方法,参数:文本 调用Builder对象的setMessage()方法,参数 ...

  2. Android 手机卫士--设置界面&功能列表界面跳转逻辑处理

    在<Android 手机卫士--md5加密过程>中已经实现了加密类,这里接着实现手机防盗功能 本文地址:http://www.cnblogs.com/wuyudong/p/5941959. ...

  3. Android 手机卫士--签名文件说明&包名说明

    在<Android 手机卫士--打包生成apk维护到服务器>一文中,实现了新版本的apk到服务器,当打开客户端apk的时候,发现有新版本,提示更新.还实现了利用xutils工具实现了从服务 ...

  4. Android 手机卫士--弹出对话框

    在<Android 手机卫士--解析json与消息机制发送不同类型消息>一文中,消息机制发送不同类型的信息还没有完全实现,在出现异常的时候,应该弹出吐司提示异常,代码如下: private ...

  5. [android] 手机卫士自定义组合控件

    设置中心 新建SettingActivity 设置GridView条目的点击事件 调用GridView对象的setOnItemClickListenner()方法,参数:OnItemClickList ...

  6. Android应用程序的自动更新升级(自身升级、通过tomcat)(转)

    Android应用程序的自动更新升级(自身升级.通过tomcat) http://blog.csdn.net/mu0206mu/article/details/7204746 刚入手android一个 ...

  7. Android 手机卫士--参照文档编写选择器

    本文来实现<Android 手机卫士--导航界面1的布局编写>中的图片选择器部分的代码. 本文地址:http://www.cnblogs.com/wuyudong/p/5944356.ht ...

  8. Android 手机卫士--确认密码对话框编写

    本文接着实现“确认密码”功能,也即是用户以前设置过密码,现在只需要输入确认密码 本文地址:http://www.cnblogs.com/wuyudong/p/5940718.html,转载请注明出处. ...

  9. Sublime Text 3关闭自动更新

    Sublime Text 3关闭自动更新 第一步:help->enter license 这有两个: -– BEGIN LICENSE -– Michael Barnes Single User ...

随机推荐

  1. 深入理解Java虚拟机二之Java内存区域与内存溢出异常

    运行时数据区域 1.线程独有的内存区域 PROGRAM COUNTER REGISTER 程序计数器 程序计数器空间较小,是当前线程执行字节码的行号指示器,字节码解释器工作时就是通过改变这个计数器的值 ...

  2. [翻译] FastReport TfrxReport组件使用

    一:加载和保存报表 报表默认保存在项目窗体文件中,大多数情况下,没有更多的操作要深圳市, 因此,你不需要采取特别措施来载入报告.如果你决定保存报表到文件或是数据库中 (这样更灵活, 比如修改报表不用重 ...

  3. Go语言执行流程

    Go执行流程 如果是对源代码编译后,再执行,Go的执行流程如下图 go build生成的可执行文件会在当前目录内 如果是对源代码直接执行go run 源文件操作,Go的执行流程如下图 两种执行流程的方 ...

  4. Javascript百学不厌 - 尾递归

    虽然偶尔也用过,但是从来没具体来整理过 普通递归: function fac(n) { ) ; ); } fac() 这是个阶乘.但是占用内存,因为: fac(5) (5*fac(4)) (5*(4* ...

  5. MySQL:change buffer

    1. 概念 Innodb维护了一个缓存区域叫做Buffer Pool,用来缓存数据和索引在内存中.其大小通过参数 innodb_buffer_pool_size 控制: change buffer 是 ...

  6. Hbase shell基本操作

    1.启动cd <hbase_home>/bin$ ./start-hbase.sh 2.启动hbase shell # find hadoop-hbase dfs fileshadoop ...

  7. EJB3与JPA的关系

    转载自http://www.cnblogs.com/o-andy-o/archive/2012/04/17/2453537.html JPA是基于Java持久化的解决方案,主要是为了解决ORM框架的差 ...

  8. 为什么我们喜欢用 sigmoid 这类 S 型非线性变换?

    本文整理自 @老师木 的一条图片新浪微博,从另一个角度给出为何采用 sigmoid 函数作非线性变换的解释. 为什么我们喜欢用 sigmoid 这类 S 型非线性变换?

  9. 课程三(Structuring Machine Learning Projects),第二周(ML strategy(2)) —— 0.Learning Goals

    Learning Goals Understand what multi-task learning and transfer learning are Recognize bias, varianc ...

  10. 原生js实现vue组件功能

    在如今VUE盛行的情况下,我们一直在惊叹于VUE的组件的功能,却不知道,原生js早就已经支持了这个功能. 最近在公开课学到的,js还有很多很多需要探索学习. 下面是一个简单的例子 <!DOCTY ...