android 创建系统变量
16lz
2021-01-23
android 创建系统变量
在Android开发中如何使用和创建一个在各个不同的程序库中调用呢?下面就介绍一种自己学习的方法,有不对的请路过的指正。
1 在frameworks\base\core\java\android\provider中的Settings.java中进行定义变量
首先在其内部类Global中定义变量:
public static final String WIFI_ON = "wifi_on";
然后在其内部类Secure中导入:
@Deprecated
public static final String WIFI_ON = Global.WIFI_ON;
再将其放到Static块中:
MOVED_TO_GOLBAL.add(Settings.Golbal.WIFI_ON);
最后再在其内部类System中导入:
@Deprecatedpublic static final String WIFI_ON = Global.WIFI_ON;再将其放到Static块中:
MOVED_TO_SECURE.add(Secure.WIFI_ON);2 在frameworks\base\packages\settingsprovider\src\com\android\provider\Settings中的DataBaseHelper.java中初始化变量:
先在onUpgrade()中把setting.Secure.WIFI_ON放到String[]中,然后在loadGolbalSetting()中初始化
loadBooleanSetting(stmt,Settings.Golbal.WIFI_ON,R.bool.def_wifi_on);
3 在frameworks\base\packages\settingsprovider\res\values中的Defaults.xml中给变量赋初始值:
<bool name="def_wifi_on">true</bool>4 在frameworks\base\api中的current.txt文件中把变量分别加到三个类中。
注:如果没写时,可在编译前使用命令:./mk update-api
5在应用中调用
得到资源ContentResolver cr = mContent.getContentResolver ();获取变量的值:Setting.Golbal.getInt(cr,Setting.Golbal.WIFI_ON);
给变量赋值:Setting.Golbal.putInt(cr,Setting.Golbal.WIFI_ON,1);
更多相关文章
- android 使用Intent传递数据之静态变量
- 如何设置Android命令行环境变量
- Android入门篇五:使用全局变量在Activity之间传递数据
- Android 初始化之Zygote
- Android init language (安卓初始化语言)
- Android静态变量的生命周期
- Android编译系统模块中的LOCAL_XXX变量
- android保存第一次安装状态并初始化数据
- 关于Android中是否可以使用全局变量的问题