Vitamin Saber

Additional

Language
Java
Version
N/A
Created
Mar 18, 2015
Updated
Dec 31, 2018 (Retired)
Owner
w2ji
Contributors
Stéphane Nicolas (stephanenicolas)
w2ji
2
Activity
Badge
Generate
Download
Source code

Vitamin Saber

Vitamin Saber provides resource injection for Android (@InjectResource(resId)). It is annotation processor based and will provide all the speed you need on Android by avoiding reflection.

The code was originally a fork of the Extra dependency library Dart.

Usages

Injecting into activity or fragment:

class ExampleActivity extends Activity {
  @InjectResource(R.string.hello) String str1;
  @InjectResource(R.color.red) int color;

  @Override public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.simple_activity);
    VitaminSaber.inject(this);
  }
}

Injecting into object class:

public class SampleObject {
    @InjectResource (R.string.app_name) public String appName;

    public SampleObject (Context context){
        VitaminSaber.inject(context, this);
    }
}

Supported Resource Types

    anim,
    animator,
    array,
    attr, <- Not supported
    bool,
    color,
    dimen,
    drawable,
    fraction, <- Not supported
    integer,
    interpolator, <- Not supported
    layout,
    menu, <- Not supported
    mipmap, <- Not supported
    plurals, <- Not supported
    raw, <- Not supported
    string,
    style, <- Not supported
    xml

Gradle Dependency

Add the following lines to your gradle dependency

compile "com.w2ji.vitaminsaber:vitaminsaber:1.0.2"

Proguard

If Proguard is enabled be sure to add these rules on your configuration:

-dontwarn com.w2ji.vitaminsaber.internal.**
-keep class **$$ResourceInjector { *; }
-keepnames class * { @com.w2ji.vitaminsaber.InjectResource *;}

Credits

Vitamin Saber has been possible thanks to Groupon !

And, yes, we are hiring Android coders.

Vitamin Saber is part of our open source effort.

License

Copyright 2015 Wentao Ji

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.