赞
踩
一, 引入
这几天项目要做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.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; } } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。