AndroidStudio 是如何配置Annotation呢~
1.在AS中复制jar到lib
(自己去网站下吧:https://github.com/excilys/androidannotations/wiki/Download)
2.在build.gradle中更改如下
apply plugin: 'com.android.application' apply plugin: 'android-apt' def AAVersion = '3.3.2' // change this to your desired version, for example the latest stable: 3.3.2 android { compileSdkVersion 22 buildToolsVersion "23.0.0 rc3" defaultConfig { applicationId "intentservice.example.com.mvp" minSdkVersion 14 targetSdkVersion 22 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:22.2.1' apt "org.androidannotations:androidannotations:$AAVersion" compile "org.androidannotations:androidannotations-api:$AAVersion" } apt { arguments { androidManifestFile variant.outputs[0].processResources.manifestFile // if you have multiple outputs (when using splits), you may want to have other index than 0 // If you're using flavors you should use the following line instead of hard-coded packageName // resourcePackageName android.defaultConfig.packageName // You can set optional annotation processing options here, like these commented options: // logLevel 'INFO' // logFile '/var/log/aa.log' } }3.定义你的Activity
@EActivity(R.layout.activity_annotation) public class AnnotationActivity extends AppCompatActivity { @ViewById(R.id.button) Button button; @ViewById(R.id.textView2) TextView textView2; @ViewById TextView textView3; @ViewsById({R.id.textView2,R.id.textView3}) List<TextView>list; @Extra(MainActivity.NAME_KEY) String name; @Extra(MainActivity.AGE_KEY) String age; @StringRes() String custom; @Click(R.id.button)//也可以使用{,}设置多个 public void buttonOnClick() { Toast.makeText(AnnotationActivity.this,"StartService",Toast.LENGTH_LONG).show(); Intent intent =new Intent(this,MyService_.class); startService(intent); } @AfterViews public void setTextView() { textView2.setText(name); textView3.setText(custom); } // @AfterViews // public void setTextViews() // { // for (TextView textView:list) // textView.setText("ViewsById"); // } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } }
4.修改Maitfest( 注意:name 以_结尾否则报错)
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".AnnotationActivity_" android:label="@string/title_activity_annotation" > </activity> <service android:name=".MyService_"></service> </application>5.更多注解标签的使用请关注
https://github.com/excilys/androidannotations/wiki/AvailableAnnotations