[android] 手机卫士关闭自动更新
保存数据的四种方式,网络,广播提供者,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] 手机卫士关闭自动更新的更多相关文章
- [android] 手机卫士应用程序更新和签名
弹出升级对话框 获取AlertDialog.Builder对象,通过new出来 调用Builder对象的setTitle()方法,参数:文本 调用Builder对象的setMessage()方法,参数 ...
- Android 手机卫士--设置界面&功能列表界面跳转逻辑处理
在<Android 手机卫士--md5加密过程>中已经实现了加密类,这里接着实现手机防盗功能 本文地址:http://www.cnblogs.com/wuyudong/p/5941959. ...
- Android 手机卫士--签名文件说明&包名说明
在<Android 手机卫士--打包生成apk维护到服务器>一文中,实现了新版本的apk到服务器,当打开客户端apk的时候,发现有新版本,提示更新.还实现了利用xutils工具实现了从服务 ...
- Android 手机卫士--弹出对话框
在<Android 手机卫士--解析json与消息机制发送不同类型消息>一文中,消息机制发送不同类型的信息还没有完全实现,在出现异常的时候,应该弹出吐司提示异常,代码如下: private ...
- [android] 手机卫士自定义组合控件
设置中心 新建SettingActivity 设置GridView条目的点击事件 调用GridView对象的setOnItemClickListenner()方法,参数:OnItemClickList ...
- Android应用程序的自动更新升级(自身升级、通过tomcat)(转)
Android应用程序的自动更新升级(自身升级.通过tomcat) http://blog.csdn.net/mu0206mu/article/details/7204746 刚入手android一个 ...
- Android 手机卫士--参照文档编写选择器
本文来实现<Android 手机卫士--导航界面1的布局编写>中的图片选择器部分的代码. 本文地址:http://www.cnblogs.com/wuyudong/p/5944356.ht ...
- Android 手机卫士--确认密码对话框编写
本文接着实现“确认密码”功能,也即是用户以前设置过密码,现在只需要输入确认密码 本文地址:http://www.cnblogs.com/wuyudong/p/5940718.html,转载请注明出处. ...
- Sublime Text 3关闭自动更新
Sublime Text 3关闭自动更新 第一步:help->enter license 这有两个: -– BEGIN LICENSE -– Michael Barnes Single User ...
随机推荐
- Html5与Css3知识点拾遗(六)
web字号 px() 百分比(较常用) em(最常用):一般1em=16px,相对单位.以父元素作参照系,父元素大小是不确定的 body{ font-size:100%; /*父元素默认为16px*/ ...
- Django积木块二——邮箱
邮箱 django中自带的功能,因为登录注册都需要邮箱,因此新增了一个小的app--utils用来存放 # email_send.py import random from django.core.m ...
- 长方体类Java编程题
1. 编程创建一个Box类(长方体),在Box类中定义三个变量,分别表示长方体的长(length).宽(width)和高(heigth),再定义一个方法void setBox(int l, int w ...
- 轮播图js编写
//面向对象 function Left() { this.index = 0; this.lefthover = $('#left-content'); this.listenhover(); th ...
- pgsqls修改表字段长度
alter table T_RPACT_PROTO_EDIT_RECORD alter column remark type VARCHAR(1024); 需要注意type关键字
- Android:weight,margin,padding详解实例
weight详解 weight是用来等比例划分区域的属性. 案例代码 <LinearLayout xmlns:android="http://schemas.android.com/a ...
- MySQL 组提交(group commit)
目录 前言 改进 原理 实现 参数 注意 前言 操作系统使用页面缓存来填补内存和磁盘访问的差距 对磁盘文件的写入会先写入道页面缓存中 由操作系统来决定何时将修改过的脏页刷新到磁盘 确保修改已经持久化到 ...
- 深度学习python的配置(Windows)
Windows下深度学习python的配置 1.安装包的下载 (1)anaconda (2)pycharm 2.安装教程 (1)anaconda a.降版本 b.换源 (2)pycharm a.修改h ...
- eval() 和 with()
作用域完全由写代码时的函数声明所决定,js有两种机制可以实现”破坏“我们对作用域的常规理解,通过eval()和with(). 1. eval()函数接受字符串为参数,并将其中的声明提升到eval()函 ...
- Android 性能优化-启动时间
adb shell am start -W -n com.xxxx(包名)/xxx.xxxActivity(launch Activity)