2015年7月24日 星期五

[Android] ActiveAndroid 入門

ActiveAndroid 是輕量型 ORM 可以存取 SQLite。 只要幾個步驟就可以簡單使用。

在 build.gradle 設置:

repositories {
    mavenCentral()
    maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}

dependencies {
    ...
    compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'
}

在 AndroidManifest.xml 指定啓動點:

<manifest ...>
    <application android:name="com.activeandroid.app.Application" ...>
    </application>
</manifest>

定義 POJO:

@Table(name = "USER")
public class User extends Model
{
    @Column(name = "NAME")
    private String name;

    public User() {}

    public User(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }

    public void setName(String name)
    {
        this.name = name;
    }
}
List<User> data = new Select().from(User.class).execute();

⚠ 一定要有預設建構子。
⚠ #execute() 會回傳 null 值。



如果出現以下錯誤,

Suppressed: java.lang.ClassNotFoundException: android.support.v4.util.LruCache
        at java.lang.Class.classForName(Native Method)
        at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
        at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
        ... 17 more
在 build.gradle 設定:
    compile 'com.android.support:appcompat-v7:22.2.+'

參考資料:https://github.com/pardom/ActiveAndroid

Android Studio 1.2.1.1
    compileSdkVersion 22
    buildToolsVersion "23.0.0 rc3"

沒有留言:

張貼留言

[Java] Invalid HTTP method: PATCH

最近系統需要使用 Netty4,所以把衝突的 Netty3 拆掉,然後就出現了例外。 pom.xml <dependency> <groupId>com.ning</groupId> <artifactId>as...