現在、いくつかの Twitter 情報を DL しようとしていますが、何らかの理由で、使用しているコードがデータを返しません。
エクスプローラーで URL を手動で使用すると、データを取得できます。しかし、Androidにそれを実行させようとすると、例外が発生します。
データを取得しようとする 2 つの方法を見つけました。1枚目はご覧の通り。2 つ目は、コメントの上の 3 行をコメントアウトし、他の行のコメントを外します。
文字列を解析するために、後で単純な JSON を使用します。
私の問題を十分に説明できたことを願っています。どんなコメントでも大歓迎です。
import java.io.InputStream;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String searchUrl = "http://search.twitter.com/search.json?q=@aplusk&rpp=100&page=1";
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(searchUrl);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String responseBody = null;
Log.d("log", "test"+responseBody);
try{
responseBody = client.execute(get, responseHandler);
HttpResponse response = client.execute(get);
responseBody = response.toString();
// HttpResponse response = client.execute(get);
// InputStream inputStream = response.getEntity().getContent();
// responseBody = inputStream.toString();
Log.d("log", "test2"+responseBody);
}catch(Exception ex) {
Log.d("log", "nope");
ex.printStackTrace();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}