• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Android使用ARouter进行画面迁移的管理

android 搞代码 3年前 (2022-03-01) 31次浏览 已收录 0个评论
文章目录[隐藏]

应用ARouter进行画面迁徙的治理

本篇内容是学习笔记,不代表是最好的计划,不保障所有办法的了解正确。
欢送各位大佬斧正,优化。

一、创立FridgeApplication类

在Application类的onCreate进行ARouter的初始化

<code class="java">public class FridgeApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();

        // 如果以后是调试状态,关上日志和调试模式
        if (Config.getInstance().isDebug()) {
            ARouter.openLog();
            ARouter.openDebug();
        }

        // 初始化ARouter
        ARouter.init(this);
    }
}

二、批改AndroidManifest.xml文件

减少FridgeApplication类

<code class="xml"><?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.irisleon.fridge">

    <application
        android:name=".FridgeApplication"   <-- 减少这里
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.FridgeHelper">
        <activity android:name=".activity.HomeActivity" />
        <activity android:name=".activity.HelloActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

三、在Activity类上减少注解

创立了两个Activity类,进行标注。为了保障path不呈现拼写错误。此处应用枚举进行替换。

<code class="java">public class ARouterTag {
    public static final String HelloActivity = "/fridge/hello_activity";
    public static final String HomeActivity = "/fridge/home_activity";
}
<code class="java">@Route(path = ARouterTag.HomeActivity)
public class HomeActivity extends AppCompatActivity {
}
<code class="java">@Route(path = ARouterTag.HelloActivity)
public class HelloActivity extends AppCompatActivity {
}

四、进行画面迁徙

  1. 根本的画面迁徙,并且携带一份入参,类型是String,名称是transFromPath

    <code class="java">// ARouter进行画面迁徙
    ARouter.getInstance().build("/fridge/home_activity")
     .withString("transFromPath", ARouterTag.HelloActivity)
     .navigation(HelloActivity.this, new NavCallback() {
    
     @Override
     public void onArrival(Postcard postcard) {
         Log.i(TAG, "ARouter has been completed!");
     }
    });
  2. 承受画面解析画面迁徙的参数

    <code class="java">
    public class HomeActivity extends AppCompatActivity {
    
     // ARouter会主动将transFromPath对应的数据赋值给mTransFromPath。
     // mTransFromPath的拜访权限必须是public。
     @Autowired(name = "transFromPath")
     public String mTransFromPath = "";
    
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_home);
    
         // 解析ARoute提供的参数
         ARouter.getInstance().inject(this);
    
         // 如果迁徙时数据正确设定,此处曾经能够获得mTransFromPath
         if (mTransFromPath == "") {
             Log.e(TAG, "ARouter parameter[transFromPath] is unrecognized");
         }
     }
    }

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Android使用ARouter进行画面迁移的管理
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址