当前位置:   article > 正文

Flutter 与 原生交互(Android),靠着这份900多页的PDF面试整理

Flutter 与 原生交互(Android),靠着这份900多页的PDF面试整理

private static final String TAG = “FlutterPluginBasicTest”;

public static String CHANNEL = “com.mmd.flutterapp/plugin”;

static BasicMessageChannel messageChannel;

public static void registerWith(PluginRegistry.Registrar registrar) {

messageChannel = new BasicMessageChannel(registrar.messenger(),CHANNEL,StandardMessageCodec.INSTANCE);

FlutterPluginBasicTest flutterPluginBasicTest = new FlutterPluginBasicTest();

messageChannel.setMessageHandler(flutterPluginBasicTest);

}

/**

  • java 发起通信

  • @param string

*/

void sendMessage(String string) {

messageChannel.send(string, new BasicMessageChannel.Reply() {

@Override

public void reply(Object o) {

Log.d(TAG, "reply: "+0);

}

});

}

/**

  • Flutter 发起的通信

  • @param o

  • @param reply

*/

@Override

public void onMessage(Object o, BasicMessageChannel.Reply reply) {

Log.d(TAG, "onMessage: "+o);

reply.reply(“ok”);

}

}

2.注册

3.dart 调用

/**

  • 发送

*/

Future sendMessage() async{

String reply = await messageChannel.send(“Flutter send”);

print(reply);

return reply;

}

/**

  • 接收

*/

void receiveMessage(){

messageChannel.setMessageHandler((message) async{

print(message);

return “is ok”;

});

}

MethodChannel

=============

flutter 调用 原生

1.实现插件

public class FlutterPluginTest implements MethodChannel.MethodCallHandler {

private static final String TAG = “FlutterPluginTest”;

/**

  • 插件标识

*/

public static String CHANNEL = “com.mmd.flutterapp/plugin”;

private static String ACTION_LOG = “log”;

private static String LOG_ARGUMENT = “data”;

static MethodChannel channel;

public static void registerWith(PluginRegistry.Registrar registrar) {

channel = new MethodChannel(registrar.messenger(), CHANNEL);

FlutterPluginTest instance = new FlutterPluginTest();

channel.setMethodCallHandler(instance);

}

@Override

public void onMethodCall(MethodCall methodCall, MethodChannel.Result result) {

/**

  • 通过 method 判断调用方法

*/

if (methodCall.method.equals(ACTION_LOG)) {

/**

  • 解析参数

*/

String text = methodCall.argument(LOG_ARGUMENT);

if (TextUtils.isEmpty(text)) {

/**

  • 错误返回

*/

result.error(“Data is Null”,null,null);

}else {

Log.d(TAG, "onMethodCall: "+text);

/**

  • 成功返回

*/

result.success(“is ok”);

}

}else {

result.notImplemented();

}

}

}

2.注册插件

public class MainActivity extends FlutterActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

/**

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

文末

那么对于想坚持程序员这行的真的就一点希望都没有吗?
其实不然,在互联网的大浪淘沙之下,留下的永远是最优秀的,我们考虑的不是哪个行业差哪个行业难,就逃避掉这些,无论哪个行业,都会有他的问题,但是无论哪个行业都会有站在最顶端的那群人。我们要做的就是努力提升自己,让自己站在最顶端,学历不够那就去读,知识不够那就去学。人之所以为人,不就是有解决问题的能力吗?挡住自己的由于只有自己。点击我的GitHub下述资料免费领取
Android希望=技能+面试

  • 技能

  • 面试技巧+面试题
    的不是哪个行业差哪个行业难,就逃避掉这些,无论哪个行业,都会有他的问题,但是无论哪个行业都会有站在最顶端的那群人。我们要做的就是努力提升自己,让自己站在最顶端,学历不够那就去读,知识不够那就去学。人之所以为人,不就是有解决问题的能力吗?挡住自己的由于只有自己。点击我的GitHub下述资料免费领取
    Android希望=技能+面试

  • 技能
    [外链图片转存中…(img-TL0DtSEn-1711393113410)]

  • 面试技巧+面试题

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/654627
推荐阅读
相关标签
  

闽ICP备14008679号