ActivityRouter 框架简单实用
ActivityRouter组件化开发小助手用法如下:
跟目录build.gradle
dependencies {// activityRouterclasspath 'com.neenbedankt.gradle.plugins:android-apt:1.8'}allprojects {repositories {// ActivityRoutermaven { url "https://jitpack.io" }} }
module(app) build.gradle
dependencies{// ActivityRouterimplementation 'com.github.joyrun.ActivityRouter:router:0.6.2'annotationProcessor 'com.github.joyrun.ActivityRouter:router-compiler:0.6.2' }
Application类中
初始化 // 填写自己独特的scheme 避免与其他app重复 Router.init("frames");
package com.xiaozhuyisheng.jinjiedemos.activity;import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.support.annotation.Nullable; import android.view.View;import com.thejoyrun.router.Router; import com.thejoyrun.router.RouterActivity; import com.xiaozhuyisheng.jinjiedemos.BaseActivity; import com.xiaozhuyisheng.jinjiedemos.R;import butterknife.OnClick;/*** ActivityRouter 路由框架学习*/public class ActivityRouterDemo extends BaseActivity {@Overrideprotected int initLayoutID() {return R.layout.activity_router;}@Overrideprotected void initLogic() {}@OnClick({R.id.btnStart,R.id.btnParams})public void onClick(View v) {switch (v.getId()) {case R.id.btnStart:Router.startActivity(this, "frames://first?uid=1000");break;case R.id.btnParams:// 支持uri 传参Intent intent = new Intent(this,RouterSecondActivity.class);intent.setData(Uri.parse("frames://second?uid=666"));intent.putExtra("name","zhangsan");startActivity(intent);break;}} }
package com.xiaozhuyisheng.jinjiedemos.activity;import android.widget.TextView;import com.thejoyrun.router.Router; import com.thejoyrun.router.RouterActivity; import com.thejoyrun.router.RouterField; import com.xiaozhuyisheng.jinjiedemos.BaseActivity; import com.xiaozhuyisheng.jinjiedemos.R;import butterknife.BindView;@RouterActivity("first") public class RouterFirstActivity extends BaseActivity {@BindView(R.id.content)TextView content;@RouterField("uid")private int uid;@Overrideprotected int initLayoutID() {return R.layout.activity_router_first;}@Overrideprotected void initLogic() {// 注入Bundle Uri 的参数 支持类型:double float boolean String 数据类型Router.inject(this);content.setText("传递过来的参数:" + uid);} }
package com.xiaozhuyisheng.jinjiedemos.activity;import android.widget.TextView;import com.thejoyrun.router.Router; import com.thejoyrun.router.RouterActivity; import com.thejoyrun.router.RouterField; import com.xiaozhuyisheng.jinjiedemos.BaseActivity; import com.xiaozhuyisheng.jinjiedemos.R;import butterknife.BindView;@RouterActivity("second") public class RouterSecondActivity extends BaseActivity {@BindView(R.id.content)TextView content;@RouterField("name")private String name;@RouterField("uid")private int uid;@Overrideprotected int initLayoutID() {return R.layout.activity_router_first;}@Overrideprotected void initLogic() {// 注入带过来的参数Router.inject(this);content.setText("传递过来的参数:\nuid=" + uid + "\nname=" + name);} }
转载于:https://www.cnblogs.com/jiayonghua/p/10444077.html
ActivityRouter 框架简单实用相关推荐
- android动态化ui框架,简单实用的Android UI微博动态点赞效果
说起空间动态.微博的点赞效果,网上也是很泛滥,各种实现与效果一大堆.而详细实现的部分,讲述的也是参差不齐,另一方面估计也有很多大侠也不屑一顾,觉得完全没必要单独开篇来写和讲解吧.毕竟,也就是两个vie ...
- 虹科分享 | 简单实用的CANopen介绍,看完你就明白了(2)——CANopen框架与七种服务类型
目前,CANopen通讯协议已经在工业领域得到了广泛的使用,由于其面向对象的设计思路,CANopen协议已成为欧洲等国家的自动化公司标配的通讯接口之一.在本系列文章中,我们将介绍CANopen协议的基 ...
- 一个简单实用的,基于EF的三层架构
到底什么样的框架才是好框架呢?或许不同人有不同的看法.我个人觉一个好的框架,最重要的要是简单实用,能快速适开发,可维护性高(不会出现复制黏贴的代码),并能快速响应各种业务场景的变化的框架,同时性能不会 ...
- Java注解的基本概念和原理及其简单实用
一.注解的基本概念和原理及其简单实用 注解(Annotation)提供了一种安全的类似注释的机制,为我们在代码中添加信息提供了一种形式化得方法,使我们可以在稍后某个时刻方便的使用这些数据(通过解析 ...
- 经验分享:10个简单实用的 jQuery 代码片段
尽管各种 JavaScirpt 框架和库层出不穷,jQuery 仍然是 Web 前端开发中最常用的工具库.今天,向大家分享我觉得在网站开发中10个简单实用的 jQuery 代码片段. 您可能感兴趣的相 ...
- Android客户端连接服务器- OKHttp的简单实用方法
文章目录 一 .OKHttp简介 二. OkHttp3使用 1.创建HTTPClient实例 2.Get请求 3.POST请求 三.Timeouts(超时) **写在前面:本文只是对OKHttp3的简 ...
- Android中MaterialSearchView(搜索框)的简单实用
Android中MaterialSearchView(搜索框)的简单实用 收搜框架有好多,动画效果满炫酷的就是代码太多,没发抽取他的搜索功能,而这个却比较好用些,直接从代码里面抠出来一个简单实现搜索功 ...
- Android PDF阅读框架/Android PDF框架简单使用,简单快速集成简易的PDF阅读器 ,AndroidPdfViewer框架简单使用。
文章目录 1:前言 使用步骤 步骤1 导包 / 导引用 / 添加依赖 步骤2 更改xml布局文件 步骤3 java文件处理 1:前言 因为前段时间项目展示,我们小组本打算做的是TXT阅读框架,但是找了 ...
- 一种简单实用的全屏方法
实现程序全屏幕显示的思路有很多种,最常见的一种就是: 1)利用Windows API提供的一个结构体WINDOWPLACEMENT来存储全屏显示前视图和主框架窗口在屏幕上的位置和显示信息.非客户区窗口 ...
最新文章
- 《科学美国人》评出2019年十大突破性技术
- Nagios监控之9:利用sendmail使用第三方SMTP服务发送邮件报警
- roku能不能安装软件_如何在Roku中使用Google Assistant
- java 蓝桥杯算法训练 整除问题(题解)
- 苹果宣布北京时间9月15日凌晨举办发布会后,公司市值再创新高
- linux crontab 定时任务解析
- 深度学习调参经验分享(遥感建筑提取)
- IDEA 启动项目报错 Shorten the command line via JAR manifest or via a classpath file and rerun
- 尚硅谷2021新版spring5课堂笔记
- 第三方软件测试z5x电池,vivo Z5x第三方续航测试结果公布,刷新手机业续航排行榜...
- 破解从 AppStore 下载的 IPA
- mc服务器如何修改密码,mc服务器密码设置密码
- 哈工大18年春软件构造课程讨论题
- 手机系统版本android 8,手机如何升级到安卓8.0系统?对手机有要求吗?
- golang 1-helle golang
- 1027: 伊顿公学进入名校人数第2题(2级)输入两个用空格分隔的整数m和n,分别表示某年的毕业生人数和该年度进入某名校的百分比。输出输出一个整数count,表示该年度进入该名校的学生人数
- 【网络科学0】新的开始
- AWS介绍(详细好理解)
- 互联网大会2017-防范通讯信息诈骗有感
- ES篇:ElasticSearch教程——创建索引、类型、文档
热门文章
- 软考之CPU的寻址方式
- git ssh key创建和github使用
- Java中的50个关键字
- WIN2K/XP/2003 + APACHE + ASP + PHP + MYSQL 的简易实现
- react入门代码_如何在React中构建温度控制应用程序-包括提示和入门代码
- aws s3 静态网站_如何将静态网站或JAMstack应用托管并部署到AWS S3和CloudFront
- 不使用powerdesigner手工绘制用例图例题详解
- linux打开 root .m2,小辣椒M2 (LA-M2)获取ROOT权限教程,新手root必看
- 【逆序对】Ultra - Quicksort
- 面试之Hashtable和ConcurrentHashMap