Simple Gson dụ:
public class Main {
public class Power {
private String name;
private Long damage;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getDamage() {
return damage;
}
public void setDamage(Long damage) {
this.damage = damage;
}
public Power() {
super();
}
public Power(String name, Long damage) {
super();
this.name = name;
this.damage = damage;
}
@Override
public String toString() {
return "Power [name=" + name + ", damage=" + damage + "]";
}
}
public class Warrior {
private String name;
private Power power;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Power getPower() {
return power;
}
public void setPower(Power power) {
this.power = power;
}
public Warrior() {
super();
}
public Warrior(String name, Power power) {
super();
this.name = name;
this.power = power;
}
@Override
public String toString() {
return "Warrior [name=" + name + ", power=" + power.toString() + "]";
}
}
public static void main(String[] args) {
Main m = new Main();
m.run();
}
private void run() {
Warrior jake = new Warrior("Jake the dog", new Power("Rubber hand", 123l));
String jsonJake = new Gson().toJson(jake);
System.out.println("Json:"+jsonJake);
Warrior returnToWarrior = new Gson().fromJson(jsonJake, Warrior.class);
System.out.println("Object:"+returnToWarrior.toString());
}
}
Anyways kiểm tra các documentation.
Và để duy trì một cái gì đó trong ứng dụng của bạn, bạn có thể bắt đầu với một cái gì đó đơn giản như ORMlite.
Hy vọng trợ giúp này! :]
UPDATE:
Nếu bạn thực sự muốn viết json trong một tập tin:
File myFile = new File("/sdcard/myjsonstuff.txt");
myFile.createNewFile();
FileOutputStream fOut = new FileOutputStream(myFile);
OutputStreamWriter myOutWriter =new OutputStreamWriter(fOut);
myOutWriter.append(myJsonString);
myOutWriter.close();
fOut.close();
Và nếu bạn muốn đọc:
File myFile = new File("/sdcard/myjsonstuff.txt");
FileInputStream fIn = new FileInputStream(myFile);
BufferedReader myReader = new BufferedReader(new InputStreamReader(fIn));
String aDataRow = "";
String aBuffer = ""; //Holds the text
while ((aDataRow = myReader.readLine()) != null)
{
aBuffer += aDataRow ;
}
myReader.close();
Ngoài ra thêm: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
vào tệp kê khai của bạn.
Nhưng, nghiêm túc là tốt hơn rất nhiều khi sử dụng ORM và lưu trữ các bản ghi trong db. Tôi không biết tại sao bạn cần lưu dữ liệu json trong một tập tin, nhưng nếu tôi là bạn, tôi sẽ sử dụng cách ORM.
Điều này dường như không phải là vấn đề với Gson, có vẻ như bạn đang tìm kiếm thông tin về cách tạo tệp trên thiết bị Android ... –
@RayStojonic Tôi chưa bao giờ nói đó là vấn đề. Tôi không thể tìm thấy bất kỳ thông tin tốt về cách sử dụng nó. – Deekor
Có thể điều này có thể giúp bạn: http://developer.android.com/training/basics/data-storage/files.html – giampaolo