Android-PHP错误引发undefined index错误。
创始人
2024-08-19 20:00:44
0

在Android开发中,当与PHP后端交互时,可能会遇到“undefined index”错误,这通常是由于未正确获取或解析返回的JSON数据所导致的。以下是解决该问题的代码示例:

import android.os.AsyncTask;
import android.util.Log;

import org.json.JSONException;
import org.json.JSONObject;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class PHPConnection extends AsyncTask {

    private static final String TAG = "PHPConnection";

    @Override
    protected String doInBackground(String... params) {
        String urlString = params[0];
        String jsonInputString = params[1];
        String result = "";

        try {
            URL url = new URL(urlString);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("POST");
            connection.setDoOutput(true);
            connection.setDoInput(true);
            connection.setRequestProperty("Content-Type", "application/json;charset=utf-8");

            OutputStream outputStream = connection.getOutputStream();
            outputStream.write(jsonInputString.getBytes("UTF-8"));
            outputStream.close();

            int responseCode = connection.getResponseCode();
            if (responseCode == HttpURLConnection.HTTP_OK) {
                InputStream inputStream = connection.getInputStream();
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
                String line;
                StringBuilder stringBuilder = new StringBuilder();

                while ((line = bufferedReader.readLine()) != null) {
                    stringBuilder.append(line);
                }

                result = stringBuilder.toString();
                bufferedReader.close();
                inputStream.close();
            } else {
                result = "Error: " + responseCode;
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        return result;
    }

    @Override
    protected void onPostExecute(String result) {
        try {
            JSONObject jsonObject = new JSONObject(result);
            String value = jsonObject.getString("key"); // 替换"key"为你期望获取的键名
            // 处理获取到的数据
        } catch (JSONException e) {
            e.printStackTrace();
            Log.e(TAG, "JSONException: " + e.getMessage());
        }
    }
}

在调用PHPConnection类的地方,传递URL和JSON字符串作为参数。确保替换“key”为你期望获取的键名。通过检查返回的JSON数据是否存在该键名,可以避免“undefined index”错误。

相关内容

热门资讯

一分钟了解!AAPoKer辅助... 一分钟了解!AAPoKer辅助挂多功能透视工具,真是真的是有挂(有挂功能)1、操作简单,无需AAPo...
必看攻略!wepoker辅助挂... 必看攻略!wepoker辅助挂多功能透视工具,总是真的是有挂(有挂神器)1、进入到wepoker是否...
我来教大家!红龙poker辅助... 我来教大家!红龙poker辅助挂多功能透视工具,果然有挂(有挂透视)1、任何红龙poker透视是真的...
一分钟揭秘!德扑圈辅助挂多功能... 一分钟揭秘!德扑圈辅助挂多功能透视工具,都是是真的有挂(有挂技术)德扑圈脚本下载中分为三种模型:德扑...
推荐十款!德普之星辅助挂多功能... 推荐十款!德普之星辅助挂多功能透视工具,原来有挂(真是有挂)运德普之星辅助工具,进入游戏界面。进入德...
科技分享!微扑克辅助挂多功能透... 科技分享!微扑克辅助挂多功能透视工具,好像有挂(有人有挂)1、游戏颠覆性的策略玩法,独创攻略技巧玩法...
传递经验!wpk辅助挂多功能透... 传递经验!wpk辅助挂多功能透视工具,确实是真的有挂(有挂透明挂)小薇(辅助器软件下载)致您一封信;...
重大来袭!微扑克辅助挂多功能透... 重大来袭!微扑克辅助挂多功能透视工具,切实真的是有挂(详细教程)1、操作简单,无需微扑克手机版透视脚...
揭秘一下!aapoker辅助挂... 揭秘一下!aapoker辅助挂多功能透视工具,好像有挂(有挂头条)1、aapoker破解器简单,aa...
2024教程!德扑圈辅助挂多功... 2024教程!德扑圈辅助挂多功能透视工具,一贯是有挂(有挂存在)1、操作简单,无需德扑圈手机版透视脚...