一款小而美的路由框架

RusCannon 7年前發布 | 6K 次閱讀 Maven 移動開發

RouterSDK

RouterSDK is an excellent Router Framwork ,it is easy to integrate in your project. You can start an application through the web page by the custom parameters. In addition, it can also provides a number of useful features such as dynamic routing configuration, jump animation, task station, jump pretreatment, etc.

Screenshot

Build

Step 1. Add the JitPack repository to your build file

add the JitPack maven to your project in root build.gradle

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

Step 2. Add module dependency build.gradle

dependencies {
     compile 'com.github.Jomes:routerSDK:v1.0.3-alpha'
 }

That's it!

How to use

init RouteTable in application

Router.initRouteTable(new IRouteTableMapping() {
       @Override
       public void operaRouterTable(Map<String, Class<? extends Activity>> map) {
           map.put("jomeslu://www", OneActivity.class);
           map.put("jomeslu://loginactivity", LoginActivity.class);
       }
 });

Router Jump page

Router.build("http://androidblog.cn/index.php/Source").start(MainActivity.this);

Definition Of type

  • Scheme:suggest to define application name which router to use
  • Host: suggest to define page where to go, such activity
  • path : Transfer parameter,customer type
key format {i:ikey} {f:key} {l:key} {d:key} {s:key} {b:key}
type integer float long double string boolean

eg :From A page to B page use url :jomeslu://www?{i:id}=168&{s:jomeslu}=jomeslu

A page

Router.build("jomeslu://www?{i:id}=168&{s:jomeslu}=jomeslu").setIRouteInterceptor(new IRouteInterceptor() {
        @Override
        public boolean interceptor() {
           Router.build("jomeslu://loginactivity?{i:id}=168&{s:jomeslu}=jomeslu").start(MainActivity.this);
           Toast.makeText(MainActivity.this, "login...", Toast.LENGTH_LONG).show();
            return true;
        }
 }).start(MainActivity.this);;

B Page Receive parameter as normal

String jomeslu = getIntent().getStringExtra("jomeslu");
  int id = getIntent().getIntExtra("id", -1);

License

 

 

 本文由用戶 RusCannon 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!