皮皮网
皮皮网

【基于mvc系统 源码】【社区搭建源码】【zabbix 源码agent】android preference源码

来源:qe 插件源码 发表时间:2024-11-30 08:56:35

1.android 为什么要用preference包
2.Android sharePreference 存储问题

android preference源码

android 为什么要用preference包

       Preference的设计和实现可以为今后的开发和架构提供一定的参考。比如在布局的设计上,为了保持相对得统一可以固定整体然后留出局部的占位区间做差异化;实现ListAdapter的时候不一定要使用switch...case的

       ç»“构来决定需要用返回哪种View,将它留给项目类则可以大大增加扩展性。SharedPreferences中也体会到读取和写入被分成两个类的好处,

       è€Œå®ƒåˆä¸ŽPreference行程了界面与存储的分离,再通过PreferenceManager衔接,对于这样的设计,完全可以再实现出这几个继承类,

       è®©å†…容比其它格式存储,比如XML、SQLite。

       æ€»ä¹‹ï¼ŒAndroid的开源性让开发者能够方便地学习到其中的设计理念,虽然它的整体设计上经过了那么多的版本可能依然有许多不足(比如让我困惑的在PreferenceGroupAdapter里使用二分查找),但还是可以学习到不少的开发思想。

       ä¾‹è¿™ç§ä¸€èˆ¬ä¼šç”¨åˆ°ï¼š

Android sharePreference 存储问题

       你可以说一下你遇到了什么问题,基于mvc系统 源码扯这么一段代码放着,能给你看就很对得起你了

       //---> 1.初始值就是true,你在第4处判断的时候就直接return啊?

        private static boolean isInit = true;

        public static String getIPByContext(Context cxt) {

        SharedPreferences preferences = cxt.getSharedPreferences("ip",Context.MODE_PRIVATE);

       // --- > 2.如果没有 KEY 为"ip"的值,就默认为null;

        return preferences.getString("ip", null);

        }

       // 检查网络连接

        // 上一次用户默认登录

       // ---> 3.也没瞧见你上一次用户的取值在哪儿取啊,只有个ip,你逗呢?

        public static boolean initApp(Context context) {

       // ---> 4.如果是第一次进入就返回你检查一下isInit的初始值

        if (isInit)

        return true;

        isInit = initDb(context);

       // ---> 5. 下面这玩意放这儿干嘛来了?逗系统呢啊?先从sharepreferences取出来,再塞回去?

       // setIP(getIPByContext(context));

        if((getIPByContext(context) != null)){

        //说明 sharedPreferences 里面有数据

        }else{

        //sharedPreferences里没数据,默认为 null

        }

        return isInit;

        }

       我劝你最好还是在看看基础的东西,写几个小的demo再上项目吧,

相关栏目:热点