IntentBuilder, 为服务和活动提供安全的意图构建

分享于 

3分钟阅读

GitHub

  繁體 雙語
Type safe intent building for services and activities
  • 源代码名称:IntentBuilder
  • 源代码网址:http://www.github.com/emilsjolander/IntentBuilder
  • IntentBuilder源代码文档
  • IntentBuilder源代码下载
  • Git URL:
    git://www.github.com/emilsjolander/IntentBuilder.git
    Git Clone代码到本地:
    git clone http://www.github.com/emilsjolander/IntentBuilder
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/emilsjolander/IntentBuilder
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    

    面向服务和活动的#IntentBuilder 类型安全构建。

    IntentBuilder是一种安全的创建意图并使用附加工具填充它们的方法。 意图是非常动态的,但是通常不需要动态性质,而只是在编写安全代码的方式。

    ##Installation

    buildscript {
     repositories {
     jcenter()
     }
     dependencies {
     classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4' }
    }
    apply plugin: 'com.neenbedankt.android-apt'dependencies {
     compile 'se.emilsjolander:intentbuilder-api:0.14.0' apt 'se.emilsjolander:intentbuilder-compiler:0.14.0'}

    ##Usage 使用 @IntentBuilder 注释注释活动和服务,以便它们被库拾取。 对于每个带有 @IntentBuilder 注释的类,都会生成一个名为 MyActivityIntentBuilder的类,它是( 替换'myactivity'无论你的活动或者服务类的NAME 是什么,在类 NAME 中)。 如果你的活动或者服务通过目标中的参数进行参数化,那么现在可以使用 @Extra 注释中的static inject 方法。 附加项可以用 @Nullable 注释标记为可选的。

    使用IntentBuilder的示例活动:

    @IntentBuilderclassDetailActivityextendsActivity {
     @ExtraString id;
     @Extra@NullableString title;
     @OverridepublicvoidonCreate(BundlesavedInstanceState) {
     super.onCreate(savedInstanceState);
     DetailActivityIntentBuilder.inject(getIntent(), this);
     // TODO use id and title }startActivity(newDetailActivityIntentBuilder("12345")
    . title("MyTitle")
    . build(context))
    }

    使用IntentBuilder的样例服务:

    @IntentBuilderclassDownloadServiceextendsIntentService {
     @ExtraString downloadUrl;
     @OverrideprotectedvoidonHandleIntent(Intentintent) {
     MyServiceIntentBuilder.inject(intent, this);
     }
    }
    startService(newDownloadServiceIntentBuilder("http://google.com").build(context))

    ##Contributing 捐赠非常欢迎 ! 如果有意义,Bug 修复和附加功能。 打开请求请求以讨论任何更改:)


    INT  构建  服务  act  type  services