MainActivity.java
package com.json.test_02;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import org.json.JSONArray;
import org.json.JSONObject;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener{
private Button button;
private MyHandler handler;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=(Button) findViewById(R.id.button1);
button.setOnClickListener(this);
handler=new MyHandler();
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v.getId()==R.id.button1){
MyThread thread=new MyThread();
thread.start();
}
}
public String readData(InputStream inSream, String charsetName)
throws Exception {
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = -1;
while ((len = inSream.read(buffer)) != -1) {
outStream.write(buffer, 0, len);
}
byte[] data = outStream.toByteArray();
outStream.close();
inSream.close();
return new String(data, charsetName);
}
class MyThread extends Thread{
@Override
public void run() {
try {
URL url=new URL("http://192.168.43.78:8080/MyWeb_Json/myjson.json");
HttpURLConnection conn= (HttpURLConnection) url.openConnection();
InputStream input=conn.getInputStream();
String str=readData(input,"utf-8");
JSONArray array=new JSONArray(str);
for (int i = 0; i < array.length(); i++) {
JSONObject jobj=array.getJSONObject(i);
int id=jobj.getInt("id");
String name=jobj.getString("name");
Message message=new Message();
Bundle data=new Bundle();
data.putInt("id", id);
data.putString("name", name);
message.setData(data);
handler.sendMessage(message);
System.out.println(id+"---------"+name);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class MyHandler extends Handler{
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
Bundle data=msg.getData();
int id=data.getInt("id");
String name=data.getString("name");
Toast.makeText(MainActivity.this, "id:"+id+"name:"+name, Toast.LENGTH_SHORT).show();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
manifest.xml
<uses-permission android:name="android.permission.INTERNET"/>
分享到:
相关推荐
笔者近期做到对天气预报JSON数据解析,在此小记。 天气预报接口:http://wthrcdn.etouch.cn/weather_mini?citykey=101200101 JSON数据如下: { desc: OK, status: 1000, data: { wendu: 14, ganmao: 天气...
在“Android Json 解析demo”项目中,可能包含了创建JSON解析器的代码示例,以及如何在Android Studio中运行和测试这些功能的步骤。你可以通过查看项目中的JsonDemo文件来学习具体的实现细节,包括如何读取网络上的...
本教程将深入讲解Android客户端和服务器端如何进行JSON解析。 一、JSON基础 JSON是一种轻量级的文本格式,它基于JavaScript的一个子集。数据格式简单,易于人阅读和编写,同时也易于机器解析和生成。基本数据类型...
Android JSON解析jar指的是在Android项目中用于解析JSON数据的Java库,通常以.jar文件形式提供。 本主题主要关注的是`gson`库,这是一个由Google提供的强大JSON库,它允许将Java对象转换为JSON字符串,以及将JSON...
标题“Android json解析jar包”指的是在Android应用中使用特定的jar包来处理JSON数据。在Java和Android开发中,解析JSON数据通常需要引入外部库,比如Gson,因为Android SDK本身并没有内置高级的JSON解析功能。 ...
一、Android JSON解析库 Android SDK本身提供了`org.json`包,包含`JSONObject`和`JSONArray`类,可以用于基础的JSON解析。除此之外,还有许多第三方库,如Gson、Jackson、Fastjson和Square的OkHttp与Retrofit,它们...
Retrofit是另一种流行的Android网络库,它允许更优雅地处理网络请求和响应,包括JSON解析。添加依赖: ```groovy implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation '...
### Android JSON解析示例代码详解 #### 一、概述 在Android开发中,JSON作为一种轻量级的数据交换格式被广泛应用于客户端与服务器之间的数据交互。本文档将通过一个具体的示例来详细介绍如何在Android应用程序中...
4. **Android JSON解析API**:Android提供了一些基础的JSON解析API,如`JSONObject`和`JSONArray`,它们提供了解析和构建JSON的方法。但这些API较为基础,对于复杂JSON结构,可能需要手动遍历。 **三、解析JSON对象...
**Android JSON解析框架GSON详解** 在Android应用开发中,数据交换经常采用JSON格式,因为它轻量级、易于阅读和编写,并且被广泛支持。为了高效地解析和生成JSON,Google提供了一个强大的库——GSON。GSON允许将...
在Android开发中,JSON(JavaScript Object Notation)是一种轻量级的...综上,Android中将JSON解析并放入ListView涉及到网络请求、JSON解析、数据绑定等多个环节,通过合理的设计和优化,可以构建出高效、流畅的应用。
本文将详细介绍两种常用的Android JSON解析库——Gson和Fast-json,以及它们的特点、优势、基本用法,并通过实际应用案例展示如何在Android项目中有效利用它们。 1. Gson库 Gson是Google提供的一个Java库,能够将...
本篇文章将深入探讨Android平台上的JSON解析,包括基本概念、解析方法以及实际应用。 一、JSON基础知识 JSON是一种基于文本的格式,其数据结构主要由键值对(对象)和数组组成。对象以大括号{}包围,键值对以冒号:...
在Android开发中,理解并熟练使用JSON解析是至关重要的,因为它允许应用程序与服务器进行高效的数据交互。本示例将深入讲解如何在Android中解析JSON数据。 1. JSON基本结构: JSON基于JavaScript语法,但不依赖...
在Android开发中,有时我们需要从服务器获取JSON数据并解析它以展示在应用中。这个"android 动态解析获取json数据的键值对"的项目就是针对这种情况的一个实例,主要展示了如何在Eclipse环境下,不预先创建JSON键值...
通过编写配置文件,该代码生成器能自动生成相应的bean,和解析json的代码。 你需要做的是,有一个ruby环境,将配置...生成json解析代码: ruby json_parser.rb > JSONParser.java 不使用重定向,模式是打印在终端中。
理解并能熟练运用JSON解析对于一个Android开发者来说至关重要。本篇文章将深入探讨Android平台上的JSON解析源码,帮助你更好地理解和优化你的应用性能。 一、JSON基本结构 JSON主要包含两种数据结构:对象和数组。...
1. Android自带的JSON解析库:`org.json`,包含两个主要类,`JSONObject`用于处理对象,`JSONArray`用于处理数组。 2. Google推荐的Gson库:提供了一种将Java对象转换为JSON字符串,以及从JSON字符串反序列化为Java...