Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么我在alertDialog.setMessage()上得到空值?_Java_Php_Android_Android Studio - Fatal编程技术网

Java 为什么我在alertDialog.setMessage()上得到空值?

Java 为什么我在alertDialog.setMessage()上得到空值?,java,php,android,android-studio,Java,Php,Android,Android Studio,我是android应用程序的初学者。我不知道为什么我的alertDialog框总是显示空值。代码用于通过检查我的数据库上的数据登录。非常感谢您的帮助 我已将MySql端口从3306更改为3307,因为3306已被阻止 公共类BackgroundWorker扩展异步任务{ 语境; 警报对话框警报对话框; BackgroundWorker(上下文ctx){ 上下文=ctx; } @凌驾 受保护的字符串doInBackground(字符串…参数){ 字符串类型=参数[0]; 字符串登录\u url=

我是android应用程序的初学者。我不知道为什么我的alertDialog框总是显示空值。代码用于通过检查我的数据库上的数据登录。非常感谢您的帮助

我已将MySql端口从3306更改为3307,因为3306已被阻止

公共类BackgroundWorker扩展异步任务{
语境;
警报对话框警报对话框;
BackgroundWorker(上下文ctx){
上下文=ctx;
}
@凌驾
受保护的字符串doInBackground(字符串…参数){
字符串类型=参数[0];
字符串登录\u url=”http://192.168.254.106/login.php";
if(type.equals(“登录”)){
试一试{
字符串user_name=params[1];
字符串密码=参数[2];
URL=新URL(登录\ URL);
HttpURLConnection HttpURLConnection=(HttpURLConnection)url.openConnection();
httpURLConnection.setRequestMethod(“POST”);
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
OutputStream OutputStream=httpURLConnection.getOutputStream();
BufferedWriter BufferedWriter=新的BufferedWriter(新的OutputStreamWriter(outputStream,UTF-8));
字符串post_data=URLEncoder.encode(“用户名”,“UTF-8”)+”=“+URLEncoder.encode(用户名,“UTF-8”)+”&”
+urlcoder.encode(“密码”,“UTF-8”)+“=”+urlcoder.encode(密码,“UTF-8”);
bufferedWriter.write(post_数据);
bufferedWriter.flush();
bufferedWriter.close();
outputStream.close();
InputStream InputStream=httpURLConnection.getInputStream();
BufferedReader BufferedReader=新的BufferedReader(新的InputStreamReader(inputStream,“iso-8859-1”);
字符串结果=”;
字符串行=”;
而((line=bufferedReader.readLine())!=null){
结果+=行;
}
bufferedReader.close();
inputStream.close();
httpURLConnection.disconnect();
返回结果;
}捕获(格式错误){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
}
返回null;
}
@凌驾
受保护的void onPreExecute(){
alertDialog=新建alertDialog.Builder(context.create();
alertDialog.setTitle(“登录状态”);
}
@凌驾
受保护的void onPostExecute(字符串结果){
alertDialog.setMessage(结果);
alertDialog.show();
}

}
在类构造函数中处理
警报对话框
的实例化,该类构造函数不在
onPreExecute
中,它没有意义,将修复您的问题

BackgroundWorker (Context context ) {
    alertDialog = new AlertDialog.Builder(context).create();
}

现在您还可以删除
上下文
全局变量。

1。编辑您的问题以添加php代码。2.您很容易受到sql注入的攻击。3.请散列您的密码,不要将其保存为明文。感谢您的帮助,但它仍然返回空值。使用此代码
时((line=bufferedReader.readLine())!=null){result+=line;}
值是我认为导致问题的原因。我的语法错了吗?您说,“我的alertDialog.setMessage()上的值为null”。现在你说结果是空的。你的问题很糟糕,没有现金记录。