热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

AndroidAnnotations简单示例

1EActivity(R.layout.activity_main)2publicclassMainActivityextendsActivity{34ViewById(R.id.

 

 

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 @SystemService
19 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 @Override
37 protected void onCreate(Bundle savedInstanceState) {
38 super.onCreate(savedInstanceState);
39
40 dm = new DisplayMetrics();
41 windowManager.getDefaultDisplay().getMetrics(dm);
42 }
43
44 @Background //开启新线程后台运行,而且返回值类型一定是void
45 void someBackgroundWork(String name, long timeToDoSomeLongComputation) {
46
47 SystemClock.sleep(timeToDoSomeLongComputation);
48
49 updateUi("hello " + name, Color.RED);
50 showNotificationsDelayed();
51 }
52
53
54 @UiThread
55 //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



推荐阅读
  • 短视频app源码,Android开发底部滑出菜单首先依赖三方库implementationandroidx.appcompat:appcompat:1.2.0im ... [详细]
  • vue引入echarts地图的四种方式
    一、vue中引入echart1、安装echarts:npminstallecharts--save2、在main.js文件中引入echarts实例:  Vue.prototype.$echartsecharts3、在需要用到echart图形的vue文件中引入:   importechartsfrom"echarts";4、如果用到map(地图),还 ... [详细]
  • WPF项目学习.一
    WPF项目搭建版权声明:本文为博主初学经验,未经博主允许不得转载。一、前言记录在学习与制作WPF过程中遇到的解决方案。使用MVVM的优点是数据和视图分离,双向绑定,低耦合,可重用行 ... [详细]
  • 我有一个从C项目编译的.o文件,该文件引用了名为init_static_pool ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面Android异步处理二:使用AsyncTask异步更新UI界面Android异步处理三:Handler+Loope ... [详细]
  • iOS snow animation
    CTSnowAnimationView.hCTMyCtripCreatedbyalexon1614.Copyright©2016年ctrip.Allrightsreserved.# ... [详细]
  • 本文介绍了如何使用Python爬取妙笔阁小说网仙侠系列中所有小说的信息,并将其保存为TXT和CSV格式。主要内容包括如何构造请求头以避免被网站封禁,以及如何利用XPath解析HTML并提取所需信息。 ... [详细]
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • 本文将介绍如何在混合开发(Hybrid)应用中实现Native与HTML5的交互,包括基本概念、学习目标以及具体的实现步骤。 ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 实验九:使用SharedPreferences存储简单数据
    本实验旨在帮助学生理解和掌握使用SharedPreferences存储和读取简单数据的方法,包括程序参数和用户选项。 ... [详细]
  • 本文主要介绍如何使用标签来优化Android应用的UI布局,通过减少不必要的视图层次,提高应用性能。 ... [详细]
  • 使用Tkinter构建51Ape无损音乐爬虫UI
    本文介绍了如何使用Python的内置模块Tkinter来构建一个简单的用户界面,用于爬取51Ape网站上的无损音乐百度云链接。虽然Tkinter入门相对简单,但在实际开发过程中由于文档不足可能会带来一些不便。 ... [详细]
author-avatar
mobiledu2502913627
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有