记录Android和Flutter的那些混合开发基情

步骤一:
新建一个原生的安卓工程,然后同级目录下再新建flutter工程。也就是安卓工程和flutter工程是并列在同一目录下的。项目建完后,在安卓项目的settings.gradle文件里写上下面的配置信息:

setBinding(new Binding([gradle:this]))
evaluate(new File(
        settingsDir.parentFile,'flutter_module/.android/include_flutter.groovy'
))

flutter_module是我新建flutter项目的名称。

步骤二:
在安卓项目的app目录下的build文件,引入下面的代码:

    implementation project(':flutter')

步骤三:
新建一个名字为FlutterAppActivity的文件,继承FlutterActivity。

class FlutterAppActivity : FlutterActivity() {
    
    

    private  var initParams:String? = null

    companion object{
    
    
       val INIT_PARAMS = "initParams"

       fun start(context: Context,initParams:String){
    
    
           val intent = Intent(context,FlutterAppActivity::class.java)
           intent.putExtra(INIT_PARAMS,initParams)
           context.startActivity(intent)
       }
   }

    override fun onCreate(savedInstanceState: Bundle?) {
    
    
        super.onCreate(savedInstanceState)
        initParams = intent.getStringExtra(INIT_PARAMS)
    }

    override fun getInitialRoute(): String{
    
    
        return initParams ?: super.getInitialRoute().toString()
    }

}

步骤四:
最后实现点击事件进行测试。已测,可以实现跳转。

  to_flutter.setOnClickListener {
    
    
           FlutterAppActivity.start(this,"route2")
        }

猜你喜欢

转载自blog.csdn.net/hjjdehao/article/details/123104387