• 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();
                    }
                }
  • 相关阅读:
    mongodb3.6 (四)net 客户端如何连接、访问mongodb集群
    mongodb3.6 副本集(三)mongodb 如何做数据备灾
    winform中如何使用确认对话框
    Centos6.5在线配置安装Java环境与Tomcat环境
    IBatis.Net 下使用SqlBulkCopy 大批量导入数据 问题解决
    【easyui-combobox】下拉菜单自动补全功能,Ajax获取远程数据源
    IDEA创建springboot异常(Failed to load class "org.slf4j.impl.StaticLoggerBinder")
    Elasticsearch6.5安装&&常见问题与答案解释
    JS实现多Div模块拖拽功能
    IView入门练习~CDN模式全局加载JS
  • 原文地址:https://www.cnblogs.com/alwaysyouare/p/2182656.html
Copyright © 2020-2023  润新知