hi androidannotations
TRANSCRIPT
![Page 1: Hi AndroidAnnotations](https://reader030.vdocuments.mx/reader030/viewer/2022032617/55ad3c0c1a28abbf7b8b476e/html5/thumbnails/1.jpg)
Hi!AndroidAnnotations
yes !
2014.10.28 Android Taipei @ PicCollage
![Page 2: Hi AndroidAnnotations](https://reader030.vdocuments.mx/reader030/viewer/2022032617/55ad3c0c1a28abbf7b8b476e/html5/thumbnails/2.jpg)
Story 1
![Page 3: Hi AndroidAnnotations](https://reader030.vdocuments.mx/reader030/viewer/2022032617/55ad3c0c1a28abbf7b8b476e/html5/thumbnails/3.jpg)
public class MainActivity extends Activity { ! onCreate() { setContentView(R.id.activity_main); } !}
![Page 4: Hi AndroidAnnotations](https://reader030.vdocuments.mx/reader030/viewer/2022032617/55ad3c0c1a28abbf7b8b476e/html5/thumbnails/4.jpg)
public class MainFragment extends Fragment { onCreateView() { return inflater.inflate(R.layout.fragment_main, container, false); } !}
![Page 5: Hi AndroidAnnotations](https://reader030.vdocuments.mx/reader030/viewer/2022032617/55ad3c0c1a28abbf7b8b476e/html5/thumbnails/5.jpg)
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; } !}
![Page 6: Hi AndroidAnnotations](https://reader030.vdocuments.mx/reader030/viewer/2022032617/55ad3c0c1a28abbf7b8b476e/html5/thumbnails/6.jpg)
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: … } }
![Page 7: Hi AndroidAnnotations](https://reader030.vdocuments.mx/reader030/viewer/2022032617/55ad3c0c1a28abbf7b8b476e/html5/thumbnails/7.jpg)
Story 2
![Page 8: Hi AndroidAnnotations](https://reader030.vdocuments.mx/reader030/viewer/2022032617/55ad3c0c1a28abbf7b8b476e/html5/thumbnails/8.jpg)
Android Studio;
![Page 9: Hi AndroidAnnotations](https://reader030.vdocuments.mx/reader030/viewer/2022032617/55ad3c0c1a28abbf7b8b476e/html5/thumbnails/9.jpg)
support-annotations
![Page 10: Hi AndroidAnnotations](https://reader030.vdocuments.mx/reader030/viewer/2022032617/55ad3c0c1a28abbf7b8b476e/html5/thumbnails/10.jpg)
![Page 11: Hi AndroidAnnotations](https://reader030.vdocuments.mx/reader030/viewer/2022032617/55ad3c0c1a28abbf7b8b476e/html5/thumbnails/11.jpg)
(;゚д゚)
![Page 12: Hi AndroidAnnotations](https://reader030.vdocuments.mx/reader030/viewer/2022032617/55ad3c0c1a28abbf7b8b476e/html5/thumbnails/12.jpg)
@Efragment(R.layout.fragment_main) public class MainFragment extends Fragment { ! @Click(R.id.button_ok) void ok() { … } !!!!!!}
@LongClick(R.id.button_ok)
![Page 13: Hi AndroidAnnotations](https://reader030.vdocuments.mx/reader030/viewer/2022032617/55ad3c0c1a28abbf7b8b476e/html5/thumbnails/13.jpg)
Fragment fragment = MainFragment_.builder().position(7).build();
@Efragment(R.layout.fragment_main) public class MainFragment extends Fragment { ! @FragmentArgs int position; }
![Page 14: Hi AndroidAnnotations](https://reader030.vdocuments.mx/reader030/viewer/2022032617/55ad3c0c1a28abbf7b8b476e/html5/thumbnails/14.jpg)
@Receiver(actions = BluetoothLeService.ACTION_DATA_AVAILABLE) void onHeartRateChanged() { startHRVMeasure(); }
![Page 15: Hi AndroidAnnotations](https://reader030.vdocuments.mx/reader030/viewer/2022032617/55ad3c0c1a28abbf7b8b476e/html5/thumbnails/15.jpg)
@EActivity @OptionsMenu(R.menu.menu_main) public class MainActivity extends Activity { !!!!!!!!!}
@OptionsItem(R.id.menuitem_refresh) void refresh() { … }
![Page 16: Hi AndroidAnnotations](https://reader030.vdocuments.mx/reader030/viewer/2022032617/55ad3c0c1a28abbf7b8b476e/html5/thumbnails/16.jpg)
@SharedPref public interface MyPrefs { @DefaultString("yes") String name(); }
@EActivity public class MyActivity extends Activity { @Pref MyPrefs_ myPrefs; String name = myPrefs.name().get(); }
![Page 17: Hi AndroidAnnotations](https://reader030.vdocuments.mx/reader030/viewer/2022032617/55ad3c0c1a28abbf7b8b476e/html5/thumbnails/17.jpg)
@EActivity MainActivity
Java's Annotation Processing Tool
MainActivity_ extends MainActivity
Compiler
![Page 18: Hi AndroidAnnotations](https://reader030.vdocuments.mx/reader030/viewer/2022032617/55ad3c0c1a28abbf7b8b476e/html5/thumbnails/18.jpg)
Reference: !AndriodAnnotations http://androidannotations.org/ !android-apt https://bitbucket.org/hvisser/android-apt
Thanks for your listening