阿里路由框架ARouter的使用步驟


ARouter的使用步驟(以宿主APP modulebase和moduleuser 三大模塊組成的工程為例)

第一步 因為路由跳轉是子模塊都需要用到的,所以我們在module_base模塊中引入

compile "com.alibaba:arouter-api:$rootProject.arouterVersion" 

 

第二步 然后在各子模塊module_user的build文件中導入:

annotationProcessor "com.alibaba:arouter-compiler:rootProject.arouterProcessorVersion"  

 

 為編譯期間生成路徑映射。同時也需要在各子模塊的build中加入

  defaultConfig {
    javaCompileOptions {
        annotationProcessorOptions {
            arguments = [moduleName: project.getName()]
        }
    }
}

 

第三步 在宿主APP模塊中的Application中初始化ARouter:

public class MyApplication extends Application {
@Override
public void onCreate() {
    super.onCreate();
    initRouter(this);
}

public static void initRouter(Application application) {
    if (BuildConfig.DEBUG) {
        ARouter.openLog();     // 打印日志
        ARouter.openDebug();   // 開啟調試模式(如果在InstantRun模式下運行,必須開啟調試模式!線上版本需要關閉,否則有安全風險)
    }
    ARouter.init(application);
}

 

第四步 設置跳轉Activity,給被跳轉Activity上加入注解:

  

@Route(path = RouteUtils.User_Activity_Login)
public class LoginActivity extends BaseActivity implements View.OnClickListener {

 

  然后跳轉邏輯是

 public static void startLoginActivity() {
    ARouter.getInstance().build(User_Activity_Login).navigation();
}

 

  實現這個Activity跳轉的路徑是

public static final String User_Activity_Login = "/user/login";

 

這樣子的做法的好處就是,只要是path路徑不變,任你包名或者類名的變化,都可以成功的跳轉到對應的頁面,

另外還有一個功能就是還能實現web網頁跳轉到對應的Activity

  ARouter不止可以跳轉Activity還能跳轉fragment

關於我

私人博客

微信公眾號:infree6 或者直接掃碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM