Android 最强工具类的使用 .blankj:utilcode

一, 引入

点击打开链接

这几天项目要做sharedprefences , 原生的写的很麻烦 , 于是用 utilcode , 来保存, 坑爹的是找到了 , 都不会用 

compile 'com.blankj:utilcode:1.13.5'

二,初试 直接报错  

spUtils = SPUtils.getInstance(SPUTILS);
  Caused by: java.lang.NullPointerException: u should init first
                                                                             at com.blankj.utilcode.util.Utils.getApp(Utils.java:98)
                                                                             at com.blankj.utilcode.util.SPUtils.(SPUtils.java:53)

                                                                             at com.blankj.utilcode.util.SPUtils.getInstance(SPUtils.java:46)

 at com.shinelon.sputils_boke.MainActivity.onCreate(MainActivity.java:30)

                                                                             at android.app.Activity.performCreate(Activity.java:6237)

一看知道了是空指针的问题

三.分错  

   分析错误可以得出是要进行实例化的 来的 

Utils.init(this);
spUtils = SPUtils.getInstance(SPUTILS);



package com.shinelon.sputils_boke;

import android.app.Application;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

import com.blankj.utilcode.util.SPUtils;
import com.blankj.utilcode.util.Utils;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;

public class MainActivity extends AppCompatActivity {

    @BindView(R.id.et_save)
    EditText etSave;
    @BindView(R.id.tv_show)
    TextView tvShow;

    private static final String SPUTILS = "sputils";
    private SPUtils spUtils;
    private Application app;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
        Utils.init(this);
        spUtils = SPUtils.getInstance(SPUTILS);

    }

    @OnClick({R.id.bt_save, R.id.bt_read})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.bt_save:
                spUtils.put("save",etSave.getText().toString());
                break;
            case R.id.bt_read:
                tvShow.setText(spUtils.getString("save"));
                break;
        }
    }
}


你可能感兴趣的:(utilcode,blankj,Android)