LiteMemory是一個用於簡化SharePreference的框架,主要用於簡化對象在本地的存儲。java
用途:在本地存儲用戶配置時通常須要如下代碼,以怪獸課表存儲的本地配置爲例android
項目地址:github.com/zfman/LiteM…git
以前獲取配置的方式是這樣的:github
int hide = ShareTools.getInt(this, "hidenotcur", 0);
if (hide == 0) {
hideNotCurSwitch.setChecked(false);
} else {
hideNotCurSwitch.setChecked(true);
}
複製代碼
使用LiteMemory
能夠這樣:json
ConfigExample example=LiteMemory.get().from(ConfigExample.class);
if (!example.isHideNotCur()) {
hideNotCurSwitch.setChecked(false);
} else {
hideNotCurSwitch.setChecked(true);
}
複製代碼
To get a Git project into your build:app
Step 1. Add the JitPack repository to your build file框架
Add it in your root build.gradle at the end of repositories:maven
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
複製代碼
Step 2. Add the dependencyide
dependencies {
implementation 'com.github.zfman:LiteMemory:1.0.0'
}
複製代碼
初始化
Application
中public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
LiteMemory.initialize(this);
}
}
複製代碼
application
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.zhuangfei.preference_demo">
<!--經過android:name配置application-->
<application
android:name=".MyApplication"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
複製代碼
保存數據
須要保存的數據須要以字段的形式存在於實體類中,假設須要保存用戶信息,用戶有用戶名和年齡兩個屬性
User類以下:
public class User {
private String name;
private int age = 0;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
}
複製代碼
保存數據
User user=new User();
user.setName("劉壯飛");
user.setAge(23);
//保存至本地
LiteMemory.get().save(user);
複製代碼
獲取數據
User user=LiteMemory.get().from(User.class);
//此時user內的屬性已被賦值,能夠使用
//若本地不存在,則會使用User類構造一個實例,
//此時user不爲空,可是user對象中的屬性值多是空的
String name=user.getName();
int age=user.getAge();
複製代碼
刪除數據
LiteMemory.get().delete(User.class);
複製代碼
判斷數據是否存在
boolean has=LiteMemory.get().exist(User.class);
複製代碼
混淆
本庫沒有混淆,可是內部採用fastjson進行序列化與反序列化,若是你的項目須要混淆的話請自行查閱資料添加