android realm 简书,Android fastjson和Realm的完美结合,有坑

转载请注明出处,谢谢

Realm的安装和fastjson的安装这里就不详细说了。详细的文档在这里 https://realm.io/docs/java/ ,最好看英文文档,中文文档,不是最新的,而且看起来别扭。

现在Realm Java 的最新版本是 1.1.0,fastjson Android的版本是1.1.52

安装Realm Java

在项目中(最外层的build.gradle文件)build.gradle中增加

buildscript {

repositories {

jcenter()

}

dependencies {

classpath "io.realm:realm-gradle-plugin:1.1.0"

}

}

在应用中(一般是名为app模型)build.gradle增加

apply plugin: 'realm-android'

安装fastjson

在应用中(一般是名为app模型)build.gradle增加

compile 'com.alibaba:fastjson:1.1.52.android'

现在我们写一个模型

/**

*

* Created by quanke(http://quanke.name) on 2016/7/18.

*/

public class User extends RealmObject implements Serializable{

public User() {

}

private String name;

private int age;

@Ignore

private int sessionId;

// Standard getters & setters generated by your IDE…

public String getName() { return name; }

public void setName(String name) { this.name = name; }

public int getAge() { return age; }

public void setAge(int age) { this.age = age; }

public int getSessionId() { return sessionId; }

public void setSessionId(int sessionId) { this.sessionId = sessionId; }

}

把User对象通过fastjson转为String

/**

* Created by quanke(http://quanke.name) on 2016/7/18.

*/

public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

User user = new User();

user.setAge(2);

user.setName("http://quanke.name");

String userStr = JSON.toJSONString(user);

Log.d("userStr:",userStr);

User userObj = JSON.parseObject(userStr,User.class);

Log.d("userObj:",userObj+"");

}

}

这个时候,我以为可以完美的运行了,但是运行的时候,报异常了。

java.lang.NoClassDefFoundError: rx.Observable

at libcore.reflect.InternalNames.getClass(InternalNames.java:55)

...

怎么解决?这里有两种方法。。

第一种:直接使用 RxJava

第二种,不想使用 RxJava,那就创建一个 Observable 空文件

package rx;

public class Observable {

// Dummy class required for Jackson-Databind support if

// RxJava is not a project dependency.

}

其实解决方案是官方提供的,只是里面的例子是Jackson而我用的是国产fastjson

Realm 的详细使用这里就不说了。。。有很多小伙伴分享了,但我还是建议看官方文档 https://realm.io/docs/java/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值