【问题标题】:How to get response from twitter in android?如何在android中获得twitter的响应?
【发布时间】:2012-03-16 12:50:38
【问题描述】:

我创建了一个应用程序,我想在其中列出我的所有关注者。为此,我必须通过 twitter api,

https://api.twitter.com/1/followers/ids.json?cursor=-1&screen_name=twitterapi

我正在研究它,我尝试下面的代码来获取它的响应,

HttpPost post = new HttpPost("https://api.twitter.com/1/followers/ids.json?cursor=-1&screen_name=twitterapi");
HttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(post);
HttpEntity entity = response.getEntity();

String responseText = EntityUtils.toString(entity);
Log.i(TAG,"Response---"+responseText);

日志打印如下,

Response---{"error":"\u0907\u0938 \u0935\u093f\u0927\u093f \u0915\u094b \u091c\u0940\u0908\u091f\u0940 \u0915\u0940 \u0906\u0935\u0936\u094d\u092f\u0915\u0924\u093e \u0939\u0948.","request":"\/1\/followers\/ids.json?cursor=-1&screen_name=twitterapi"}

你能告诉我从它那里得到响应的正确方法,所以我可以获取 Json 数组吗?

提前致谢。

【问题讨论】:

    标签: android twitter twitter-follow


    【解决方案1】:

    使用以下代码....

    首先创建主类,

    public class FollowersData
    {
            String url = "http://api.twitter.com/1/followers/ids.json?screen_name=twitterapi";
            private String[] s;
    
            public void FollowersIdDetails() 
            {
                InputStream source = retrieveStream(url);
                Gson gson = new Gson();
                Reader reader = new InputStreamReader(source);
                SearchResponse response = gson.fromJson(reader, SearchResponse.class);
                s = response.getTwitterUserId();
            }
    
            private InputStream retrieveStream(String url) 
            {
                DefaultHttpClient client = new DefaultHttpClient(); 
                HttpGet getRequest = new HttpGet(url);
    
                try 
                {
                       HttpResponse getResponse = client.execute(getRequest);
                       final int statusCode = getResponse.getStatusLine().getStatusCode();
    
                       if (statusCode != HttpStatus.SC_OK) 
                       { 
                              Log.w(getClass().getSimpleName(), "Error " + statusCode + " for URL " + url); 
                              return null;
                       }
                       HttpEntity getResponseEntity = getResponse.getEntity();
                       return getResponseEntity.getContent();
                } 
                catch (IOException e) 
                {
                       getRequest.abort();
                       Log.w(getClass().getSimpleName(), "Error for URL " + url, e);
                }
                return null;
             }
    }
    

    比创建第二个解析类,

    public class SearchResponse 
    {
            @SerializedName("ids")
            private String[] twitterUserId;
    
            public String[] getTwitterUserId() 
            {
                return twitterUserId;
            }
            public void setTwitterUserId(String[] twitterUserId) 
            {
                this.twitterUserId = twitterUserId;
            }
    }
    

    最后你会在你的主类中得到 response(String[] s)....:)

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-20
    • 2012-01-18
    • 2011-10-24
    • 2015-03-20
    • 1970-01-01
    • 2014-12-21
    • 1970-01-01
    相关资源
    最近更新 更多