ARouterの基本使用
android {
defaultConfig {
...
javaCompileOptions {
annotationProcessorOptions {
arguments = [AROUTER_MODULE_NAME: project.getName()]
}
}
}
}
dependencies {
// , api
// compiler ,
compile 'com.alibaba:arouter-api:x.x.x'
annotationProcessor 'com.alibaba:arouter-compiler:x.x.x'
...
}
if (isDebug()) { // init , init
ARouter.openLog(); //
ARouter.openDebug(); // ( InstantRun , ! , )
}
ARouter.init(mApplication); // , Application
@Route(path = "/test/activity")
public class YourActivity extend Activity {
...
}
public static class A {
public static final String PART = "/login/";
public static final String LOGIN=PART+"login";
public static final String REGISTER=PART+"register";
public static final String GETCODE=PART+"getcode";
public static final String UNBIND_BIND_PHONE=PART+"unbind_bind_phone";
public static final String FORGET_PASSWD = PART+"forgetpasswd";
public static final String SET_LOGIN_PASSWD = PART+"set_login_passwd";
}
// 1. ( URL ' ' )
ARouter.getInstance().build("/test/activity").navigation();
// 2.
ARouter.getInstance().build("/test/1")
.withLong("key1", 666L)
.withString("key3", "888")
.withObject("key4", new Test("Jack", "Rose"))
.navigation();
// , @Autowired
// URL Parcelable , ARouter api Parcelable
@Route(path = "/test/activity")
public class Test1Activity extends Activity {
@Autowired
public String name;
@Autowired
int age;
// name URL
@Autowired(name = "girl")
boolean boy;
// ,URL json
@Autowired
TestObj obj;
// withObject List Map
// Serializable (ArrayList/HashMap)
// ,
// List Map,
// ,
@Autowired
List list;
@Autowired
Map> map;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ARouter.getInstance().inject(this);
// ARouter ,
Log.d("param", name + age + boy);
}
}
// , ( ), SerializationService, @Route ( ), :
@Route(path = "/yourservicegroupname/json")
public class JsonServiceImpl implements SerializationService {
@Override
public void init(Context context) {
}
@Override
public T json2Object(String text, Class clazz) {
return JSON.parseObject(text, clazz);
}
@Override
public String object2Json(Object instance) {
return JSON.toJSONString(instance);
}
}
参考:Arouter公式サイトアドレス