AutoValue的简单扩展 auto-droid

Apache
Java
Android
2016-04-12
xizzhu

针对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);
    }
}
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

通过WebView实现页面与ANDRIOD客户端的交互

为了减少由于手机客户端的变更而造成的客户端反复更新,还是决定采用WebView+页面的展示方式来作为最终的方案。也与一些做手机应用开发的一些朋友咨询过,大概也是采用类似的思路。 采用Web...

2012/10/18 21:28
480
0
手机上如何安装C++编绎器

1.下载后面的三个组件。C4droid_4.9.7.apk;GCC for C4droid_4.9.1.apk ; SDL plugin for C4droid_2.0.2.apk (如果你想的话,也可以安装QT插件) 2.先安装插件,最后安装C4droid_4.9.7.apk;...

2016/08/16 16:11
23
0
移动端网页布局中需要注意事项以及解决方法总结

移动端网页布局中需要注意事项以及解决方法总结,这份对我们在布局移动端网页的时候非常有用!

2016/07/21 11:46
40
0
垂直爬虫挖坑系列文章之droid

droid是以前就有用到过的一个垂直爬虫框架,最近要学习一下webmagic,如果有时间,可能会在git.oschina.net上放一个自己的基于webmagic开源垂直爬虫项目。 ps:还是得多写点文字性的东西,还有...

2016/11/02 19:28
41
0
Linux Mint中文字体模糊

习惯了WinXP的字体,总不习惯Linux那模糊的中文,还是XP的锐利字体比较合适我。 先安装字体 SimSun(可用文泉驿的开源点阵字体WenQuanYi Bitmap Song替代) DejaVu Sans Droid Sans DejaVu Ser...

2013/08/21 23:56
3.7K
0
ttf文件

font faces.

2015/01/30 15:52
16
0
C4droid 的多文件编译

最近无聊在手机上玩 C4droid,用 gcc 编译器。 打开一个源文件 编译单个文件很简单,直接“执行”就行。 但是稍微有点东西的程序,用一个源文件的话就非常不便,总得有几个模块。C4droid 怎么...

2016/02/19 07:56
304
1
fedora 19 安装后优化

基本针对安装完成后,尚未进行使用的系统进行的优化,主要涉及两个方面,第一个是软件的安装和优化,第二个是针对系统,卸载和禁用一些系统不常用的功能

2014/04/23 23:36
63
0
Open Sans字体

Open Sans字体

2014/11/05 10:51
371
0
Vim的NerdTree插件

一个项目文件多起来时,左边的文件树菜单是必要的。 参考:常用文件树快捷键 所有命令及推荐键盘映射:官方 在vundle插件管理的方式,直接在~/.vimrc中的Plugin段落中加入Plugin "scrooloos...

01/06 02:54
13
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部