├── .idea ├── .name ├── copyright │ └── profiles_settings.xml ├── encodings.xml ├── vcs.xml ├── modules.xml ├── runConfigurations.xml ├── compiler.xml ├── gradle.xml └── misc.xml ├── api ├── .gitignore ├── src │ └── main │ │ └── java │ │ └── com │ │ └── lzh │ │ └── courier │ │ └── annoapi │ │ ├── FieldType.java │ │ ├── Params.java │ │ └── Field.java ├── build.gradle └── api.iml ├── app ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ └── strings.xml │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ └── layout │ │ │ │ ├── activity_multi_type.xml │ │ │ │ ├── activity_sub.xml │ │ │ │ ├── activity_second.xml │ │ │ │ ├── activity_params.xml │ │ │ │ ├── activity_parent.xml │ │ │ │ └── activity_main.xml │ │ ├── java │ │ │ └── org │ │ │ │ └── lzh │ │ │ │ └── framework │ │ │ │ └── courier │ │ │ │ ├── EmptyActivity.java │ │ │ │ ├── SubActivity.java │ │ │ │ ├── ParentActivity.java │ │ │ │ ├── SubFragment.java │ │ │ │ ├── model │ │ │ │ └── User.java │ │ │ │ ├── ParamsActivity.java │ │ │ │ ├── MultiTypeActivity.java │ │ │ │ ├── TestFragment.java │ │ │ │ └── MainActivity.java │ │ └── AndroidManifest.xml │ └── androidTest │ │ └── java │ │ └── org │ │ └── lzh │ │ └── framework │ │ └── courier │ │ └── ApplicationTest.java ├── proguard-rules.pro ├── build.gradle └── app.iml ├── processor ├── .gitignore ├── src │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── services │ │ │ └── javax.annotation.processing.Processor │ │ └── java │ │ └── com │ │ └── lzh │ │ └── courier │ │ ├── FieldData.java │ │ ├── util │ │ ├── UtilMgr.java │ │ └── StringUtils.java │ │ ├── compiler │ │ ├── Compiler.java │ │ ├── FragmentFactory.java │ │ ├── ElementParser.java │ │ ├── ActivityFactory.java │ │ └── FileFactory.java │ │ └── reflect │ │ ├── ReflectException.java │ │ └── Reflect.java ├── build.gradle └── processor.iml ├── settings.gradle ├── .gitignore ├── capture ├── doc_password.png ├── doc_username.png └── make_project.png ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── README.md ├── gradle.properties ├── Courier.iml ├── gradlew.bat ├── gradlew └── USAGE.md /.idea/.name: -------------------------------------------------------------------------------- 1 | Courier -------------------------------------------------------------------------------- /api/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /processor/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':api', ':processor' 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | /local.properties 3 | /.idea 4 | .DS_Store 5 | /build 6 | /captures 7 | -------------------------------------------------------------------------------- /capture/doc_password.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjfnypeu/Courier/HEAD/capture/doc_password.png -------------------------------------------------------------------------------- /capture/doc_username.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjfnypeu/Courier/HEAD/capture/doc_username.png -------------------------------------------------------------------------------- /capture/make_project.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjfnypeu/Courier/HEAD/capture/make_project.png -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjfnypeu/Courier/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /processor/src/main/resources/META-INF/services/javax.annotation.processing.Processor: -------------------------------------------------------------------------------- 1 | com.lzh.courier.compiler.Compiler -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjfnypeu/Courier/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjfnypeu/Courier/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjfnypeu/Courier/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjfnypeu/Courier/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjfnypeu/Courier/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /api/src/main/java/com/lzh/courier/annoapi/FieldType.java: -------------------------------------------------------------------------------- 1 | package com.lzh.courier.annoapi; 2 | 3 | /** 4 | * @author Administrator 5 | */ 6 | public enum FieldType { 7 | Serializable, 8 | list, 9 | set, 10 | array 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Thu Jun 30 10:41:40 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /app/src/androidTest/java/org/lzh/framework/courier/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package org.lzh.framework.courier; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /app/src/main/java/org/lzh/framework/courier/EmptyActivity.java: -------------------------------------------------------------------------------- 1 | package org.lzh.framework.courier; 2 | 3 | import android.app.Activity; 4 | import android.os.Bundle; 5 | 6 | import com.lzh.courier.annoapi.Params; 7 | // 只添加@Params, 8 | @Params 9 | public class EmptyActivity extends Activity { 10 | @Override 11 | protected void onCreate(Bundle savedInstanceState) { 12 | super.onCreate(savedInstanceState); 13 | setContentView(R.layout.activity_second); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_multi_type.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Courier 3 | 跳转到空传参的页面 4 | 跳转到传参的页面 5 | 跳转到父Activity 6 | 跳转到子Activity 7 | 无传参 8 | 展示父Fragment 9 | 展示子Fragment 10 | 跳转到多类型传参页面 11 | 12 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_sub.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_second.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/java/org/lzh/framework/courier/SubActivity.java: -------------------------------------------------------------------------------- 1 | package org.lzh.framework.courier; 2 | 3 | import android.os.Bundle; 4 | 5 | import com.lzh.courier.annoapi.Field; 6 | import com.lzh.courier.annoapi.Params; 7 | 8 | 9 | @Params(fields = { 10 | @Field(name = "password",type = String.class) 11 | }) 12 | public class SubActivity extends ParentActivity { 13 | 14 | @Override 15 | protected void onCreate(Bundle savedInstanceState) { 16 | super.onCreate(savedInstanceState); 17 | SubActivityArgsData data = SubActivityArgsData.getArguments(getIntent()); 18 | password.setText(data.getPassword()); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_params.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 12 | 13 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_parent.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 |