hi androidannotations
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
(;゚д゚)
@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