0

Web サービス (PHP スクリプトのみ) を使用して mysqldatabase をクエリする Android アプリケーションを構築しています。現時点では認証システムはありませんが、ユーザーが mysqldatabase でユーザー名とパスワードを使用してログを記録した後、php セッションを作成したいと思います...現時点では、スクリプトへのすべての接続は次のように機能します。

public static long getOnlineAlarm(long taskID) {

    long alarm = -1;

    String result = null;
    InputStream is = null;

    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();

    nameValuePairs.add(new BasicNameValuePair("taskID", String.valueOf(taskID)));

    try {
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost(
                "http://192.168.1.13/spotnshare/getOnlineAlarm.php");
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
        HttpResponse response = httpclient.execute(httppost);

        HttpEntity entity = response.getEntity();
        is = entity.getContent();

    } catch (Exception e) {
        Log.i("taghttppost", "" + e.toString());

    }

    // conversion de la réponse en chaine de caractère
    try {
        BufferedReader reader = new BufferedReader(new InputStreamReader(
                is, "UTF-8"));

        StringBuilder sb = new StringBuilder();

        String line = null;

        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }

        is.close();

        result = sb.toString();
    } catch (Exception e) {
        Log.i("tagconvertstr", "" + e.toString());
    }
    // recuperation des donnees json
    try {
        Log.i("tagconvertstr", "[" + result + "]");

        JSONObject jObj = new JSONObject(result);

        alarm = jObj.getLong("alarm");
        return alarm;

    } catch (JSONException e) {
        Log.i("tagjsonexp", "" + e.toString());
    } catch (ParseException e) {
        Log.i("tagjsonpars", "" + e.toString());
    }

    return alarm;
}

そこで、新しい DefaultHttpClient(); を作成します。スクリプトを使用するたびに、php セッションの問題になりますか? または、サーバーはとにかくクライアントを認識できますか?

4

1 に答える 1

1

あなたが見ているのは、セッションごとに何らかの形式の一意の識別子を使用することです。

基本的に、ログイン時のデータベースへの最初の呼び出しで、sessionID が返されます。次に、その後のすべての呼び出しで、sessionID を php スクリプトに渡します (すべての php スクリプトで)。これは、この種の実装で私が見た中で最も一般的な方法です。

于 2012-08-02T19:24:32.040 に答える