1 下面是一个简单的json 解析的demo,废话不多说,直接上代码

package com.sky.gallery;

import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.SocketTimeoutException;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.json.JSONArray;
import org.json.JSONObject;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class ctivity extends Activity {
    //音乐

private static String GAME_URL = "http://api.k.sohu.com/api/photos/list.go?rt=json&categoryId=2&pageSize=4&p1=NTc1MzY0OTc2NzAxNjA0MjUyMw%3D%3D";

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_activity);
        
        
        startGetGameListThread();
        
    }

public  void startGetGameListThread() {

new Thread() {

@Override
            public void run() {
                String jsonStr = null;
                int errorCode = 0;

try { // 读取数据 j
                    jsonStr = getGameJsonStr(GAME_URL);
                    Log.i("test", "jsonStr = " + jsonStr);
                    //parseAppList(jsonStr);

} catch (Exception e) {
                    e.printStackTrace();
                    errorCode = 1;
                } finally {

}

}

}.start();
    }

private static String getGameJsonStr(String url) throws Exception {
        Log.i("test", "getGameJsonStr(). url = " + url);

String jsonStr = null;

final HttpParams httpParameters = new BasicHttpParams();
        HttpConnectionParams.setConnectionTimeout(httpParameters, 6000);
        HttpConnectionParams.setSoTimeout(httpParameters, 6000);

final DefaultHttpClient client = new DefaultHttpClient(httpParameters);

final HttpGet get = new HttpGet(url);
        HttpResponse resp;

resp = client.execute(get);
        final HttpEntity entity = resp.getEntity();
        final InputStream is = entity.getContent();
        jsonStr = readToEnd(is);
        is.close();

return jsonStr;
    }

private static String readToEnd(InputStream input) throws IOException,
            SocketTimeoutException {
        final DataInputStream dis = new DataInputStream(input);
        final byte[] stuff = new byte[1024];
        final ByteArrayOutputStream buff = new ByteArrayOutputStream();
        int read = 0;
        while ((read = dis.read(stuff)) != -1) {
            buff.write(stuff, 0, read);
        }

return new String(buff.toByteArray());
    }

private static void log(String msg) {
        Log.v("test", msg);
    }
    private void parseAppList(String jsonStr) throws Exception {
        Log.v("test", "sssssssssssssssssssssssssssssssss");
        try {
            /*
             * final JSONObject root = new JSONObject(jsonStr); Log.i("test",
             * "root = " + root);
             */
         JSONObject oo = new JSONObject(jsonStr);
         JSONArray array = oo.getJSONArray("videos");
            //final JSONArray array = new JSONArray(jsonStr);
            for (int i = 0; i < 20; ++i) {
                //JSONObject obj = array.getJSONObject(i);

AppModle one = addOneGameModel(array.getJSONObject(i));
                Log.i("test", "每一个对象的  "+i+"         "+one.getTitle());
                Log.i("test", "每一个对象的  "+i+"         "+one.getId());
                 Log.i("test", "每一个对象的  "+i+"         "+one.getArtistName());
                
            }

} catch (Exception e) {
            e.printStackTrace();
        }
    }

private static AppModle addOneGameModel(JSONObject game) throws Exception {
        AppModle one = new AppModle();
/*
        one.setId(game.getInt("id"));
        one.setTitle(game.getString("title"));
       one.setArtistName(game.getString("artistName"));*/
        return one;
    }

}

android json 解析 简单示例的更多相关文章

  1. android json 解析简单实例

    Android JSON解析跟JAVA 的JSON解析原理是一样的. Android自带的JSON方式跟方便,不需要导包啥的.不深究原理了,直接上代码: public class JsonActivi ...

  2. android json解析及简单例子+Android与服务器端数据交互+Android精彩案例【申明:来源于网络】

    android json解析及简单例子+Android与服务器端数据交互+Android精彩案例[申明:来源于网络] android json解析及简单例子:http://www.open-open. ...

  3. Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例

    Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例 继上篇json解析,我用了原生的json解析,但是在有些情况下我们不得不承认,一些优秀的json解析框架确实十分的 ...

  4. Android Json解析与总结

    一.JSON定义 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Progra ...

  5. Android JSON 解析关键代码

    Android Json 解析其实还是蛮重要的知识点,为什么这么说呢,因为安卓通信大部分的协议都是使用 json 的方式传输,我知道以前大部分是使用的 xml ,但是时代在发展社会在进步,json 成 ...

  6. android json解析及简单例子

    JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据 ...

  7. 【转】android json解析及简单例子

    JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据 ...

  8. Android JSON解析插件

    JSON是一种轻量级的数据格式,用于数据的交互. Android交互数据主要两种方式:JSON和 XML.XML格式比JSON格式数量略大,所以大多都使用Json数据格式. 在Android开发的过程 ...

  9. android json解析详细介绍之gson

    废话不多说,什么json是轻量级数据交换标准:自己百度去深入了解:这里有三种json解析工具.本人只用过其中两种:    1.Google Json利器之Gson   评价:简单,方便. 2.阿里巴巴 ...

随机推荐

  1. File类常见方法

    package file; import java.io.File; public class FileTest2 { public static void main(String[] args) { ...

  2. StrPos,StrScan,

    Delphi提供的字符串函数里有一个Pos函数,它的定义是: function Pos(Substr: string; S: string): Integer; 它的作用是在字符串S中查找字符串Sub ...

  3. set global read_only=0; 关闭只读,可以读写 set global read_only=1; 开始只读模式

    mysql> set global read_only=0; Query OK, 0 rows affected (0.00 sec) mysql> show variables like ...

  4. 怎样让js不产生冲突,避免全局变量的泛滥,合理运用命名空间

    为了避免变量之间的覆盖与冲突.能够生成命名空间.命名空间是一种特殊的前缀,在js中,通过{ }对象实现. 在不同的匿名函数中,依据功能声明一个不同的命名空间,每一个匿名函数中GLOBAL对象的属性都不 ...

  5. android中关于ListView的卡位说明

    需求:做项目的时候,需要将ListView的header的一个Tab卡位,即listView滑动后,Header的某一个部分可以定在ListView的顶端卡住. 解决的方案:监听ListView的滑动 ...

  6. PHP - 字符串操作

    第8章 字符串处理 学习要点: 1.字符串格式化 2.操作子字符串 3.字符串比较 4.查找替换字符串 5.处理中文字符 在每天的编程工作中,处理.调整以至最后控制字符串是很重要的一部分,一般也认为这 ...

  7. 幻世(OurDream)2D图形引擎使用教程9——处理操作输入(3)

    声明:本教程版权归Lizcst Software Lab所有,欢迎转载,但是转载必须保留本段声明文字,并注明文章来源:http://blog.csdn.net/kflizcst 谢谢合作! 现在我们该 ...

  8. QT的动态翻译功能,可能依赖于消息(事件)机制

    QTranslator translator; bool b = translator.load(QString(":/qm/lang_en"));以后,无论使用QObject的t ...

  9. Windows Phone 9再见了!

    因为需要准备注册电气工程师考试,因此Windows Phone 8初学者教程的翻译只能就此打住了,在考完后,也许就是Windows Phone 9发布的时候还会回来! Bye bye!

  10. HDU 4046 Panda (ACM ICPC 2011北京赛区网络赛)

    HDU 4046 Panda (ACM ICPC 2011北京赛区网络赛) Panda Time Limit: 10000/4000 MS (Java/Others)    Memory Limit: ...