рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ, рдореИрдВрдиреЗ рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЖрдЬрд╝рдорд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рджреЗрдЦрд╛ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред рдореИрдВ рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ рдЗрд╕ рдЕрдиреБрднрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдПрдВрдбреНрд░реЙрдЗрдб-рдПрдиреЛрдЯреЗрд╢рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЖрдкрдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ:
1. рд╕рдВрд╕рд╛рдзрди рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ
2. рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдПрдХ рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЦреЛрдЬреЗрдВ (findViewById рд╡рд┐рдзрд┐)
3. рдмрдЯрди рдХреЛ рд╣реИрдВрдбрд▓рд░ рдмрд╛рдВрдзрдирд╛
4. рд╕реЗрд╡рд╛рдПрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ (рд╕реЗрд╡рд╛ рд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдВрдХ), рдкреГрд╖реНрдарднреВрдорд┐ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рд╕рд░рд▓рддрдо рд░реВрдк рдореЗрдВ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧреА рдЪреАрдЬреЗрдВред
рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдЙрдкрд░реЛрдХреНрдд рд▓рд┐рдВрдХ рд╕реЗ рджреЛ рдЬрд╛рд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ: androidannotations-XXXjar (рдПрдиреЛрдЯреЗрд╢рди рдкреНрд░реЛрд╕реЗрд╕рд░) рдФрд░ рд╕реНрд╡рдпрдВ рдПрдкреАрдЖрдИ: androidannotations-XXX-api.jarред рдЕрдЧрд▓рд╛, рдЬрд╛рд╡рд╛ рдХрдВрдкрд╛рдЗрд▓рд░ рдЖрдЗрдЯрдо рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЧреБрдгреЛрдВ рдореЗрдВ рдЧреНрд░рд╣рдг рдкрд░ рдЬрд╛рдПрдВ, рдПрдиреЛрдЯреЗрд╢рди рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдлрд┐рд░ рдЗрд╕ рдореЗрдиреВ рдореЗрдВ рдПрдХ рдбреЙрд╡ рдбрд╛рд▓реЗрдВ - рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕рдХреНрд╖рдо рдХрд░реЗрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, рдлреИрдХреНрдЯреНрд░реА рдкрд╛рде рд╕рдм-рдЖрдЗрдЯрдо рдкрд░ рдЬрд╛рдПрдВ, рдЙрд╕реА рдбреМрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рдбрд╛рд▓реЗрдВ рдФрд░ рдПрдиреЛрдЯреЗрд╢рди рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдкрде рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП Add externak JAR рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рд╡рд╣ рд╕рдм рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЬрд╛рд╡рд╛ рдмрд┐рд▓реНрдб рдкрде рдкрд░ рдЬрд╛рдиреЗ рдФрд░ рдЗрд╕ JAR рдХреЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЯреИрдм рдореЗрдВ androidannotations-XXX-api.jar рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рдЕрдм рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИ рдФрд░ рддреИрдпрд╛рд░ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВредрдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЖрдкрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдЬрдм рдЖрдк рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рдХрдЯ рдореЗрдВ рдЖрдкрдХреА рдЧрддрд┐рд╡рд┐рдзрд┐ "_" рдЪрд┐рд╣реНрди рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдпрд╛рдиреА, рдЖрдкрдХреЗ рдкрд╛рд╕ SMSSender рдЧрддрд┐рд╡рд┐рдзрд┐ рд╣реИ, рдлрд┐рд░ рдЖрдкрдХреЛ SMSSender_ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЛ рдкреНрд░рдХрдЯ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпреЗ рдмрд╛рддреЗрдВ рд╣реИрдВред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИ:
import com.googlecode.androidannotations.annotations.*; import com.googlecode.androidannotations.annotations.res.*; @EActivity(R.layout.main) // setContentView() public class SMSSenderActivity extends Activity { @ViewById(R.id.ok_button) // findViewById() Button buttOk; @StringRes // R.string.message String message; ... @Click(R.id.ok_button) // void okClickHandler(){ ... }
рдЕрдЪреНрдЫрд╛ рд╣реИ рдирд╛? рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд╛рдорд╛рдиреНрдп рдСрдирдХреНрд░рд┐рдЯ рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реИ рдФрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рд▓реЗрдХрд┐рди рдХреБрдЫ рднреА рдЗрд╕реЗ рдЬреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рдЕрдиреНрдп рддрд░реАрдХреЗ рднреА рдмрддрд╛рддрд╛ рд╣реИред
рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ? рд╡рд┐рдХреА рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ: тАЬAndroidAnnotations рдмрд╣реБрдд рд╕рд░рд▓ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрдХрд▓рди рдХрджрдо рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдЬреЛ рдорд╛рдирдХ рдЬрд╛рд╡рд╛ рдПрдиреЛрдЯреЗрд╢рди рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред тАЭрдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдкреНрд░рдХрдЯ рдпрд╛ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдПрдХ рдЙрдкрд╕рд░реНрдЧ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рдЖрдИрдбреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрд╕рд╛рдзрди рдХреЛ рдЪрд░ рдХреЗ рдирд╛рдо рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдХреЛрдб рдХреА рдкрдардиреАрдпрддрд╛ рдХреЗ рд▓рд┐рдП рднреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рдХрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдзрд┐рдХ рд╕рдВрдкреВрд░реНрдг рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
code.google.com/p/androidannotations/source/browse/trunk/HelloWorldEclipse/src/com/googlecode/androidannotations/helloworldeclipse/MyActivity.javaрдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдореБрдЭреЗ @BeforeViews рдПрдиреЛрдЯреЗрд╢рди рдирд╣реАрдВ рдорд┐рд▓рд╛ (рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рд╕реЗ рдХреЛрдб рдореЗрдВ рд╣реИ), рд▓реЗрдХрд┐рди рд╡рд╣рд╛рдБ @BeforeCreate рд╣реИред
рдпрд╣рд╛рдБ рдХреБрдЫ рдПрдиреЛрдЯреЗрд╢рди рдЙрдкрд▓рдмреНрдз рд╣реИрдВ:
@ColorRes
@StringRes
@AnimationRes
@BooleanRes
@ColorStateListRes
@DimensionRes
@DimensionPixelOffsetRes
@DimensionPixelSizeRes
@DrawableRes
@IntArrayRes
@IntegerRes
@LayoutRes
@MovieRes
@TextRes
@TextArrayRes
@StringArrayRes
рдЕрддрд┐рд░рд┐рдХреНрдд@SystemService
рдкреГрд╖реНрдарднреВрдорд┐@UiThread
@UiThreadDelayed
@RoboGuice
рдФрд░ рдХрдИ рдЕрдиреНрдпред рд╣рд╛рдБ, рдЖрдк рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рд░реЛрдмреВрдЧрд╛рдЗрд╕ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рдЕрдЪреНрдЫрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдИ рдЪреАрдЬреЛрдВ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рдирд┐рдпрдорд┐рдд рдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд▓рдЧрд╛рддрд╛рд░ рджреЛрд╣рд░рд╛рддрд╛ рд╣реИред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реЛрдо рдкреЗрдЬ рдкрд░ рдХрдИ рдЙрджрд╛рд╣рд░рдг рдФрд░ рдбреЙрдХ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдирд┐рд╖реНрдХрд░реНрд╖рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдмрд┐рдВрджреБ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдореИрдВрдиреЗ рд╣рдлреНрддреЛрдВ рддрдХ рджреЗрдЦрд╛ рдерд╛: рдЬрдм рдЖрдк <рдЙрдкрдпреЛрдЧ-рдЕрдиреБрдорддрд┐> рдЯреИрдЧ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЯреИрдЧ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд░реНрдгрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЕрдиреНрдпрдерд╛ рдЖрд╡реЗрджрди рдкрд░ рдЕрдзрд┐рдХрд╛рд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред рдХрдо рд╕реЗ рдХрдо рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рддреАрди рдмрд╛рд░ рдРрд╕рд╛ рдерд╛, рдЬреЛ рдЗрд╕ рдХреНрд╖рдг рдХреА рдЧреИрд░-рдЖрдпрд╛рдореАрддрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рддреЛ, рд╕рд╛рд╡рдзрд╛рди!
рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рд╕рднреА рд╕реБрдЭрд╛рд╡ рдФрд░ рдкреНрд░рд╢реНрди рдкреАрдПрдо рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред
рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕рдиреЗ рдЖрдкрдХреЗ рдЕрдиреБрднрд╡ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛, рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рдпрд╣ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рд╡рд┐рд╖рдп рдкрд╣рд▓реЗ рдкрдврд╝рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛:
1) Android рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ VKontakte рдкреНрд░рд╛рдзрд┐рдХрд░рдг: рджреАрд╡рд╛рд░ рдкрд░ рдкреЛрд╕реНрдЯрд┐рдВрдЧред
2) Android рдореЗрдВ рдкреНрд░реЛрд╕реЗрд╕ рдФрд░ рдереНрд░реЗрдбреНрд╕: рд╣рдо AsyncTask рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВред
3) рдПрдВрдбреНрд░реЙрдЗрдб (SL4A) рдХреЛрдб.google.com/p/android-scripting рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рд▓реЗрдпрд░ рдХреЗ рд╕рд╛рде рдкреВрд░реНрдгрд░реВрдкреЗрдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбрд╛рд▓рдирд╛
4) рдЖрдкрдХрд╛ рд╡рд┐рдХрд▓реНрдкред