auto-droid AutoValue的简单扩展 项目简介
针对Android开发,对Google发布的开源库AutoValue做了一个简单扩展,可以自动构建以下功能:createFromSharedPreferences(SharedPreferences sharedPreferences)createFromCursor(Cursor cursor)Parcelable implementations if the class implements Parcelable下载在你的build.gradle文件中添加以下代码:buildscript {
dependencies {
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
}
repositories {
maven { url "https://jitpack.io" }
}
apply plugin: 'com.neenbedankt.android-apt'
dependencies {
compile 'com.github.xizzhu.auto-droid:auto-droid-annotations:0.1'
apt 'com.github.xizzhu.auto-droid:auto-droid-processors:0.1'
}使用从shared preference构建对象:// annotate your AutoValue objects as usual
@AutoValue
public abstract class MyPreference {
// indicate that the factory will retrieve the value from shared preferences
@SharedPreference(key = "keyOfMyInt", defaultValue = "8964")
abstract int myIntFromPreference();
// adds the factory method
public static MyPreference create(SharedPreferences sharedPreferences) {
return AutoValue_MyPreference.createFromSharedPreferences(sharedPreferences);
}
}从cursor构建对象:// annotate your AutoValue objects as usual
@AutoValue
public abstract class MyCursor {
// indicate that the factory will retrieve the value from cursor
@ColumnName("keyOfMyInt")
abstract int myIntFromPreference();
// adds the factory method
public static MyPreference create(Cursor cursor) {
return AutoValue_MyPreference.createFromCursor(cursor);
}
}
dependencies {
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
}
repositories {
maven { url "https://jitpack.io" }
}
apply plugin: 'com.neenbedankt.android-apt'
dependencies {
compile 'com.github.xizzhu.auto-droid:auto-droid-annotations:0.1'
apt 'com.github.xizzhu.auto-droid:auto-droid-processors:0.1'
}使用从shared preference构建对象:// annotate your AutoValue objects as usual
@AutoValue
public abstract class MyPreference {
// indicate that the factory will retrieve the value from shared preferences
@SharedPreference(key = "keyOfMyInt", defaultValue = "8964")
abstract int myIntFromPreference();
// adds the factory method
public static MyPreference create(SharedPreferences sharedPreferences) {
return AutoValue_MyPreference.createFromSharedPreferences(sharedPreferences);
}
}从cursor构建对象:// annotate your AutoValue objects as usual
@AutoValue
public abstract class MyCursor {
// indicate that the factory will retrieve the value from cursor
@ColumnName("keyOfMyInt")
abstract int myIntFromPreference();
// adds the factory method
public static MyPreference create(Cursor cursor) {
return AutoValue_MyPreference.createFromCursor(cursor);
}
}