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 AndroidAnnotat...
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
94
Other Decks in Programming
See All in Programming
Node-REDのノードの開発・活用事例とコミュニティとの関わり(Node-RED Con Nagoya 2025)
404background
0
110
Google Opal解体新書
mickey_kubo
3
100
AI 駆動開発におけるコミュニティと AWS CDK の価値
konokenj
5
300
Temporal Knowledge Graphで作る! 時間変化するナレッジを扱うAI Agentの世界
po3rin
5
1.1k
Register is more than clipboard
satorunooshie
1
180
Dive into Triton Internals
appleparan
0
360
ボトムアップの生成AI活用を推進する社内AIエージェント開発
aku11i
0
1.4k
モテるデスク環境
mozumasu
3
1.4k
AI時代に必須!状況言語化スキル / ai-context-verbalization
minodriven
2
250
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
480
20251016_Rails News ~Rails 8.1の足音を聴く~
morimorihoge
3
900
Module Proxyのマニアックな話 / Niche Topics in Module Proxy
kuro_kurorrr
0
360
Featured
See All Featured
KATA
mclloyd
PRO
32
15k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Balancing Empowerment & Direction
lara
5
710
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.3k
Six Lessons from altMBA
skipperchong
29
4k
The Language of Interfaces
destraynor
162
25k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
2
210
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Mobile First: as difficult as doing things right
swwweet
225
10k
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