博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Andorid之Annotation框架初使用(四)
阅读量:6218 次
发布时间:2019-06-21

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

代替繁琐的finViewById

@EActivitypublic class MyActivity extends Activity {  // Injects R.id.myEditText  @ViewById  EditText myEditText;  @ViewById(R.id.myTextView)  TextView textView;}

指定需要在视图加载完成后才能执行的方法@AfterViews

@EActivity(R.layout.main)public class MyActivity extends Activity {    @ViewById    TextView myTextView;    @AfterViews    void updateTextWithDate() {        myTextView.setText("Date: " + new Date());    }}

注意:不要在onCreate中写任何对view相关的方法

@Extra 用于传递的Intent

@EActivitypublic class MyActivity extends Activity {  @Extra("myStringExtra")  String myMessage;  @Extra("myDateExtra")  Date myDateExtraWithDefaultValue = new Date();   // The name of the extra will be "myMessage"  @Extra  String myMessage;}

onNewIntent能够根据Intent重新注入Extra

@EActivitypublic class MyActivity extends Activity {    @Extra("myStringExtra")    String myMessage;    @Override    protected void onNewIntent(Intent intent) {        setIntent(intent);    }}

 

@SystemService

no more Context.getSystemService()

@EActivitypublic class MyActivity extends Activity {  @SystemService  NotificationManager notificationManager;}

@SharedPref:

定义:

@SharedPrefpublic interface MyPrefs {        // The field name will have default value "John"    @DefaultString("John")    String name();        // The field age will have default value 42    @DefaultInt(42)    int age();        // The field lastUpdated will have default value 0    long lastUpdated();
@DefaultRes(R.string.defaultPrefName)    String resourceName();    @DefaultRes    String defaultPrefAge();
}

使用:

@EActivitypublic class MyActivity extends Activity {    @Pref    MyPrefs_ myPrefs;}// Simple editmyPrefs.name().put("John");// Batch editmyPrefs.edit()  .name()  .put("John")  .age()  .put(42)  .apply();// Preference clearing:myPrefs.clear();// Check if a value exists:boolean nameExists = myPrefs.name().exists();// Reading a valuelong lastUpdated = myPrefs.lastUpdated().get();// Reading a value and providing a fallback default valuelong now = System.currentTimeMillis();long lastUpdated = myPrefs.lastUpdated().getOr(now);

 

 

 

转载地址:http://lwoja.baihongyu.com/

你可能感兴趣的文章
linux下查看日志基本命令
查看>>
plsql导入一个目录下全部excel
查看>>
SQL Server代理(7/12):作业活动监视器
查看>>
2、Android自己的下拉刷新SwipeRefreshLayout--样式2
查看>>
利用kseq.h parse fasta/fastq 文件
查看>>
Tomcat根目录下work文件夹的作用(转载)
查看>>
iOS开发小技巧--定时器的使用技巧
查看>>
innodb 存储引擎特性
查看>>
关于Android圆形图片的一种优化方案(可以显示网络图片)
查看>>
注意字段类型是varchar2的时候是需要加长度的
查看>>
Winform开发框架之通用Windows摄像头调用拍照--SNF快速开发平台3.3-Spring.Net.Framework...
查看>>
jexus
查看>>
LabVIEW串口通信
查看>>
JavaScript变量和作用域
查看>>
js实现页面跳转的几种方式
查看>>
新概念英语(1-57)An unusual day
查看>>
Handler具体解释系列(七)——Activity.runOnUiThread()方法具体解释
查看>>
CodeForces 42C Safe cracking 规律题
查看>>
Struts中的常量
查看>>
警察与小偷的实现之中的一个client与服务端通信
查看>>