[android] 手机卫士关闭自动更新

2019-09-10 12:10:08 浏览数 (1)

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

0 人点赞