admin
2022-05-11 f19071bd5e0007fc823f99cdfa0196391827da1e
src/main/resources/code/android/library-flutter/src/main/java/com/demo/library_flutter/message/DataMethodChannel.java
@@ -14,10 +14,11 @@
import io.flutter.plugin.common.MethodChannel;
import io.flutter.plugin.common.MethodCodec;
import io.flutter.plugin.common.StandardMessageCodec;
import io.flutter.plugin.common.StandardMethodCodec;
public class DataMethodChannel extends MethodChannel {
    public DataMethodChannel(BinaryMessenger messenger, Context context, DataListener dataListener) {
        super(messenger, "com.yeshi.video/data", (MethodCodec) StandardMessageCodec.INSTANCE);
        super(messenger, "com.yeshi.video/data", StandardMethodCodec.INSTANCE);
        setMethodCallHandler(new MethodCallHandler() {
            @Override
            public void onMethodCall(@NonNull MethodCall call, @NonNull Result result) {
@@ -30,6 +31,7 @@
                        SharedPreferences.Editor editor = sharedPreferences.edit();
                        editor.putString(key, value);
                        editor.commit();
                        result.success("1");
                    }
                    break;
@@ -43,15 +45,39 @@
                        SharedPreferences.Editor editor = sharedPreferences.edit();
                        editor.remove(call.arguments + "");
                        editor.commit();
                        result.success("1");
                    }
                    break;
                    case "getAdConfig":
                        SharedPreferences sharedPreferences = context.getSharedPreferences("flutter", Context.MODE_PRIVATE);
                        result.success(sharedPreferences.getString("adConfig", ""));
                        break;
                    case "getConfig": {
                        String key = call.arguments + "";
                        String value = dataListener.getConfig(key);
                        result.success(value);
                    }
                    break;
                    case "getSetting": {
                        String key = call.arguments + "";
                        Boolean value = dataListener.getSetting(key);
                        result.success(value);
                    }
                    break;
                    case "setSetting": {
                        Map<String, Object> params = (Map<String, Object>) call.arguments;
                        String key = params.get("key") + "";
                        boolean value = (Boolean) params.get("value");
                        dataListener.setSetting(key, value);
                        result.success(true);
                    }
                    break;
                    case "getBaseRequestParams":
                        //获取请求参数
                        Map<String, Object> params = (Map<String, Object>) call.arguments;
                        Map<String, String> params = (Map<String, String>) call.arguments;
                        params = dataListener.getBaseRequestParams(params);
                        //转json返回
                        result.success(JSONObject.toJSON(params));
@@ -63,9 +89,19 @@
        });
    }
    public interface DataListener {
        public Map<String, Object> getBaseRequestParams(Map<String, Object> params);
        public Map<String, String> getBaseRequestParams(Map<String, String> params);
        public String getConfig(String key);
        //获取设置
        public Boolean getSetting(String key);
        //设置
        public void setSetting(String key, boolean b);
    }
}