• android中Json数据保存方式


    package com.example.savejsonproject;


    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.PrintStream;
    import java.util.Date;


    import org.json.JSONArray;
    import org.json.JSONException;
    import org.json.JSONObject;


    import android.os.Bundle;
    import android.os.Environment;
    import android.app.Activity;
    import android.view.Menu;


    public class MainActivity extends Activity {
    private String company="宜昌静哥科技软件学院";
    private String address="湖北省宜昌市宜都市枝城镇";
    private String telephone="18671736137";
    private String[] namedata={"李元静","冯新尧","何帆"};
    private int[] agedata={21,22,21};
    private boolean[] marrieddata={true,false,true};
    private double[] salarydata={8000.0,8000.0,8000.0};
    private Date[] birthdaydata={new Date(),new Date(),new Date()};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    super.setContentView(R.layout.activity_main);
    JSONObject allData=new JSONObject();   //建立最外面的JSONObject
    JSONArray array=new JSONArray();     //定义新的JSONArray对象
    for (int i = 0; i < namedata.length; i++) {    //For循环添加数据
    JSONObject temp=new JSONObject();    //创建一个新的JSONObject对象
    try {
    temp.put("name", namedata[i]);   //设置要保存的数据,直接子项的子项
    temp.put("age", agedata[i]);
    temp.put("merried", marrieddata[i]);
    temp.put("salary", salarydata[i]);
    temp.put("birthday", birthdaydata[i]);
    } catch (JSONException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    array.put(temp);
    }
    try {
    allData.put("persondata", array);   //保存所有数据
    allData.put("company", this.company);   //最外层数据
    allData.put("address", this.address);
    allData.put("telephone", this.telephone);
    } catch (JSONException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    if(!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){//判断是否存在SD卡
    return ;
    }
    File file=new File(Environment.getExternalStorageDirectory().toString()
    +File.separator+"mldndata"
    +File.separator+"json.txt");
    if(!file.getParentFile().exists()){//判断父文件是否存在,如果不存在则创建
    file.getParentFile().mkdirs();
    }
    PrintStream out=null;   //打印流
    try {
    out=new PrintStream(new FileOutputStream(file));  //实例化打印流对象 
    out.print(allData.toString());     //输出数据
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }finally{
    if(out!=null){    //如果打印流不为空,则关闭打印流
    out.close();
    }
    }
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
    }


    }

  • 相关阅读:
    kvm初体验之四:从Host登录Guest的五种方式
    kvm初体验之三:vm的安装及管理
    CentOS Wifi Connection
    kvm初体验之二:安装
    kvm初体验之一:参考文档
    有6种不同颜色的球,每种球有无数个。现在取5个球,求取出5、4、3、2种不同颜色球的概率分别为多少
    求两个字符串的最长连续子串
    不用除法来实现整数的除法运算
    抽象类和接口的区别
    o(n)的时间复杂判断回文数
  • 原文地址:https://www.cnblogs.com/snake-hand/p/3184816.html
Copyright © 2020-2023  润新知