"The ratio of time spent reading [code] versus writing is well over 10 to 1 [therefore] making it easy to read makes it easier to write." - Robert C. Martin
#Is your Android code easy to write, read, and maintain?
@EActivity(R.layout.translate) // Sets content view to R.layout.translate
public class TranslateActivity extends Activity {
@ViewById // Injects R.id.textInput
EditText textInput;
@ViewById(R.id.myTextView) // Injects R.id.myTextView
TextView result;
@AnimationRes // Injects android.R.anim.fade_in
Animation fadeIn;
@Click // When R.id.doTranslate button is clicked
void doTranslate() {
translateInBackground(textInput.getText().toString());
}
@Background // Executed in a background thread
void translateInBackground(String textToTranslate) {
String translatedText = callGoogleTranslate(textToTranslate);
showResult(translatedText);
}
@UiThread // Executed in the ui thread
void showResult(String translatedText) {
result.setText(translatedText);
result.startAnimation(fadeIn);
}
// [...]
}
AndroidAnnotations provide those good things for less than 50kb, without any perf impact!
Get Started, then read the cookbook |
---|
Your app here | VuzZz | App EasyShare | Capico | Magic 8 Ball |
---|---|---|---|---|
Your app here | ||||
Light Saber Jedi | Electric Shaver | SMS Scheduler | Coin Flip | Screen broken |
Application Du Jour | Air Horn | Tao Po | Report Your Love | Mobilogue |
SunShine Horoscope | ||||
The project logo is based on the Android logo, created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License.
Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions.