ARouter(一)简单使用

 

demo场景:app模块主页面分别跳转购物车模块页面和个人中心模块,个人中心模块跳转主界面和购物车模块,购物车模块跳转个人中心模块和主界面

ARouter(一)简单使用_第1张图片

框架地址:ARouter

使用步骤:

1、在项目的build.gradle文件中

ARouter(一)简单使用_第2张图片

2、分别在module的build.gradle中填加(如果某个module没有填加会报错There is no route match the path):

 defaultConfig {
       ......

        javaCompileOptions {
            annotationProcessorOptions {
                arguments = [moduleName : project.getName()]
            }
        }
    }
dependencies {
    ......
    compile 'com.alibaba:arouter-api:1.3.1'
    //注解器
    annotationProcessor 'com.alibaba:arouter-compiler:1.1.4'
   
}

Kotlin配置见:Arouter(二)Kotlin和Java配置​​​​​​​

3、初始化,建议在Application中进行

public class DemoApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        //在init之前打开日志和调试
        if (BuildConfig.DEBUG) {
            ARouter.openLog();
            ARouter.openDebug();
        }
        ARouter.init(this);
    }
}

4、无参数跳转页面

  跳转页面:

ARouter.getInstance().build("/main/MainActivity").navigation();

目标页面


//添加注解
//注解路径为/AA/BB形式  
@Route(path = "/main/MainActivity")
public class MainActivity extends AppCompatActivity {
 @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ARouter.getInstance().inject(this);
        setContentView(R.layout.activity_cart);

      ......

    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        ARouter.getInstance().destroy();
    }

}

5、带参跳转

跳转页面:

 ARouter.getInstance()
                        .build("/cart/cartactivity")
                        .withString("from", "我从main来")
                        .navigation();

目标页面:通过@Autowired注解

 @Autowired
    String from;

@Autowired(name = "from")
    String name;

注意:不要忘了在AnroidManifest.xml文件中配置activity!

 

你可能感兴趣的:(Android)