• Android 网络数据读取及解析


    微博网络数据获取及解析的示例

    OAuth auth = new OAuth();
                String url 
    = "http://api.t.sina.com.cn/statuses/friends_timeline.json";
                List
    <BasicNameValuePair> params = new ArrayList<BasicNameValuePair>();
                params.add(
    new BasicNameValuePair("source",auth.consumerKey));
                HttpResponse response 
    = auth.SignRequest(user.getId(), user.getTokenSecret(), url, params);
                
                
    if(200 == response.getStatusLine().getStatusCode())
                {
                    
    try{
                        InputStream is 
    = response.getEntity().getContent();
                        Reader reader 
    = new BufferedReader(new InputStreamReader(is),4096);
                        StringBuilder buffer 
    = new StringBuilder((int)response.getEntity().getContentLength());
                        
    try{
                            
    char[] tmp = new char[1024];
                            
    int l;
                            
    while((l=reader.read(tmp))!= -1)
                            {
                                buffer.append(tmp,
    0,l);
                            }
                        }
    finally
                        {
                            reader.close();                       
                        }
                        
                        String string 
    = buffer.toString();
                        ((org.apache.http.HttpResponse) response).getEntity().consumeContent();
                        JSONArray data 
    = new JSONArray(string);
                        
                        
    for(int i=0; i<data.length();i++)
                        {
                            JSONObject d 
    = data.getJSONObject(i);
                            
    if(d!=null)
                            {
                                JSONObject u 
    = d.getJSONObject("user");
                                
    if(d.has("retweeted_status"))
                                {
                                    JSONObject r 
    = d.getJSONObject("retweeted_status");                                
                                }
                                
                                
    //微博id
                                String id=d.getString("id");
                                String userId
    =u.getString("id");
                                String userName
    =u.getString("screen_name");
                                String userIcon
    =u.getString("profile_image_url");
    //                            Log.e("userIcon", userIcon);
                                String time=d.getString("created_at");
                                String text
    =d.getString("text");
                                Boolean haveImg
    =false;
                                
    if(d.has("thumbnail_pic")){
                                    haveImg
    =true;
                                    
    //String thumbnail_pic=d.getString("thumbnail_pic");
                                    
    //Log.e("thumbnail_pic", thumbnail_pic);
                                }
                                
                                Date startDate
    =new Date(time);
                                Date nowDate 
    = Calendar.getInstance().getTime();
                                time
    =new DateUtilsDef().twoDateDistance(startDate,nowDate);
                                
    if(wbList==null){
                                    wbList
    =new ArrayList<WeiBoInfo>();
                                }
                                WeiBoInfo w
    =new WeiBoInfo();
                                w.setId(id);
                                w.setUserId(userId);
                                w.setUserName(userName);
                                w.setTime(time 
    +" 前");
                                w.setText(text);
                                
                                w.setHaveImage(haveImg);
                                w.setUserIcon(userIcon);
                                wbList.add(w);
                            }
                        }
                        
                        
                    } 
    catch (IOException e) {
                        
    // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    
    catch (JSONException e){
                        e.printStackTrace();
                    }
                    
    catch (IllegalStateException e)
                    {
                        e.printStackTrace();
                    }
                }
  • 相关阅读:
    mysql读写分离
    mysql主从同步
    mysql修改密码
    mysql单机安装以及语法,alter表
    zabbix主动监控
    数据集
    K-近邻算法
    常规套路
    区分子类方法中重名的三种变量
    Java的数学工具类Math
  • 原文地址:https://www.cnblogs.com/alwaysyouare/p/2182656.html
Copyright © 2020-2023  润新知