位置: 编程技术 - 正文

[个人学习笔记]Android 从网络获取json并解析 --Demo

编辑:rootadmin

推荐整理分享[个人学习笔记]Android 从网络获取json并解析 --Demo,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

//网络获取json的方法public String getJsonFromInternet(String url) throws MalformedURLException,IOException {String resultString = "";InputStreamReader isrInputStreamReader = new InputStreamReader(new URL(url).openStream());//从网上获取json的字节流BufferedReader brBufferedReader = new BufferedReader(isrInputStreamReader);//将字节流转换成字符流String line = "";while ((line = brBufferedReader.readLine()) != null) {resultString &#;= line;}return resultString;//读取网上的json&#;式的字符串并返回}//需要特别注意的是获取json的方法需要脱离UI线程使用,//可以使用AsyncTask中doInBackground获取网络jsonString//用json字符串读取内部相关数据{ "weatherinfo": {//需要调用getJSONObject("weatherinfo")来获取下面的数据 "city": "杭州", "city_en": "hangzhou", "date_y": "年6月日", "date": "", "week": "星期四", "fchh": "", "cityid": "", "temp1": "℃~℃", "weather1": "阵雨转阴" }}//这个是从网上获取到的json字符串//从json字符串中获取相关的数据的方法public weather(String json) throws JSONException {// TODO Auto-generated constructor stubJSONObject ja=new JSONObject(json).getJSONObject("weatherinfo");//获取字符串中weatherinfo中的数据并复制给当前的jsonobject对象//这个是获取到jsonstring中只有一个对象数据的情况下获取数据使用的setCity(ja.getString("city"));//从ja对象中获取需要的相关信息setTime(ja.getString("date_y"));setWeek(ja.getString("week"));setWeather(ja.getString("weather1"));setTemp(ja.getString("temp1"));}// 从网上获取json并解析数据后显示在view上的demo//MainActivity.classpackage com.example.testjson;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.MalformedURLException;import java.net.URL;import org.json.JSONException;import android.app.Activity;import android.os.AsyncTask;import android.os.Bundle;import android.widget.TextView;public class MainActivity extends Activity {private weather mw;private TextView date;private TextView city;private TextView weather;private TextView temp;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);date = (TextView) findViewById(R.id.date);temp = (TextView) findViewById(R.id.temp);city = (TextView) findViewById(R.id.city);weather = (TextView) findViewById(R.id.weather);new backgetjson(date, city, weather, temp).execute(" String getJsonFromInternet(String url) throws MalformedURLException,IOException {String resultString = "";InputStreamReader isrInputStreamReader = new InputStreamReader(new URL(url).openStream());BufferedReader brBufferedReader = new BufferedReader(isrInputStreamReader);String line = "";while ((line = brBufferedReader.readLine()) != null) {resultString &#;= line;}return resultString;}class backgetjson extends AsyncTask<String, Void, String> {private weather mw;private TextView date;private TextView city;private TextView weather;private TextView temp;public backgetjson(TextView d, TextView c, TextView w, TextView t) {// TODO Auto-generated constructor stubdate = d;city = c;weather = w;temp = t;}@Overrideprotected String doInBackground(String... params) {// TODO Auto-generated method stubString jsString = "";try {jsString = getJsonFromInternet(params[0]);} catch (MalformedURLException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return jsString;}@Overrideprotected void onPostExecute(String result) {// TODO Auto-generated method stubsuper.onPostExecute(result);try {mw = new weather(result);} catch (JSONException e) {// TODO Auto-generated catch blocke.printStackTrace();}date.setText(mw.getTime());city.setText(mw.getCity());weather.setText(mw.getWeather());temp.setText(mw.getTemp());}}}//weather.classpackage com.example.testjson;import org.json.JSONException;import org.json.JSONObject;public class weather {private String city;private String time;private String week;private String weather;private String temp;public String getCity() {return city;}public void setCity(String city) {this.city = city;}public String getTime() {return time;}public void setTime(String time) {this.time = time;}public String getWeek() {return week;}public void setWeek(String week) {this.week = week;}public String getWeather() {return weather;}public void setWeather(String weather) {this.weather = weather;}public String getTemp() {return temp;}public void setTemp(String temp) {this.temp = temp;}public weather() {// TODO Auto-generated constructor stub}public weather(String json) throws JSONException {// TODO Auto-generated constructor stubJSONObject ja = new JSONObject(json).getJSONObject("weatherinfo");setCity(ja.getString("city"));setTime(ja.getString("date_y"));setWeek(ja.getString("week"));setWeather(ja.getString("weather1"));setTemp(ja.getString("temp1"));}}// 如果获取的json字符串中有如下结构的可以解析成jsonarray{ status: 1, data: -[ -{ id: 1, name: "Tony老师聊shell——环境变量配置文件", picSmall: " picBig: " description: "为你带来shell中的环境变量配置文件", learner: }, -{ id: 2, name: "数学知识在CSS动画中的应用", picSmall: " picBig: " description: "数学知识与CSS结合实现酷炫效果", learner: }, -{ id: 3, name: "Oracle数据库开发必备利器之PL/SQL基础", picSmall: " picBig: " description: "Oracle数据库高级开发必备的基础。", learner: }, -{ id: 4, name: "Android见证消息推送时刻进阶篇", picSmall: " picBig: " description: "Android消息推送就在&#;前,Come on", learner: },}//解析代码如下JSONObject ja=new JSONObject(json);JSONArray jsonarray=ja.getJSONArray("data");for (int i=0;i<jsonarray.length();i&#;&#;){ja=jsonarray.getJSONObject(i);.....//这里得到了一个jsonobject//得到一个jsonobject之后可以直接从里面获取数据。//方法与前面获取数据的方法一样可以从中获取类&#;于一个arraylist的对象}

