"晴天"天气app的开源库逐步学习(三)
2015-06-01 10:49
561 查看
今天用到了androidannotations这个开源库,用这个框架写Activity可以省去很多代码,项目简单明了,据说可以做到依赖注入,简化的线程模型,事件绑定,Rest
Client,NO Magic。有些东西我也用不到,你可以去看项目 地址:https://github.com/excilys/androidannotations 其他注解:https://github.com/excilys/androidannotations/wiki/AvailableAnnotations
使用步骤的话,我是直接下载项目,然后把androidannotations-api-3.3.1.jar直接放到项目里的libs文件夹里,然后右键Build-Path->Add
To Build Path即可。
布局的话在布局里面是有一个按钮的,注意button的id在xml和activity里面必须一样才能加括号。
当出现多个按钮时:
@Fullscreen就是全屏显示了
@EActivity(R.layouy.xxx)这个可以直接使用显示布局,所以比之前的setcontentview方便多了
@ViewById(R.id.xxx)这个也是直接传id,也比以前方便多了,有个用法是在xml里面定义id比如android:id="@+id/textview",然后在@ViewById后面直接写
TextView textview的话可以不用写括号里面的东西,很方便吧
@afterView结果的显示必须放在这里面,不然会报错
最最重要的一点是使用[b]androidannotations,在AndroidManiFest.xml里注册的Activity的名字后面必须加个下划线。比如自己的Activity是MyActivity,注册的时候必须用MyActivity_!!!包括跳到其他Activity的时候也是:[/b]
反正还有很多注解,看字面意思吧
Client,NO Magic。有些东西我也用不到,你可以去看项目 地址:https://github.com/excilys/androidannotations 其他注解:https://github.com/excilys/androidannotations/wiki/AvailableAnnotations
使用步骤的话,我是直接下载项目,然后把androidannotations-api-3.3.1.jar直接放到项目里的libs文件夹里,然后右键Build-Path->Add
To Build Path即可。
<pre name="code" class="java" style="font-family: Helvetica, arial, nimbussansl, liberationsans, freesans, clean, sans-serif, 'Segoe UI Emoji', 'Segoe UI Symbol';">package com.sdf.goodweather.activity; import org.androidannotations.annotations.AfterViews; import org.androidannotations.annotations.Click; import org.androidannotations.annotations.EActivity; import org.androidannotations.annotations.Fullscreen; import com.sdf.goodweather.R; @Fullscreen @EActivity(R.layout.activity_start) public class StartActivity extends BaseActivity { @ViewById(R.id.etText) EditText et_Input; @ViewById(R.id.textView) TextView tv_View; @AfterViews void initActivity() { // TODO Auto-generated method stub } @Click void myClick() { String text=et_Input.getText().toString;
</pre><pre name="code" class="java" style="font-family: Helvetica, arial, nimbussansl, liberati 4000 onsans, freesans, clean, sans-serif, 'Segoe UI Emoji', 'Segoe UI Symbol';"> }
@afterView
tv_View.setText(text);
} }
布局的话在布局里面是有一个按钮的,注意button的id在xml和activity里面必须一样才能加括号。
当出现多个按钮时:
<pre name="code" class="java">@Click(R.id.button1,R.id.button2,R.id.button3)
void myClick(Button button){
switch(button.getId()){
R.id.button1:
break;
}
}
@Fullscreen就是全屏显示了
@EActivity(R.layouy.xxx)这个可以直接使用显示布局,所以比之前的setcontentview方便多了
@ViewById(R.id.xxx)这个也是直接传id,也比以前方便多了,有个用法是在xml里面定义id比如android:id="@+id/textview",然后在@ViewById后面直接写
TextView textview的话可以不用写括号里面的东西,很方便吧
@afterView结果的显示必须放在这里面,不然会报错
最最重要的一点是使用[b]androidannotations,在AndroidManiFest.xml里注册的Activity的名字后面必须加个下划线。比如自己的Activity是MyActivity,注册的时候必须用MyActivity_!!!包括跳到其他Activity的时候也是:[/b]
Intent intent=new Intent(this,otherActivity_.class); startActivity(intent);
反正还有很多注解,看字面意思吧
Enhanced components @EActivity @EApplication @EBean @EFragment @EProvider @EReceiver @EIntentService @EService @EView @EViewGroup Injection @AfterExtras @AfterInject @AfterViews @App @Bean @Extra @FragmentArg @FragmentById @FragmentByTag @FromHtml @HttpsClient @NonConfigurationInstance @RootContext @SystemService @ViewById @ViewsById Event binding @TextChange @AfterTextChange @BeforeTextChange @EditorAction @FocusChange @CheckedChange @Touch @Click @LongClick @ItemClick @ItemLongClick @ItemSelect @OptionsItem @SeekBarProgressChange @SeekBarTouchStart @SeekBarTouchStop Threading @Background @UiThread @SupposeBackground @SupposeUiThread Misc @InstanceState @WindowFeature @Fullscreen @CustomTitle @OptionsMenu @OptionsMenuItem @OrmLiteDao @RoboGuice @Trace @Transactional @OnActivityResult @OnActivityResult.Extra @HierarchyViewerSupport @ServiceAction @Receiver @Receiver.Extra @ReceiverAction @ReceiverAction.Extra @IgnoredWhenDetached @WakeLock Resource injection @StringRes @AnimationRes @ColorRes @DimensionPixelOffsetRes @DimensionPixelSizeRes @DimensionRes @BooleanRes @ColorStateListRes @DrawableRes @IntArrayRes @IntegerRes @LayoutRes @MovieRes @StringArrayRes @TextArrayRes @TextRes @HtmlRes Rest API @Rest @RestService @Get @Post @Put @Delete @Options @Head @Accept @RequiresHeader @RequiresCookie @RequiresCookieInUrl @RequiresAuthentication @SetsCookie @RequiresCookieInUrl Typesafe SharedPreferences @DefaultBoolean @DefaultFloat @DefaultInt @DefaultLong @DefaultString @DefaultStringSet @DefaultRes @Pref @SharedPref Preference API helpers @PreferenceScreen @PreferenceHeaders @PreferenceByKey @PreferenceChange @PreferenceClick @AfterPreferences暂时就先这样了==
相关文章推荐
- Android的AdapterViewFlipper和Stackview-android学习之旅(三十)
- Android的AdapterViewFlipper和Stackview-android学习之旅(三十)
- Android的AdapterViewFlipper和Stackview-android学习之旅(三十)
- Android 命令行编译、打包生成apk文件
- 40个开源APP项目
- 一个下载图片的小程序
- 浅析Android中的visibility属性
- 深入iOS开发-持续更新~
- iOS--二维码生成和扫描
- Android ADB使用之详细篇
- Android Fragment 真正的完全解析(下)
- android TextView增加下划线或者删除线
- Android 最火框架XUtils之注解机制详解
- Android中如何布局实现,长按后出现选择框
- Android action使用大全
- IOS基础:Objective-C 字符串处理
- Android开发之查看应用包名package和入口activity名称的方法
- ios基础笔记(一)
- Android Dialog使用举例 7种形式的
- 网易新闻iOS版使用的18个开源组件