0

基本的に、データベース側にいくつかのメンバーを設定しました。データベースにデータを投稿する登録フォームも作成しましたが、プログラムがアクティビティを開始しないという問題があります。httppost の部分をコメントアウトすると機能するので、私の問題はすべて PHP ファイルに関係していると思いますが、私が行った Java コードを投稿しました。別の質問では、PHP コードを投稿します。

try
{
    httpclient = new default HttpClient();
    httppost = new HttpPost("");
    nameValuePair = new arrayList < NameValuePair > (1);
    nameValuePair . add(new BasicNameValuePair("email", email . getText() . toString() . trim()));
    nameValuePair . add(new BasicNameValuePair("password", password . getText() . toString() . trim()));
    httppost . setEntity(new UrlEncodedF or mEntity(nameValuePair));
    response = httpclient . execute(httppost);
    ResponseHandler < String > responseHandler = new BasicResponseHandler();
     final Stringresponse = httpclient . execute(httppost, responseHandler);
    loginErrorMsg . setText("" + response);

    if(response . equalsIgnorecase ("Log in Successful"))
    {
        startActivity(new Intent(LoginActivity . this, HomescreenActivity . class ));
    }
}
catch(Exceptione)
{
    e.printStackTrace();
}
4

3 に答える 3

0

インターネットのアクセス許可を要求しましたか?

    <uses-permission android:name="android.permission.INTERNET" />
于 2013-02-23T19:52:08.873 に答える
0

スタック トレースを表示しないと問題を特定するのは困難ですが、問題は UI(メイン) スレッドでネットワーク リクエストを行うことにあると言えます。

すべてのネットワーク タスクを別のスレッドで実行する必要があります。

チュートリアルについては、このリンクを参照してください。

于 2013-02-23T19:50:05.683 に答える
0
    nameValuePair = new ArrayList<NameValuePair>(1);

    nameValuePair.add(new BasicNameValuePair("email", email.getText().toString().trim()));
    nameValuePair.add(new BasicNameValuePair("password", password.getText().toString().trim()));
    httppost.setEntity(new UrlEncodedFormEntity(nameValuePair));

    response = httpclient.execute(httppost);

    ResponseHandler<String> responseHandler = new BasicResponseHandler();
    final HttpResponse responsed = httpclient.execute(httppost, responseHandler);

    final String response= EntityUtils.toString(responsed .getEntity());

    loginErrorMsg.setText(""+response);

     if(response.equalsIgnoreCase("Log in Successful"))
          startActivity(new Intent(LoginActivity.this, HomescreenActivity.class));                                                                       
}
catch(Exception e){
        e.printStackTrace();
}
于 2013-02-23T19:55:54.653 に答える