私はAndroidプログラミングの初心者です。リンクに接続して応答を取得しようとしています。例:https ://stackoverflow.com/
以前HttpResponse
は応答を取得してから、EntityUtils.toString(rp.getEntity())
関数を使用して応答を文字列に変換していました。私のコードはエミュレーターで完全に実行されていますが、実際のデバイス、つまりSamsung Galaxy Tab 7.0でプロジェクトを実行しようとすると、実行されず、「残念ながら...が停止しました」と表示されます。
なぜこれが起こっているのか、そして解決策は何ですか?コードは次のとおりです。
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView txt = (TextView) findViewById(R.id.textView1);
String pageStr = "***";
try
{
HttpClient hc = new DefaultHttpClient();
HttpPost post = new HttpPost("https://stackoverflow.com/");
HttpResponse rp = hc.execute(post);
if(rp.getStatusLine().getStatusCode() == HttpStatus.SC_OK)
{
pageStr = EntityUtils.toString(rp.getEntity());
}
else
{
Toast.makeText(getApplicationContext(), "Failed!!", Toast.LENGTH_LONG).show();
}
}catch(IOException e){
e.printStackTrace();
}
txt.setText(pageStr);
}
}
manifest
ファイルで次の権限を使用しました。
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
この問題に関するヘルプや提案は大歓迎です。