0

httpclient(apache)はAndroidアプリを開発するときに安らかなAPIを取得するのと同じように使用します

HttpGet httpget = new HttpGet("http://9.123.151.73:4414/apiv1/data");
HttpResponse response = httpclient.execute(httpget);

とxml、私は許可を設定しました:

`<uses-permission android:name="android.permission.INTERNET" />`

しかし、常にタイムアウトします。

次に、これらのケースを試します。

  1. ブラウザでURLを開くと動作します
  2. 同じコードを使用した新しい単純な Java プロジェクト、それは動作します
  3. URL を次のような他の REST API に置き換えます http://api.search.yahoo.co/NewsSearchService/V1/

では、この問題について何かアドバイスをいただけないでしょうか。Android アプリで残りの API を使用できないのはなぜでしょうか。どこが間違っているのでしょうか。

4

1 に答える 1

0

ネットワーク接続を行うための許可が設定されていないためだと思います。インターネットへのアクセスを許可するには、次の内容を AndroidMainfest.xml ファイルに追加する必要があります。

<manifest xlmns:android...>
 ...
 <uses-permission android:name="android.permission.INTERNET"></uses-permission>
</manifest>

許可の説明は次のとおりです。

INTERNET アプリケーションがネットワーク ソケットを開くことを許可します。

リンクから許可の詳細を確認できます。

Eclipse を使用している場合に許可を設定する方法は次のとおりです。

開発に Eclipse ADT プラグインを使用している場合は、Android マニフェスト エディターで「AndroidManifest.xml」を開き (プロジェクト ファイル リストから androidmanifest.xml を開くためのデフォルトのアクションである必要があります)、下部にある「アクセス許可」タブを選択します。エディターの (マニフェスト - アプリケーション - パーミッション - インストルメンテーション - AndroidManifest.xml)、次に「追加...」「使用パーミッション」を選択し、右側のドロップダウンから目的のパーミッションを選択するか、必要なものをコピーして貼り付けます (必要な「android.permission.INTERNET」権限など

http://developer.android.com/reference/android/Manifest.permission.html

于 2013-06-03T06:58:17.423 に答える