zoukankan      html  css  js  c++  java
  • 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;
    }


    }

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    很久以前写的一个功能测试用例
    中外白领和无领的一天
    Five bugs in five minutes...
    Oracle SQL 性能优化技巧
    10款常用Java测试工具[转载]
    AJAX、AJAX实例及AJAX源代码(asp)
    各大银行的暗示[笑话]
    Tomcat集群与负载均衡(转载)
    简述CMMI2级的7个PA
    全面介绍单元测试 -转贴
  • 原文地址:https://www.cnblogs.com/liyuanjinglyj/p/4656607.html
Copyright © 2011-2022 走看看