博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AndroidAnnotations简单示例
阅读量:5041 次
发布时间:2019-06-12

本文共 2327 字,大约阅读时间需要 7 分钟。

 

 

1 @EActivity(R.layout.activity_main) 2 public class MainActivity extends Activity { 3  4     @ViewById(R.id.textView) 5     TextView textView; 6  7     @ViewById //不指定ID,默认以控件名进行查找 8             Button button; 9 10 11     @StringRes //获取资源文件值12             String hello_world;13 14     @SystemService //实例化系统服务15             NotificationManager notificationManager;16 17 18     @SystemService19     WindowManager windowManager;20 21     DisplayMetrics dm;22 23     @Click//事件控制,可以以按钮的id作为方法名24     public void buttonClicked() {25         textView.setText("值变了" + hello_world);26         Toast.makeText(MainActivity.this, "hello ", Toast.LENGTH_LONG).show();27 28         someBackgroundWork("丽丽", 5);29     }30 31     @AfterViews //初始化控件值32     public void init() {33         textView.setText("初始值 " + dm.widthPixels + " X " + dm.heightPixels);34     }35 36     @Override37     protected void onCreate(Bundle savedInstanceState) {38         super.onCreate(savedInstanceState);39 40         dm = new DisplayMetrics();41         windowManager.getDefaultDisplay().getMetrics(dm);42     }43 44     @Background //开启新线程后台运行,而且返回值类型一定是void45     void someBackgroundWork(String name, long timeToDoSomeLongComputation) {46 47         SystemClock.sleep(timeToDoSomeLongComputation);48 49         updateUi("hello " + name, Color.RED);50         showNotificationsDelayed();51     }52 53 54     @UiThread55         //UI线程56     void updateUi(String message, int color) {57 58         textView.setText(message);59         textView.setTextColor(color);60 61     }62 63 64     @UiThread(delay = 2000)65         //可以设置延时时间,以毫秒为单位66     void showNotificationsDelayed() {67         Notification notification = new Notification(R.mipmap.ic_launcher, "Hello !", 0);68         PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(), 0);69         notification.setLatestEventInfo(getApplicationContext(), "My notification", "Hello World!", contentIntent);70         notificationManager.notify(1, notification);71     }72 }

 

 

注意:

使用AndroidAnnotations,编译的时候会生成一个子类,这个子类的名称就是在原来的类之后加了一个下划线“_”,比如这个例子产生的子类名称为“MainActivity_”,这就需要你在注册这个Activity的时候,在

AndroidManifest.xml中将 MainActivity 改为 MainActivity_ ,使用的时候也是使用MainActivity_来表示此类,如

 1 startActivity(new Intent(this,MainActivity_.class));  

 

转载于:https://www.cnblogs.com/l2rf/p/4975207.html

你可能感兴趣的文章
RijndaelManaged 加密
查看>>
Android 音量调节
查看>>
HTML&CSS基础学习笔记1.28-给网页添加一个css样式
查看>>
windows上面链接使用linux上面的docker daemon
查看>>
Redis事务
查看>>
Web框架和Django基础
查看>>
python中的逻辑操作符
查看>>
CSS兼容性常见问题总结
查看>>
HDU 1548 A strange lift (Dijkstra)
查看>>
每天一个小程序—0005题(批量处理图片大小)
查看>>
C# 启动进程和杀死进程
查看>>
tcp实现交互
查看>>
IIS的各种身份验证详细测试
查看>>
JavaScript特效源码(3、菜单特效)
查看>>
聊聊、Zookeeper Linux 单服务
查看>>
Linux常用命令总结
查看>>
yii模型ar中备忘
查看>>
C#线程入门
查看>>
CSS清除浮动方法
查看>>
JVM内存回收机制简述
查看>>