0

現在使用している通常の http 投稿ではなく、json を使用してユーザー名とパスワードを投稿する方法を見つけようとしています。私は理解するためにほとんどのチュートリアルと例を調べてきましたが、それでもアイデアを得ることができませんでした. SQLからデータを取得するために使用できるjsonフェーザーがありますが、post jsonからは取得できません。

お手伝いありがとう

以下は、現在使用されているjson投稿です

EditText uname = (EditText) findViewById(R.id.log_Eu_name);
            String username = uname.getText().toString();

            EditText pword = (EditText) findViewById(R.id.log_Epass);
            String password = pword.getText().toString();

            String result = new String();
            result = "";

            ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
            nameValuePairs
                    .add(new BasicNameValuePair("username", username));
            nameValuePairs
                    .add(new BasicNameValuePair("password", password));

            InputStream is = null;
            try {
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost("http://www.loshwickphotography.com/log.php");
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                HttpResponse response = httpclient.execute(httppost);
                HttpEntity entity = response.getEntity();
                is = entity.getContent();
                Log.w("SENCIDE", "Execute HTTP Post Request");

                String str = inputStreamToString(
                        response.getEntity().getContent()).toString();
                Log.w("SENCIDE", str);

                if (str.toString().equalsIgnoreCase("true")) {
                    Log.w("SENCIDE", "TRUE");
                    Toast.makeText(getApplicationContext(),
                            "FUking hell yeh!", Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(getApplicationContext(),
                            "Sorry it failed", Toast.LENGTH_SHORT).show();
                }
            } catch (Exception e) {

                Log.e("log_tag", "Error in http connection " + e.toString());
            }
            try {
                BufferedReader reader = new BufferedReader(
                        new InputStreamReader(is, "iso-8859-1"), 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.e("log_tag", "Error converting result " + e.toString());
            }

            try {
                if (result != null) {
                    JSONArray jArray = new JSONArray(result);
                    Log.i("log_tag", Integer.toString(jArray.length()));
                    for (int i = 0; i < jArray.length(); i++) {
                        JSONObject json_data = jArray.getJSONObject(i);

                    }
                } else {
                    Toast.makeText(getApplicationContext(), "NULL",
                            Toast.LENGTH_SHORT).show();
                }

            } catch (JSONException e) {
                Log.e("log_tag", "Error parsing data " + e.toString());

            }
        }

        private Object inputStreamToString(InputStream is) {
            // TODO Auto-generated method stub
            String line = "";
            StringBuilder total = new StringBuilder();
            // Wrap a BufferedReader around the InputStream
            BufferedReader rd = new BufferedReader(
                    new InputStreamReader(is));
            // Read response until the end
            try {
                while ((line = rd.readLine()) != null) {
                    total.append(line);
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
            // Return full string
            return total;
        }

    });

これは私が書いたもので正しいですか?

このための PHP の書き方は?

4

1 に答える 1

2

これを使って

    JSONObject myjson=new JSONObject();
        myjson.put("userName", "someOne");
        myjson.put("password", "123");

StringEntity se = new StringEntity(myjson.toString());

httpPost.setEntity(se);

于 2012-07-12T07:05:23.677 に答える