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;
    }


    }

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

  • 相关阅读:
    Spring学习(九)
    NPOI的一些基本操作
    WebClient请求接口,get和post方法
    树结构关系的数据导出为excel
    AOP实践--利用MVC5 Filter实现登录状态判断
    js小结
    (转)基于http协议的api接口对于客户端的身份认证方式以及安全措施
    C# 下载文件 只利用文件的存放路径来下载
    linux nginx启动 重启 关闭命令
    两种 js下载文件的方法(转)
  • 原文地址:https://www.cnblogs.com/liyuanjinglyj/p/4656607.html
Copyright © 2011-2022 走看看