[android] 手机卫士关闭自动更新详解手机开发

保存数据的四种方式,网络,广播提供者,SharedPreferences,数据库

 

获取SharedPreferences对象,通过getSharedPreferences()方法,参数:名称,模式

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

 

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/5435.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论