Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
2014.10.28 - Android Taipei - Hi AndroidAnnotations
Search
Yes
October 28, 2014
Programming
1
100
2014.10.28 - Android Taipei - Hi AndroidAnnotations
A brief sharing about AndroidAnnotations at Android Taipei.
Yes
October 28, 2014
Tweet
Share
More Decks by Yes
See All by Yes
2014.04.30 - Android Taipei - Data & PracSong
namejoshua
0
92
Other Decks in Programming
See All in Programming
ウォンテッドリーでのKMPワークフロー / KMP workflow at Wantedly
kubode
0
120
Make CPU #3 dalance
dalance
1
340
「正の影響力」を目指して書くこと
honey32
2
110
実践AI/ML ~よくあるユースケースとレコメンデーションの効果的な活用戦略~
cmnakamurashogo
0
220
The Final Frontier of Web Development: React Server Components vs Jakarta EE
ivargrimstad
0
630
最初にもらったフロントのタスクは半年以上かかりました
mitsu0428
1
110
Svelte採用記 - 位置情報と可視化の会社で、全社の標準技術スタックに選ぶまで / Svelte Japan Online Meetup #3
sorami
2
220
Improved REXML XML parsing performance using StringScanner
naitoh
0
200
HonoのRPCで真の型安全が欲しかった
kosei28
1
210
Why Spring Matters to Jakarta EE - And Vice Versa
ivargrimstad
0
310
入門プロパティベーステスト/learning-property-based-testing
kiway
6
1.1k
GoでParserを書く
karupanerura
3
560
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
244
12k
RailsConf 2023
tenderlove
9
610
Understanding Cognitive Biases in Performance Measurement
bluesmoon
12
1.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
21
2k
Producing Creativity
orderedlist
PRO
338
39k
Six Lessons from altMBA
skipperchong
22
3.1k
Building Applications with DynamoDB
mza
88
5.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
In The Pink: A Labor of Love
frogandcode
138
21k
Product Roadmaps are Hard
iamctodd
45
9.9k
Git: the NoSQL Database
bkeepers
PRO
423
63k
Building an army of robots
kneath
300
42k
Transcript
Hi! AndroidAnnotations 㥮疍 yes ! 2014.10.28 Android Taipei @ PicCollage
Story 1
public class MainActivity extends Activity { ! onCreate() { setContentView(R.id.activity_main);
} ! }
public class MainFragment extends Fragment { onCreateView() { return inflater.inflate(R.layout.fragment_main,
container, false); } ! }
public class MainFragment extends Fragment { onCreateView() { View view
= inflater.inflate(R.layout.fragment_main, container, false); ! TextView textView1 = view.findViewById(R.id.textview1); TextView textView2 = view.findViewById(R.id.textview1); TextView textView3= view.findViewById(R.id.textview1); TextView textView4 = view.findViewById(R.id.textview1); ! textView1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); return view; } ! }
public abstract class AbstractFragment extends Fragment { protected abstract int
setRootViewId(); int[] setOnClickListenerViews() {} } public class MainFragment extends AbstractFragment implement View.OnClickListener @Override protected int setRootViewId() { return R.layout.fragment_main } @Override int[] setOnClickListenerViews() { return new int[] { R.id.button_ok, R.id.button_no } } ! @Override public void onClick(View v) { switch (v.getId) { case R.id.button_ok: … } }
Story 2
Android Studio ;
support-annotations
None
(;ƅшƅʣ
@Efragment(R.layout.fragment_main) public class MainFragment extends Fragment { ! @Click(R.id.button_ok) void
ok() { … } ! ! ! ! ! ! } @LongClick(R.id.button_ok)
Fragment fragment = MainFragment_.builder().position(7).build(); @Efragment(R.layout.fragment_main) public class MainFragment extends Fragment
{ ! @FragmentArgs int position; }
@Receiver(actions = BluetoothLeService.ACTION_DATA_AVAILABLE) void onHeartRateChanged() { startHRVMeasure(); }
@EActivity @OptionsMenu(R.menu.menu_main) public class MainActivity extends Activity { ! !
! ! ! ! ! ! ! } @OptionsItem(R.id.menuitem_refresh) void refresh() { … }
@SharedPref public interface MyPrefs { @DefaultString("yes") String name(); } @EActivity
public class MyActivity extends Activity { @Pref MyPrefs_ myPrefs; String name = myPrefs.name().get(); }
@EActivity MainActivity Java's Annotation Processing Tool MainActivity_ extends MainActivity Compiler
Reference: ! AndriodAnnotations http://androidannotations.org/ ! android-apt https://bitbucket.org/hvisser/android-apt Thanks for your
listening