ARouter 是一个 Android 平台的强大路由框架,它能帮助你轻松实现页面跳转、组件通信等功能。要配置 ARouter,请按照以下步骤操作:
- 添加依赖
在你的项目的 build.gradle
文件中添加 ARouter 的依赖:
dependencies { implementation 'com.alibaba:arouter-api:1.2.2' annotationProcessor 'com.alibaba:arouter-compiler:1.2.2' }
- 初始化 ARouter
在你的 Application
类中初始化 ARouter:
import com.alibaba.android.arouter.ARouter; import com.alibaba.android.arouter.launcher.ARouterApplication; public class MyApplication extends ARouterApplication { @Override public void onCreate() { super.onCreate(); // 打印 ARouter 版本信息 ARouter.openLog(); // 开启日志 ARouter.openDebug(); // 开启调试模式(如果在 AndroidManifest.xml 开启了 Logcat 输出, 则无需开启) } }
注意:确保你的 AndroidManifest.xml
文件中的 application
标签使用了你的自定义 MyApplication
类。
- 定义路由规则
在 res/menu
目录下创建一个 XML 文件(例如 router.xml
),并定义你的路由规则:
- 使用注解定义路由
在你的 Activity 或 Fragment 中使用 @Route
注解定义路由规则:
import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.facade.annotation.Router; @Router("home") public class HomeActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home); } }
- 启动路由
在你的需要启动路由的地方,使用 ARouter.getInstance().build()
方法构建路由,并调用 startActivity()
方法启动目标 Activity:
Intent intent = ARouter.getInstance().build("home").startActivity(); startActivity(intent);
- 打开页面时自动跳转
在需要打开页面时,可以使用 ARouter.getInstance().navigateTo()
方法实现自动跳转:
ARouter.getInstance().navigateTo(this, "home");
- 传递参数
使用 @Param
注解传递参数:
@Route("user/info") public class UserInfoActivity extends AppCompatActivity { @Param("userId") String userId; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_user_info); } }
在启动时传递参数:
ARouter.getInstance().navigateTo(this, "user/info", "userId", "123");
- 捕获异常
使用 @Catch
注解捕获异常:
@Route(path = "/login", exception = {NotFoundException.class}) public class LoginActivity extends AppCompatActivity { // ... }
以上就是 ARouter 的配置和使用方法。希望对你有所帮助!