1.android 为ä»ä¹è¦ç¨preferenceå
2.Android sharePreference 存储问题
android 为ä»ä¹è¦ç¨preferenceå
Preferenceç设计åå®ç°å¯ä»¥ä¸ºä»åçå¼ååæ¶ææä¾ä¸å®çåèãæ¯å¦å¨å¸å±ç设计ä¸ï¼ä¸ºäºä¿æç¸å¯¹å¾ç»ä¸å¯ä»¥åºå®æ´ä½ç¶åçåºå±é¨çå ä½åºé´åå·®å¼åï¼å®ç°ListAdapterçæ¶åä¸ä¸å®è¦ä½¿ç¨switch...caseçç»ææ¥å³å®éè¦ç¨è¿ååªç§Viewï¼å°å®çç»é¡¹ç®ç±»åå¯ä»¥å¤§å¤§å¢å æ©å±æ§ãSharedPreferencesä¸ä¹ä½ä¼å°è¯»åååå ¥è¢«åæ两个类ç好å¤ï¼
èå®åä¸Preferenceè¡ç¨äºçé¢ä¸åå¨çå离ï¼åéè¿PreferenceManagerè¡æ¥ï¼å¯¹äºè¿æ ·ç设计ï¼å®å ¨å¯ä»¥åå®ç°åºè¿å 个继æ¿ç±»ï¼
让å 容æ¯å ¶å®æ ¼å¼åå¨ï¼æ¯å¦XMLãSQLiteã
æ»ä¹ï¼Androidçå¼æºæ§è®©å¼åè è½å¤æ¹ä¾¿å°å¦ä¹ å°å ¶ä¸ç设计ç念ï¼è½ç¶å®çæ´ä½è®¾è®¡ä¸ç»è¿äºé£ä¹å¤ççæ¬å¯è½ä¾ç¶æ许å¤ä¸è¶³ï¼æ¯å¦è®©æå°æçå¨PreferenceGroupAdapteré使ç¨äºåæ¥æ¾ï¼ï¼ä½è¿æ¯å¯ä»¥å¦ä¹ å°ä¸å°çå¼åææ³ã
ä¾è¿ç§ä¸è¬ä¼ç¨å°ï¼
Android sharePreference 存储问题
你可以说一下你遇到了什么问题,双星app源码扯这么一段代码放着,能给你看就很对得起你了
//---> 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再上项目吧,