2011-05-11 33 views
0

私はDrupalのウェブサイトに接続するアプリを開発しています。 私が使用していますattemping次のコード:AndroidのHTTP投稿の問題

public class SignIn extends Activity { 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     try { 
      HttpClient client = new DefaultHttpClient(); 
      String postURL = "http://test2.icerge.com/testpoint/user"; 
      HttpPost post = new HttpPost(postURL); 
       List<NameValuePair> params = new ArrayList<NameValuePair>(); 
       params.add(new BasicNameValuePair("account[name]", "Bob Kelso")); 
       params.add(new BasicNameValuePair("account[pass]", "awefulawefulman")); 
       params.add(new BasicNameValuePair("account[mail]", "[email protected]")); 
       UrlEncodedFormEntity ent = new UrlEncodedFormEntity(params,HTTP.UTF_8); 
       post.setEntity(ent); 
       HttpResponse responsePOST = client.execute(post); 
       HttpEntity resEntity = responsePOST.getEntity(); 
       if (resEntity != null) {  
        Log.i("RESPONSE",EntityUtils.toString(resEntity)); 
       } 
     } catch (Exception e) { 
      e.printStackTrace(); 
      Log.i("ERROR",e.toString()); 
     } 
    } 
} 

をしかし、私はjava.net.unknownhostexceptionを得続けます。マニフェストファイルにインターネットアクセス許可が設定されています。

この問題は、エミュレータではなく実際のデバイスで発生していると言えます。 誰でも助けてください、そして、なぜこれが機能していないのか私にいくつかの示唆を与えることができますか?

答えて

1

これはAndroidエミュレータで開発する場合の一般的な問題です。 adb.exeとエミュレータを停止(強制終了)してください。通常は動作します。

+0

ええ、私にも起こります。これを修正するには、しばらくの間、エミュレータを再起動する必要があります。迷惑ですが、スナップショットではもう痛みはそれほどありません。 – dmon

+0

こんにちは、 応答ありがとうが、私はこの問題はエミュレータではなく、実際のデバイス上で起こっていると言及する必要があります。 – sisko

+0

私はhttp://hubpages.com/hub/Tips-to-solve-the-UnknownHostException-on-Androidのチュートリアルを読んでいて、エミュレータでテストすることに決めました。驚くことではないが、私のアプリは私の実際のデバイスになかったのと同じように動作しませんでした。しかし、驚いたことに、私はandroid.permission.INTERNETをテストするためにウェブサイトにアクセスするためにエミュレータブラウザを使ってみました - うまくいきませんでした。 – sisko

1

401は、適切に認証する必要があることを意味します。サイトでフォームベースのログインまたはHTTP基本認証が使用されていますか?基本認証を使用する場合は、適切な認証ヘッダーを設定する必要があります。 Basic Authの実行方法については、http://hc.apache.org/httpcomponents-client-ga/httpclient/examples/org/apache/http/examples/client/ClientAuthentication.javaの例を参照してください。