写点什么

AndroidAnnotation,android 计算器实验报告

用户头像
Android架构
关注
发布于: 刚刚

@ViewById(R.id.btn)


public Button btn;


@Click(R.id.btn)


void myClick(){


Toast.makeText(this,"AndroidAnnotations",Toast.LENGTH_SHORT).show();


}


}


//还可以对多个按钮注解点击事件


@Click({R.id.button1,R.id.button2,R.id.button3})


void buttonClicked(Button btn){


switch(btn.getId()){


case R.id.button1:


//这里实现 button1 的点击事件


break;


...


}


}


4.@AfterViews:只有所有 View 都注入完毕之后,才会执行该注解的方法,一般进行一些初始化的操作


@EActivity(R.layout.activity_main)


public class MainActivity extends Activity {


@ViewById(R.id.btn)


public Button btn;


@Click(R.id.btn)


void myClick(){


Toast.makeText(this,"AndroidAnnotations",Toast.LENGTH_SHORT).show();


}


@AfterViews


void init(){


btn.setText("按钮注入完毕后才执行此方法");


}


}


5.@Extrs(String params):获得其它地方跳转过来时所传递过来的数据,括号中的字符串即为传递过来的数据的 key


Intent intent = new Intent(MainActivity.this,SecondActivity_.class);


Bundle bundle = new Bundle();


bundle.putString("hello","hello");


intent.putExtras(bundle);


startActivity(intent);


@Extra("hello")


String params;


6.@Background 和 @UiThread 这两个通常结合用,前一个用来写后台方法,后一个专注于 UI 控件的操作


@Background 作用:相当于用来进行后台操作的方法(比如请求网络资源,操作文件等等),被 Backgroung 注解的方法里面不能进行任何 UI 操作,否则会报错。


@Background


void httprequest(){


//进行 http 操作


//操作数据库


//操作文件


}


@UiThread 作用:相当于用来进行 UI 控件的操作,被 UiThread 注解的方法里面不能进行任何后台操作,否则会报错


@UiThread


void runinUI(){


Toast.makeText(this,"AndroidAnnotations",Toast.LENGTH_SHORT).show();


}


7.@EFragment:用来标识某个类属于 fragment 并指定到布局文件


@EFragment(R.layout.layout_myfragment)


public class MyFragment extends Fragment{


}


8.@FragmentArg:用来给当前 Fragment 接收别的地方传来的数据,给 myfragment 传递一个参数


@EActivity(R.layout.activity_main)


public class MainActivity extends Activity {


@ViewById(R.id.btn)


public Button btn;


@Clic


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


k(R.id.btn)


void myClick(){


MyFragment fragment = new MyFragment_();


Bundle bundle = new Bundle();


bundle.putString("hello","...");


//设置传递的参数


fragment.setArguments(bundle);


FragmentTransaction transaction = getFragmentManager().beginTransaction();


transaction.add(R.id.content, fragment);


transaction.commit();


}


}


myfragment 接收一个 hello 的参数


@EFragment(R.layout.layout_myfragment)


public class MyFragment extends Fragment{


@FragmentArg("hello")


String params;


@AfterViews


void init(){


Toast.makeText(getActivity(), params, Toast.LENGTH_SHORT).show();


}


}


9.@StringRes(R.string.xxx):资源文件注解,相当于在 strings.xml 文件中设置了


<string name="app_name">My Application</string>

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
AndroidAnnotation,android计算器实验报告