亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用okhttp3制作登錄頁面

如何使用okhttp3制作登錄頁面

慕標5832272 2022-11-30 13:18:54
在 Android Studio 中,我在我的項目中設置了一個帶有 OkHttp 的登錄頁面,但我在 OkHttp 連接中遇到了一個小問題。我不知道如何創建 POST 正文。下面是我的代碼:    btn_login.setOnClickListener(new View.OnClickListener() {                                     @Override                                     public void onClick(View v) {                                         if (isNetworkAvailable()) {                                             userLogin();                                             final String email = inemail.getText().toString().trim();                                             final String password = inpass.getText().toString().trim();                                             okHttpClient = new OkHttpClient();                                             MediaType mediaType = MediaType.parse("application/json");                                             RequestBody body = RequestBody.create(mediaType, "{\"action\":\"patientappointmentlist\",\"tokenid\":\"j9394je902jew92jeY9j\",\"user\":"+email+",\"pass\":"+password+"}");當我將 RequestBody 更改為:RequestBody body = RequestBody.create(mediaType, "{\"action\":\"patientappointmentlist\",\"tokenid\":\"j9394je902jew92jeY9j\",\"user\":"apptester",\"pass\":"123456"}");它工作正常。雖然我在應用程序中正確輸入了電子郵件和密碼。請幫我。
查看完整描述

1 回答

?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

下面是一個使用 POST 方法的 OKHttp 連接示例。


此示例代碼login_username.getText().toString())將獲取您在用戶名 edittext 中輸入的文本。


當用戶輸入用戶名和密碼正確時,它會重定向到 HomeActivity.class


代碼:


private void submitForm() throws IOException {

    try

    {

        urlAPI = new URL("http://testsiteprog.com./accounts/signin.php");

    }

    catch (MalformedURLException e)

    {

        e.printStackTrace();

    }


    OkHttpClient client = new OkHttpClient();


    //INPUT *GETTEXT

    JSONObject jsonObject = new JSONObject();

    try {

        jsonObject.put("username", login_username.getText().toString());

        jsonObject.put("password", login_password.getText().toString());

        jsonObject.put("ipaddress", get_publicIPaddress);

    }

    catch (JSONException e) {

        e.printStackTrace();

    }


    MediaType JSON =MediaType.parse("application/json; charset=utf-8");


    RequestBody requestBody =  RequestBody.create(JSON, jsonObject.toString());

    Log.i("LOG_INTENT", login_username.getText().toString() + login_password.getText().toString() + get_publicIPaddress);


    Request request = new Request.Builder()

        .url(urlAPI)

        .post(requestBody)

        .build();



    client.newCall(request).enqueue(new Callback() {

        @Override

        public void onFailure(Call call, IOException e) {

            String mMessage = e.getMessage();

            Log.w("failure Response", mMessage);

        }


        @Override

        public void onResponse(Call call, Response response) throws IOException {

            String mMessage = response.body().string();


            try {

                JSONObject object = new JSONObject(mMessage);

                responseCode = object.getString("code");

                responseMsg = object.getString("message");

                responseToken = object.getString("token");


                if(response.code() == 200) {

                    Intent intentHome = new Intent(LoginActivity.this, HomeActivity.class);

                    intentHome.putExtra("TOKEN", responseToken);

                    Log.i("TAG", "Login Activity" + responseToken);

                    startActivity(intentHome);


                    Log.i("INTENT", "NAKUKUHA BA AT NATAPOS?");

                }

                else if(response.code() == 400){

                    runOnUiThread(new Runnable() {

                        public void run() {

                            Toast.makeText(LoginActivity.this, responseMsg, Toast.LENGTH_SHORT).show();

                        }

                    });

                }

            }

            catch (JSONException e) {

                e.printStackTrace();

            }

            Log.i("RESPONSE",  response + mMessage + "code" + responseCode + responseToken );

        }

    });


    Log.i("GET", "NAKUKUHA BA AT NATAPOS?");

}

希望它能幫助解決您的問題。


查看完整回答
反對 回復 2022-11-30
  • 1 回答
  • 0 關注
  • 174 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號