第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

從 php 返回的 Android 讀取數(shù)組

從 php 返回的 Android 讀取數(shù)組

PHP
藍山帝景 2022-07-02 16:19:56
域“A”包括來自域“B”的圖像<img src="https://DOMAIN_B/basic-auth/protected_image/secure.jpg">域“B”具有基本的 HTTP 身份驗證。<?php    header("HTTP/1.1 401 Unauthorized");    header("WWW-Authenticate: Basic realm='Please login'");    exit;?>我的問題是為什么域“A”上沒有出現(xiàn)登錄彈出窗口。Chrome 給出錯誤“401 未授權”。但從技術上講,瀏覽器應該會在域“A”上彈出登錄顯示。另一方面,本地和https://jsfiddle.net/w493nnp9/18/一切正常。您可以訪問此鏈接,頁面顯示登錄彈出窗口。但是為什么其他域不顯示。 https://jsfiddle.net/w493nnp9/18/我正在閱讀 android 方法中的 php 響應。PHP if(mysqli_num_rows($result)>0) {        $status = "Success!";        echo "Success!";    } else {        echo "Login failed";    }安卓@Override    protected void onPostExecute(String result) {        if(result.equals("Success!")) {            Toast.makeText(context, "Login Successful!", Toast.LENGTH_LONG).show();            Intent goToWelcomePage = new Intent(context, welcome.class);            context.startActivity(goToWelcomePage);        } else if (result.equals("User Created")){            Toast.makeText(context, "User Created.  Login Now.", Toast.LENGTH_LONG).show();            Intent goToLoginPage = new Intent(context, MainActivity.class);            context.startActivity(goToLoginPage);        } else {            Toast.makeText(context, result, Toast.LENGTH_LONG).show();        }    }上面的腳本可以正常工作。但是,我想讀取一個結果數(shù)組。我在 PHP 中試過這個。$status = array();if(mysqli_num_rows($result)>0) {    $status = "Success!";    echo json_encode(array("result"=>$status,"name"=>$username));   } else {    $status = "Login failed";    echo json_encode(array("result"=>$status));}不知道如何在 Android 中閱讀。此外,我不確定上述 php 是否是將結果返回給 android 的正確方法。
查看完整描述

1 回答

?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

PHP代碼沒有問題,至少它可以返回一個正確的json,如果你想要的是:


{"result":"Success!","name":"YOUR_LOGIN_NAME"}

或者


{"result":"Login failed"}

在 Android 中,您應該使用 json 解析器庫來解析“結果”,例如 Gson(https://github.com/google/gson)。


您可以創(chuàng)建一個響應類,例如:


class MyResponse {

    String result;

    String name;

}

然后你可以簡單地調用你的代碼:


@Override

protected void onPostExecute(String result) {

    Gson gson = new Gson();

    MyResponse response = gson.fromJson(result, MyResponse.class);

    switch (response.result) {

        case "Success!":

            // do something when login success

            // can call response.name here to read the login name

            break;

        case "Login failed":

            // do something when login failed

            break;

        // and more...

    }

如果您對現(xiàn)代 HTTP 客戶端感興趣,可以看看:

okhttp ( https://github.com/square/okhttp )

改造 ( https://github.com/square/retrofit )


查看完整回答
反對 回復 2022-07-02
  • 1 回答
  • 0 關注
  • 100 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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