整理一下今天的收获(getSharePreferences的使用,解决在非onCreate方法中无法使用的情况)

简单的即时通讯,直接引用容联云的UI组件库就可以,有群组跟单聊功能,也可以自己更改库的内容,增加功能,总之做一些单聊是足够了,好了,说一下今天学到的东西


在使用SharedPreferences时会发现,如果类没有继承Activity,没有执行onCreate方法时,使用getSharePreferences()方法不能获取到SharedPreferences对象,这就会造成一个严重的问题,如何得到本地文件?例如一个登陆的tel,如果使用SQLite又显得繁琐了,用文件的形式保存更是大材小用。所以还是用SharedPreferences最为合适,那么如何在一个不继承Activity的类中得到本地文件呢?容联云UI库的Demo里其实给写了这个方法,只是没有使用。于是查看UI库的SDK一步步的查找,得到了方法。

在常量类中

public static String USERID = cCPreferences.getString("tel", "");

public static SharedPreferences getSharedPreferences() {
        return BaseApplication.getInstance().getSharedPreferences(
                Constants.WORK_TOKEN, Context.MODE_PRIVATE);
    }


在继承Application的BaseAdapter类中

    /**
     * 单例,返回一个实例
     *
     * @return
     */
    public static BaseApplication getInstance() {
        if (instance == null) {
            LogUtil.w("[ECApplication] instance is null.");
        }
        return instance;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        instance = this;

    }

非常实用的一个功能!




你可能感兴趣的:(android)