hi androidannotations

Post on 21-Jul-2015

139 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

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

top related