- 轉(zhuǎn)載請(qǐng)注明出處贯涎,謝謝
Realm的安裝和fastjson的安裝這里就不詳細(xì)說(shuō)了。詳細(xì)的文檔在這里 https://realm.io/docs/java/ 蠢沿,最好看英文文檔伸头,中文文檔,不是最新的舷蟀,而且看起來(lái)別扭恤磷。
現(xiàn)在Realm Java 的最新版本是 1.1.0,fastjson Android的版本是1.1.52
安裝Realm Java
在項(xiàng)目中(最外層的build.gradle文件)build.gradle中增加
buildscript {
repositories {
jcenter()
}
dependencies {
classpath "io.realm:realm-gradle-plugin:1.1.0"
}
}
在應(yīng)用中(一般是名為app模型)build.gradle增加
apply plugin: 'realm-android'
安裝fastjson
在應(yīng)用中(一般是名為app模型)build.gradle增加
compile 'com.alibaba:fastjson:1.1.52.android'
現(xiàn)在我們寫(xiě)一個(gè)模型
/**
*
* 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對(duì)象通過(guò)fastjson轉(zhuǎn)為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+"");
}
}
這個(gè)時(shí)候野宜,我以為可以完美的運(yùn)行了扫步,但是運(yùn)行的時(shí)候,報(bào)異常了匈子。
java.lang.NoClassDefFoundError: rx.Observable
at libcore.reflect.InternalNames.getClass(InternalNames.java:55)
...
怎么解決河胎?這里有兩種方法。虎敦。
第一種:直接使用 RxJava
第二種游岳,不想使用 RxJava
,那就創(chuàng)建一個(gè) Observable
空文件
package rx;
public class Observable {
// Dummy class required for Jackson-Databind support if
// RxJava is not a project dependency.
}
其實(shí)解決方案是官方提供的其徙,只是里面的例子是Jackson而我用的是國(guó)產(chǎn)fastjson
Realm 的詳細(xì)使用這里就不說(shuō)了胚迫。。唾那。有很多小伙伴分享了晌区,但我還是建議看官方文檔 https://realm.io/docs/java/