add: module storages

This commit is contained in:
hyb1996
2017-12-04 17:20:40 +08:00
parent 8c52a892c4
commit 6e617d83e8
14 changed files with 201 additions and 31 deletions

View File

@@ -0,0 +1,75 @@
package com.stardust.autojs.core.storage;
import android.content.Context;
import android.content.SharedPreferences;
/**
* Created by Stardust on 2017/12/3.
*/
public class LocalStorage {
private static final String NAME_PREFIX = "autojs.localstorage.";
private SharedPreferences mSharedPreferences;
public LocalStorage(Context context, String name) {
mSharedPreferences = context.getSharedPreferences(NAME_PREFIX + name, Context.MODE_PRIVATE);
}
public LocalStorage put(String key, String value) {
mSharedPreferences.edit()
.putString(key, value)
.apply();
return this;
}
public LocalStorage put(String key, long value) {
mSharedPreferences.edit()
.putLong(key, value)
.apply();
return this;
}
public LocalStorage put(String key, boolean value) {
mSharedPreferences.edit()
.putBoolean(key, value)
.apply();
return this;
}
public long getNumber(String key, long defaultValue) {
return mSharedPreferences.getLong(key, defaultValue);
}
public boolean getBoolean(String key, boolean defaultValue) {
return mSharedPreferences.getBoolean(key, defaultValue);
}
public String getString(String key, String defaultValue) {
return mSharedPreferences.getString(key, defaultValue);
}
public long getNumber(String key) {
return getNumber(key, 0);
}
public boolean getBoolean(String key) {
return getBoolean(key, false);
}
public String getString(String key) {
return getString(key, null);
}
public void remove(String key) {
mSharedPreferences.edit().remove(key).apply();
}
public boolean contains(String key) {
return mSharedPreferences.contains(key);
}
public void clear() {
mSharedPreferences.edit().clear().apply();
}
}

View File

@@ -110,7 +110,7 @@ public class RhinoJavaScriptEngine extends JavaScriptEngine {
private String readInitScript() {
try {
return PFiles.read(mAndroidContext.getAssets().open("javascript_engine_init.js"));
return PFiles.read(mAndroidContext.getAssets().open("init.js"));
} catch (IOException e) {
throw new RuntimeException(e);
}
@@ -164,8 +164,8 @@ public class RhinoJavaScriptEngine extends JavaScriptEngine {
private class WrapFactory extends org.mozilla.javascript.WrapFactory {
@Override
public Object wrap(Context cx, Scriptable scope, Object obj, Class<?> staticType) {
if (staticType == String.class) {
return getRuntime().bridges.toString(obj);
if (obj instanceof CharSequence) {
return getRuntime().bridges.toString(obj.toString());
}
if (staticType == UiObjectCollection.class) {
return getRuntime().bridges.toArray(obj);