Android 简单跳转页面工具的实例详解

 更新时间:2021年03月17日 10:17:21   作者:黑中华  
这篇文章主要介绍了Android 简单跳转页面工具的实例详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

事情起源

activity 或者 fragment 每次跳转传值的时候,你是不是都很厌烦那种,参数传递。
那么如果数据极其多的情况下,你的代码将苦不堪言,即使在很好的设计下,也会很难受。那么今天我给大家推荐一个工具
和咱原生跳转进行比较

比较:

1.跳转方式比较

 Intenti=new Intent(this,MainActivity.class); 
 startActivity(i);

vs

ApMainActivity.getInstance().start(this);
//发送
  Intenti=new Intent(this,MainActivity.class);
  Bundle bundle = new Bundle();
  bundle.putInt("message", "123");
  i.putExtra("Bundle", bundle);
  startActivity(i);
  //接收
	String s=bundle.getString("message","");   

vs

	//发送
	ApMainActivity.getInstance().setMessage("123").start(this);
	//接收
	AutoJ.inject(this);

AutoPage

github地址 https://github.com/smartbackme/AutoPage
如果觉得不错 github 给个星
Android 容易的跳转工具

注意事项:必须有如下两个要求 androidxkotlin & java

#########使用#########
project : build.gradle 项目的gradle配置

buildscript {
  repositories {
    maven { url 'https://dl.bintray.com/297165331/AutoPage'}
  }

在你的每个需要做容易跳转的模块添加如下配置
你的项目必须要支持 kapt
kotlin kapt

apply plugin: 'kotlin-kapt'

  implementation 'com.kangaroo:autopage:1.0.2'
  kapt 'com.kangaroo:autopage-processor:1.0.2'

重点

@AutoPage 只能在字段或者类上标注Ap 作为前缀,为你快速跳转

kotlin:

字段必须标注 @JvmField 和 @AutoPageonCreate 中 在你的需要跳转的页面加入 AutoJ.inject(this)

java:

字段必须标注 @AutoPageonCreate 中 在你的需要跳转的页面加入 AutoJ.inject(this)

######### Activity 中使用#########

例1

简单的跳转

@AutoPage
class SimpleJump1Activity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_simple_jump1)
  }
}

之后调用

ApSimpleJump1Activity.getInstance().start(this)

例2

简单的跳转并且带参数

class MainActivity2 : AppCompatActivity() {

  @AutoPage
  @JvmField
  var message:String? = null

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main2)
    AutoJ.inject(this)
    findViewById<TextView>(R.id.text).text = message
  }
}

之后调用

ApMainActivity2.getInstance().setMessage("123").start(this)

例3:

跳转带有result

@AutoPage
class SimpleJumpResultActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_simple_jump_result)
  }

  override fun onBackPressed() {
    var intent = Intent()
    intent.putExtra("message","123")
    setResult(RESULT_OK,intent)
    super.onBackPressed()
  }
}

之后调用

ApSimpleJumpResultActivity.getInstance().requestCode(1).start(this)

####### 在 fragment 中使用 #########

class FragmentSimpleFragment : Fragment() {


  @AutoPage
  @JvmField
  var message:String? = null

  companion object {
    fun newInstance() = FragmentSimpleFragment()
  }

  private lateinit var viewModel: SimpleViewModel

  override fun onCreateView(
    inflater: LayoutInflater, container: ViewGroup?,
    savedInstanceState: Bundle?
  ): View {
    return inflater.inflate(R.layout.simple_fragment, container, false)
  }

  override fun onActivityCreated(savedInstanceState: Bundle?) {
    super.onActivityCreated(savedInstanceState)
    AutoJ.inject(this)
    viewModel = ViewModelProvider(this).get(SimpleViewModel::class.java)
    view?.findViewById<TextView>(R.id.message)?.text = message

  }
}

之后调用

ApFragmentSimpleFragment.getInstance().setMessage("134").build()

到此这篇关于Android 简单跳转页面工具的文章就介绍到这了,更多相关Android跳转页面工具内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Android实现支付宝支付密码输入界面

    Android实现支付宝支付密码输入界面

    这篇文章主要为大家详细介绍了Android实现支付宝支付密码输入界面,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Android中的设计模式

    Android中的设计模式

    常用的设计模式有以下八种:单例、工厂、观察者、代理、命令、适配器、合成、访问者。下面通过本文给大家介绍下android中的设计模式,感兴趣的朋友一起看看吧
    2016-09-09
  • Android入门之AlertDialog用法实例分析

    Android入门之AlertDialog用法实例分析

    这篇文章主要介绍了Android入门之AlertDialog用法,对Android初学者有很多的借鉴学习之处,需要的朋友可以参考下
    2014-08-08
  • Android自定义控件之开关按钮学习笔记分享

    Android自定义控件之开关按钮学习笔记分享

    这篇文章主要为大家分享了Android自定义开关按钮的学习笔记,内容丰富,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • Android常用的图片加载库

    Android常用的图片加载库

    本文主要介绍了Android常用的图片加载库的相关资料。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • Android实现下拉展示条目效果

    Android实现下拉展示条目效果

    这篇文章主要为大家详细介绍了Android实现下拉展示条目效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • android app跳转到微信的示例

    android app跳转到微信的示例

    这篇文章主要介绍了android app跳转到微信的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Android使用CardView实现圆角对话框

    Android使用CardView实现圆角对话框

    这篇文章主要为大家详细介绍了Android使用CardView实现圆角对话框,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • Android RecyclerView实现吸顶动态效果流程分析

    Android RecyclerView实现吸顶动态效果流程分析

    RecyclerView是Android一个更强大的控件,其不仅可以实现和ListView同样的效果,还有优化了ListView中的各种不足。其可以实现数据纵向滚动,也可以实现横向滚动(ListView做不到横向滚动)。接下来讲解RecyclerView的用法
    2022-12-12
  • android蓝牙控制PC端代码分享

    android蓝牙控制PC端代码分享

    这篇文章主要为大家分享了android蓝牙控制PC端的详细代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07

最新评论