为了账号安全,请及时绑定邮箱和手机立即绑定

不能打印出json格式的数据

package com.example.administrator.imooclist;

import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.widget.ListView;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends Activity {
   private ListView listView;
   private static String URL = "http://www.imooc.com/api/teacher?type=4&num=30";
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
       listView = (ListView) findViewById(R.id.ListView);
       new newAsyncTask().execute(URL);
   }
   private List<newBean> getJsonData(String url) {
       List<newBean> listNewBean = new ArrayList<>();
       try {
           String jsonString = readInputStream(new URL(url).openStream());
           Log.i("EE",jsonString);
       } catch (IOException e) {
           e.printStackTrace();
       }
       return listNewBean;
   }
   //数据的读取,把json格式的数据转化为我们需要的数据
   private String readInputStream (InputStream inputStream){//InputStream字节流
       InputStreamReader inputStreamReader ;
       String result = "";
       try {
           String line ="";
           inputStreamReader = new InputStreamReader(inputStream,"utf-8");//讲字节流转化为字符流
           //通过BuffereReader将字符流以buffere的形式读出来
           BufferedReader buffereReader = new BufferedReader(inputStreamReader);
           while ((line = buffereReader.readLine())!=null){//读取的字符流拼接到result中 连成字符串
               result+=line;
           }
           inputStream.close();
           inputStreamReader.close();
           buffereReader.close();
       } catch (UnsupportedEncodingException e) {
           e.printStackTrace();
       } catch (IOException e) {
           e.printStackTrace();
       }
       return result;
   }
   class newAsyncTask extends AsyncTask<String,Void,List<newBean>>{
       @Override
       protected List<newBean> doInBackground(String... params) {
           return getJsonData(params[0]);
       }
   }
}
以上是我的代码,求解答

正在回答

2 回答

 private List<newBean> getJsonData(String url) {
       List<newBean> listNewBean = new ArrayList<>();
       try {
           String jsonString = readInputStream(new URL(url).openStream());
           Log.i("EE",jsonString);
       } catch (IOException e) {
           e.printStackTrace();
       }
       return listNewBean;
   }


这个中间缺少了代码

0 回复 有任何疑惑可以回复我~
#1

慕粉3368377 提问者

非常感谢!
2016-11-16 回复 有任何疑惑可以回复我~

没加网络访问权限


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android必学-异步加载
  • 参与学习       50627    人
  • 解答问题       311    个

了解Android中的异步加载处理方法,这是面试问的最多的知识点

进入课程

不能打印出json格式的数据

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信