hi androidannotations

18
Hi AndroidAnnotations 㥮疍 yes 2014.10.28 Android Taipei @ PicCollage

Upload: tsung-yeh-lee

Post on 21-Jul-2015

140 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Hi AndroidAnnotations

Hi!AndroidAnnotations

yes !

2014.10.28 Android Taipei @ PicCollage

Page 2: Hi AndroidAnnotations

Story 1

Page 3: Hi AndroidAnnotations

public class MainActivity extends Activity { ! onCreate() { setContentView(R.id.activity_main); } !}

Page 4: Hi AndroidAnnotations

public class MainFragment extends Fragment { onCreateView() { return inflater.inflate(R.layout.fragment_main, container, false); } !}

Page 5: Hi AndroidAnnotations

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

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

Story 2

Page 8: Hi AndroidAnnotations

Android Studio;

Page 9: Hi AndroidAnnotations

support-annotations

Page 10: Hi AndroidAnnotations
Page 11: Hi AndroidAnnotations

(;゚д゚)

Page 12: Hi AndroidAnnotations

@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

Fragment fragment = MainFragment_.builder().position(7).build();

@Efragment(R.layout.fragment_main) public class MainFragment extends Fragment { ! @FragmentArgs int position; }

Page 14: Hi AndroidAnnotations

@Receiver(actions = BluetoothLeService.ACTION_DATA_AVAILABLE) void onHeartRateChanged() { startHRVMeasure(); }

Page 15: Hi AndroidAnnotations

@EActivity @OptionsMenu(R.menu.menu_main) public class MainActivity extends Activity { !!!!!!!!!}

@OptionsItem(R.id.menuitem_refresh) void refresh() { … }

Page 16: Hi AndroidAnnotations

@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

@EActivity MainActivity

Java's Annotation Processing Tool

MainActivity_ extends MainActivity

Compiler

Page 18: Hi AndroidAnnotations

Reference: !AndriodAnnotations http://androidannotations.org/ !android-apt https://bitbucket.org/hvisser/android-apt

Thanks for your listening