当前位置: 首页 > news >正文

做电影网站需要什么服务器登封网络推广哪家好

做电影网站需要什么服务器,登封网络推广哪家好,中国建设银行的网站设计,深圳工程建设Android与Flutter混合开发:页面跳转与通信完整指南 一、Android跳转Flutter页面的实现方式 1. 基础跳转方法 (1)使用全新引擎跳转(每次新建) startActivity(FlutterActivity.withNewEngine().initialRoute("/home…

Android与Flutter混合开发:页面跳转与通信完整指南

一、Android跳转Flutter页面的实现方式

1. 基础跳转方法

(1)使用全新引擎跳转(每次新建)
startActivity(FlutterActivity.withNewEngine().initialRoute("/home")  // 指定Flutter初始路由.build(context)
)
(2)使用缓存引擎(推荐,性能更优)
// Application中预初始化
class MyApp : Application() {override fun onCreate() {super.onCreate()val flutterEngine = FlutterEngine(this).apply {dartExecutor.executeDartEntrypoint(DartExecutor.DartEntrypoint.createDefault())}FlutterEngineCache.getInstance().put("default_engine", flutterEngine)}
}// 跳转时使用缓存引擎
startActivity(FlutterActivity.withCachedEngine("default_engine").initialRoute("/detail")  // 可覆盖引擎初始路由.build(context)
)

2. 参数传递方式

(1)通过路由传参
.initialRoute("/detail?id=123&name=flutter")
(2)通过Intent附加数据
FlutterActivity.withNewEngine().build(context).apply {putExtra("key", "value")}
(3)通过MethodChannel实时通信
// Android端发送数据
MethodChannel(flutterEngine.dartExecutor, "data_channel").invokeMethod("initData", mapOf("key" to "value"))// Flutter端接收
const channel = MethodChannel('data_channel');
channel.setMethodCallHandler((call) async {if(call.method == "initData") {print(call.arguments);  // {key: value}}
});

二、Flutter返回Android的实现方式

1. 基础返回

// 直接关闭当前FlutterActivity
Navigator.pop(context); // 或使用系统级返回
SystemNavigator.pop(); 

2. 带参数返回

(1)通过MethodChannel
// Flutter端发送返回数据
const channel = MethodChannel('return_channel');
channel.invokeMethod('returnWithData', {'result': 'success'});// Android端接收
MethodChannel(flutterEngine.dartExecutor, "return_channel").setMethodCallHandler { call, _ ->if (call.method == "returnWithData") {val result = call.argument<String>("result")finish()  // 关闭Activity}
}
(2)通过startActivityForResult
// Android端启动
startActivityForResult(FlutterActivity.withNewEngine().build(this),REQUEST_CODE
)// Flutter端触发返回
SystemNavigator.pop(animated: true);// Android端接收结果
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {if (requestCode == REQUEST_CODE) {// 处理返回数据}
}

三、完整配置示例

1. AndroidManifest.xml

<activity android:name="io.flutter.embedding.android.FlutterActivity"android:configChanges="orientation|keyboardHidden|keyboard|screenSize"android:hardwareAccelerated="true"android:windowSoftInputMode="adjustResize" />

2. Flutter路由配置

void main() {runApp(MaterialApp(initialRoute: '/',routes: {'/': (context) => HomePage(),'/detail': (context) => DetailPage(),},),);
}

3. 跳转封装工具类

object FlutterRouter {private const val ENGINE_ID = "default_engine"fun init(application: Application) {FlutterEngine(application).apply {dartExecutor.executeDartEntrypoint(DartExecutor.DartEntrypoint.createDefault())FlutterEngineCache.getInstance().put(ENGINE_ID, this)}}fun open(context: Context, route: String, params: Map<String, Any>? = null) {val intent = FlutterActivity.withCachedEngine(ENGINE_ID).initialRoute(route).build(context)params?.forEach { (key, value) ->intent.putExtra(key, value.toString())}context.startActivity(intent)(context as? Activity)?.overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left)}
}

四、常见问题解决方案

问题现象解决方案
黑屏/白屏设置backgroundMode(FlutterActivity.BackgroundMode.opaque)
路由不生效检查Flutter端MaterialApp的路由表配置
内存泄漏onDestroy中调用flutterEngine.destroy()
返回键无效使用WillPopScope组件包裹Flutter页面

五、最佳实践建议

  1. 引擎管理

    • 高频页面预加载多个引擎
    • 低频页面使用withNewEngine()
  2. 通信方式选择

    • 简单数据:路由参数
    • 复杂数据:MethodChannel
  3. 性能优化

    • 添加跳转过渡动画
    • 限制Flutter引擎的ABI架构
  4. 调试技巧

    # 查看Flutter模块路由
    flutter run --route=/debug# 检查混合栈状态
    adb shell dumpsys activity activities
    

通过以上实现,可以构建稳定高效的混合页面导航系统

http://www.dtcms.com/a/607855.html

相关文章:

  • 免费的招聘网站有哪些网站做的长图能导出吗
  • 广州网站设计工作室美食网站建设的时间进度表
  • 音乐网站建设怎么上传音乐建个网站做网络推广要花多少钱
  • 柳市网页设计襄阳seo公司
  • 呼和浩特房产网站建设crm是什么意思啊
  • 运营型网站外贸seo培训
  • 哪个公司做的网站好html在线记账网站模板
  • 移动网站推广如何优化医疗网站模板
  • 网站网站是怎么做的wordpress中文教程
  • pip install使用国内镜像源
  • 吉林市建设工程档案馆网站游戏网站建设与策划
  • 企业网页设计尺寸seo咨询邵阳
  • 网站开发一般流程网站建设翻译英文
  • 做销售网站那家好北京有哪些著名网站
  • 在线推广企业网站的方法是表白网页生成制作
  • 引流获客工具seo赚钱方法大揭秘
  • 做邮轮的网站自己建商城型网站
  • C语言反编译技术解析 | C语言反编译的挑战与应用
  • 晋城市网站建设wordpress模板移植
  • 做网站买那种服务器好滨海做网站的价格
  • 吉林网站建设代理渠道用jsp做的网站源代码下载
  • wap手机网站描述正确的是城乡住房和建设厅官网
  • 佛冈网站建设网站建设顾问英语
  • 陕西企业网站建设哪家好泉州建设网站公司
  • 网站论坛怎么建设网站搭建 里短信
  • 陕西省住房和城乡建设厅网站首页中信建设有限责任公司企查查
  • 珠海手机微信网站建设小程序开发学校网站建设招标文件
  • Mermaid流程图高效转换为图片方案
  • 毕业室内设计代做网站广西住房城乡建设网站
  • 网站引导页动画企业建站多站点管理系统