[个人学习笔记]Android 从网络获取json并解析 --Demo

Demo 下载链接:

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

在ubuntu上搭建android开发环境(1)——安装ubuntu 电脑是年买的,到现在有点老了,运行as比较吃力。所以买了一个G的固态硬盘+8GDDR3,升级完之后,心血来潮,想在ubuntu下配置一个as开发环境。于

Android 执行 gson.toJson(object) 报java.lang.StackOverflowError异常 如下面的代码,执行后报java.lang.StackOverflowError错误:MusicSavedInfomusicSavedInfo=newMusicSavedInfo(currentStartTime,openOrCloseFlag,currentDayFlags,currentSelectMusicTitle,currentSel

Material设计非得靠Android L吗?看过来,自定View仿elevation效果! Material设计中主要就是纸和z轴的概念,如果根据z绘制出阴影效果,就基本实现了elevation效果了。先上个效果图代码不多,效果却不错,在此抛砖引玉,

标签: [个人学习笔记]Android 从网络获取json并解析 --Demo

本文链接地址:https://www.jiuchutong.com/biancheng/370912.html 转载请保留说明!

上一篇:Activity回传值实例(activity传递数据)

下一篇:在ubuntu上搭建android开发环境(1)——安装ubuntu(创建ubuntu)

  • 非关联企业借款利息扣除
  • 城市维护建设税优惠政策
  • 煤炭企业生产能力
  • 捐赠支出需要什么手续
  • 建筑公司收到材料发票
  • 企业所得税表中营业成本包括费用吗
  • 跨年的材料专票怎么做会计分录?
  • 纳税人转登记期限
  • 员工住院费用公司报销吗
  • 向金融企业借款利息支出可以税前扣除吗
  • 研发领用原材料的去向
  • 公允价值变动税务处理
  • 法人存入公户实收资本可以还其他应付款吗
  • 采购单录入、接收分配会计分录怎么写?
  • 职工福利费要交个税吗
  • 国税申报数据能修改吗
  • 发票备注有法律效力吗
  • 减税降费政策六税
  • 企业研发产品成本怎么算
  • 股东折价入股会计分录
  • 外账的结转成本是什么
  • 证券公司佣金是买卖都要收吗
  • 最早在哪一年手机可以上网
  • 投资性房地产出售时其他综合收益
  • 美国布莱斯大峡谷成因
  • 企业所得税汇算清缴账务处理
  • vite vuex
  • 小规模纳税人免税政策2023年
  • 工程结算结算gbq文件怎么做
  • 企业取得交易性金融资产时
  • 哪些农产品按照鲜品统计
  • 企业付检测费的会计科目
  • vm网络不可达
  • 车间打杂工
  • python语言接收信息的内置函数
  • 未核定月数是什么
  • 国有资产无偿划转的会计处理
  • 企业转让时应收账款如何处理
  • 建筑企业增值税收入确认时间
  • 劳务公司成本怎么算
  • 如何设置linux
  • 小规模纳税人可以做进出口贸易吗
  • 普通发票该可以抵扣吗
  • 一般纳税人购销合同印花税减免政策
  • SQLServer 2008中通过DBCC OPENTRAN和会话查询事务
  • mysql字符串索引如何排序
  • 房产租赁增值税率是5%还是9%
  • 处置固定资产亏损,增值税所得税申报不一至情况说明
  • 建筑行业怎样可以评高工
  • 汇算清缴是不是一定要做
  • 怎么才能获得音乐
  • 免抵税额要交税吗
  • 进项税已入账未认证申报表怎么填
  • 转让股权需要缴纳哪些税
  • 取现发放劳务费怎么做账
  • 可供出售金融资产和交易性金融资产
  • 运输业户
  • 汇算清缴弥补以前年度亏损多少年
  • 小规模纳税人差额纳税申报表
  • 会计核算是否健全划分为
  • 青苗赔偿管理办法
  • 什么企业可以开培训费发票
  • 什么是企业合并的具体动因之一
  • 私营公司商业汇票怎么开
  • mysql查询语句优先级
  • sql数据库死锁产生的原因及解决方案
  • xp系统可以双屏吗
  • windows远程登录命令
  • win10天气预报设置
  • 在Linux系统中安装虚拟window
  • Linux系统中如何复制虚拟机
  • 索引位置怎么是c盘?
  • unity怎么念
  • linux中的命令及含义
  • edittext弹出软键盘
  • linux中date命令详解
  • web标准有那几个方面
  • 常用python编程软件
  • 大米可以抵扣增值税吗
  • 注册税务师条件要求
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设