Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.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
Php 数据库正在更新,但没有显示警报消息,登录也不起作用,它会停止-Android Studio_Php_Android - Fatal编程技术网

Php 数据库正在更新,但没有显示警报消息,登录也不起作用,它会停止-Android Studio

Php 数据库正在更新,但没有显示警报消息,登录也不起作用,它会停止-Android Studio,php,android,Php,Android,当我单击“注册数据库正在更新但警报框不工作”,并希望用toast消息替换警报框时。另外,当我尝试登录应用程序失败时,会报告“不幸的是,您的应用程序已停止”。我在这里呆了一个多星期,有人能给出解决方案吗 后台任务.java public class BackgroundTask extends AsyncTask<String,Void,String>{ String register_url="http://bloodlk.16mb.com/register.php"; String

当我单击“注册数据库正在更新但警报框不工作”,并希望用toast消息替换警报框时。另外,当我尝试登录应用程序失败时,会报告“不幸的是,您的应用程序已停止”。我在这里呆了一个多星期,有人能给出解决方案吗

后台任务.java

public class BackgroundTask extends AsyncTask<String,Void,String>{
String register_url="http://bloodlk.16mb.com/register.php";
String login_url="bloodlk.16mb.com/login.php";
Context ctx;
Activity activity;
AlertDialog.Builder builder;
ProgressDialog progressDialog;

public BackgroundTask(Context ctx)
{
    this.ctx = ctx;
    activity=(Activity)ctx;
}
@Override
protected void onPreExecute() {
 builder = new AlertDialog.Builder(activity);
    progressDialog = new ProgressDialog(ctx);
    progressDialog.setTitle("Please Wait");
    progressDialog.setMessage("Connecting to Server...");
    progressDialog.setIndeterminate(true);
    progressDialog.setCancelable(false);
    progressDialog.show();
}

@Override
protected String doInBackground(String... params) {
    String method = params[0];

    if (method.equals("register"))
    {
        try {
            URL url = new URL(register_url);
            HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
            httpURLConnection.setRequestMethod("POST");
            httpURLConnection.setDoOutput(true);
            httpURLConnection.setDoInput(true);
            OutputStream outputStream = httpURLConnection.getOutputStream();
            BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream,"UTF-8"));
            String username = params[1];
            String email = params[2];
            String password = params[3];


            String data = URLEncoder.encode("name","UTF-8")+"="+URLEncoder.encode(username,"UTF-8")+"&"+
                    URLEncoder.encode("email","UTF-8")+"="+URLEncoder.encode(email,"UTF-8")+"&"+
                    URLEncoder.encode("password","UTF-8")+"="+URLEncoder.encode(password,"UTF-8");

            bufferedWriter.write(data);
            bufferedWriter.flush();
            bufferedWriter.close();
            outputStream.close();

            InputStream inputStream = httpURLConnection.getInputStream();
            BufferedReader bufferedReader =new BufferedReader(new InputStreamReader(inputStream));
            StringBuilder stringBuilder= new StringBuilder();
            String line = "";
            while ((line = bufferedReader.readLine())!=null);
            {
                stringBuilder.append(line+"\n");
            }
            httpURLConnection.disconnect();
            Thread.sleep(5000);
            return stringBuilder.toString().trim();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    else if (method.equals("login"))
    {
        try {
            URL url = new URL(login_url);
            HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
            httpURLConnection.setRequestMethod("POST");
            httpURLConnection.setDoOutput(true);
            httpURLConnection.setDoInput(true);
            OutputStream outputStream = httpURLConnection.getOutputStream();
            BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream,"UTF-8"));

            String email = params[1];
            String password = params[2];

            String data = URLEncoder.encode("email","UTF-8")+"="+URLEncoder.encode(email,"UTF-8")+"&"+
                    URLEncoder.encode("password","UTF-8")+"="+URLEncoder.encode(password,"UTF-8");
            bufferedWriter.write(data);
            bufferedWriter.flush();
            bufferedWriter.close();
            outputStream.close();

            InputStream inputStream = httpURLConnection.getInputStream();
            BufferedReader bufferedReader =new BufferedReader(new InputStreamReader(inputStream));
            StringBuilder stringBuilder= new StringBuilder();
            String line = "";
            while ((line = bufferedReader.readLine())!=null);
            {
                stringBuilder.append(line+"\n");
            }
            httpURLConnection.disconnect();
            Thread.sleep(5000);
            return stringBuilder.toString().trim();

        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (ProtocolException e) {
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    return null;
}

@Override
protected void onProgressUpdate(Void... values) {
    super.onProgressUpdate(values);
}

@Override
protected void onPostExecute(String json) {
    try {
        progressDialog.dismiss();
        JSONObject jsonObject = new JSONObject(json);
        JSONArray jsonArray = jsonObject.getJSONArray("server_response");
        JSONObject JO = jsonArray.getJSONObject(0);
        String code = JO.getString("code");
        String message = JO.getString("message");
        if (code.equals("reg_true"))
        {

            showDialog("Registration Success !", message, code);
        }
        else if(code.equals("reg_false"))
        {
            showDialog("Registration Failed !",message,code);
        }
        else if (code.equals("login_true"))
        {
            Intent intent = new Intent(activity,profile.class);
            intent.putExtra("message",message);
            activity.startActivity(intent);
        }

        else if (code.equals("login_false"))
        {
            showDialog("Login Failed",message,code);
        }
        AlertDialog alertDialog= builder.create();
        alertDialog.show();

    } catch (JSONException e) {
        e.printStackTrace();
    }

}
public void showDialog(String title,String message,String code)
{
    builder.setTitle(title);
    if (code.equals("reg_true")|| code.equals("reg_false"))
    {
        builder.setMessage(message);
        builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                dialog.dismiss();
                activity.finish();
            }
        });
    }
    else if (code.equals("login_false"))
    {
        builder.setMessage(message);
        builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                EditText email, password;
                email = (EditText) activity.findViewById(R.id.edEmaillogin);
                password = (EditText) activity.findViewById(R.id.edPasslogin);
                email.setText("");
                password.setText("");
                dialog.dismiss();
            }
        });
        AlertDialog alertDialog= builder.create();
        alertDialog.show();
    }
}
}
公共类BackgroundTask扩展了AsyncTask{
字符串寄存器\u url=”http://bloodlk.16mb.com/register.php";
String login_url=“bloodlk.16mb.com/login.php”;
上下文ctx;
活动;
AlertDialog.Builder;
进行对话进行对话;
公共背景任务(上下文ctx)
{
this.ctx=ctx;
活动=(活动)ctx;
}
@凌驾
受保护的void onPreExecute(){
builder=新建AlertDialog.builder(活动);
progressDialog=新的progressDialog(ctx);
progressDialog.setTitle(“请稍候”);
设置消息(“连接到服务器…”);
progressDialog.setUndeterminate(true);
progressDialog.setCancelable(假);
progressDialog.show();
}
@凌驾
受保护的字符串doInBackground(字符串…参数){
字符串方法=参数[0];
if(方法等于(“寄存器”))
{
试一试{
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));
字符串username=params[1];
字符串email=params[2];
字符串密码=参数[3];
字符串数据=URLEncoder.encode(“名称”,“UTF-8”)+”=“+URLEncoder.encode(用户名,“UTF-8”)+”&”+
URLEncoder.encode(“电子邮件”,“UTF-8”)+”=“+URLEncoder.encode(电子邮件,“UTF-8”)+”&”+
urlcoder.encode(“密码”,“UTF-8”)+“=”+urlcoder.encode(密码,“UTF-8”);
bufferedWriter.write(数据);
bufferedWriter.flush();
bufferedWriter.close();
outputStream.close();
InputStream InputStream=httpURLConnection.getInputStream();
BufferedReader BufferedReader=新的BufferedReader(新的InputStreamReader(inputStream));
StringBuilder StringBuilder=新的StringBuilder();
字符串行=”;
而((line=bufferedReader.readLine())!=null);
{
stringBuilder.append(行+“\n”);
}
httpURLConnection.disconnect();
睡眠(5000);
返回stringBuilder.toString().trim();
}捕获(格式错误){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}捕捉(中断异常e){
e、 printStackTrace();
}
}
else if(method.equals(“login”))
{
试一试{
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));
字符串email=params[1];
字符串密码=参数[2];
字符串数据=urlcoder.encode(“电子邮件”,“UTF-8”)+”=“+urlcoder.encode(电子邮件,“UTF-8”)+”&”+
urlcoder.encode(“密码”,“UTF-8”)+“=”+urlcoder.encode(密码,“UTF-8”);
bufferedWriter.write(数据);
bufferedWriter.flush();
bufferedWriter.close();
outputStream.close();
InputStream InputStream=httpURLConnection.getInputStream();
BufferedReader BufferedReader=新的BufferedReader(新的InputStreamReader(inputStream));
StringBuilder StringBuilder=新的StringBuilder();
字符串行=”;
而((line=bufferedReader.readLine())!=null);
{
stringBuilder.append(行+“\n”);
}
httpURLConnection.disconnect();
睡眠(5000);
返回stringBuilder.toString().trim();
}捕获(格式错误){
e、 printStackTrace();
}捕获(协议例外e){
e、 printStackTrace();
}捕获(不支持的编码异常e){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}捕捉(中断异常e){
e、 printStackTrace();
}
}
返回null;
}
@凌驾
受保护的void onProgressUpdate(void…值){
super.onProgressUpdate(值);
}
@凌驾
受保护的void onPostExecute(字符串json){
试一试{
progressDialog.disclose();
JSONObject JSONObject=新的JSONObject(json);
JSONArray JSONArray=jsonObject.getJSONArray(“服务器响应”);
JSONObject JO=jsonArray.getJSONObject(0);
字符串代码=JO.getString(“代码”);
字符串消息=JO.getString(“消息”);
if(代码等于(“reg_true”))
{
showDialog(“注册成功!”,消息,代码);
}
else if(代码等于(“reg_false”))
{
showDialog(“注册失败!”,消息,代码);
}
else if(code.equals(“login_true”))
{
意向意向=新意向(活动、概要文件、类);
intent.putExtra(“消息”,消息);
活动。开始触觉(意图);
}
else if(code.equals(“login_false”))
{
showDia
<?php

$name = $_POST["name"];
$email = $_POST["email"];
$pass = $_POST["password"];
require "init.php";

$query = "select * from userinfo where email like '".$email."';";
$result = mysqli_query($con,$query);

if(mysqli_num_rows($result)>0)
{

$response = array();
$code = "reg_false";
$message = "User Already Exist !";
array_push($response,array("code"=>$code,"message"=>$message));
echo json_encode(array("server_response"=>$response));

}
else
{
$query = "insert into userinfo     values('".$name."','".$email."','".$pass."');";
$result = mysqli_query($con,$query);

if(!$result)
{
    $response = array();
    $code = "reg_false";
    $message = "Registration Failed, Try Again!";
    array_push($response,array("code"=>$code,"message"=>$message));
    echo json_encode(array("server_response"=>$response));
}
else
{
    $response = array();
    $code = "reg_true";
    $message = "Registration Success, Login to Continue!";
    array_push($response,array("code"=>$code,"message"=>$message));
    echo json_encode(array("server_response"=>$response));
}   
}
mysqli_close($con);
?>
<?php
$email = $_POST["email"];
$pass = $_POST["password"];
require "init.php";

$query = "Select * from userinfo where email like '".$email."';";
$result = mysqli_query($con,$query);

if(mysqli_num_rows($result)>0)
{
$response = array();
$code ="login_true";
$row = mysqli_fetch_array($result);
$name = $row[0];
$message ="Login Success ! Welcome ".$name;
array_push($response,array("code"=>$code,"message"=>$message));
echo json_encode(array("server_response"=>$response));  
}
else
{
$response = array();
$code ="login_false";
$message ="Login Failed ! Try Again";
array_push($response,array("code"=>$code,"message"=>$message));
echo json_encode(array("server_response"=>$response));  
}
mysqli_close($con);
?>
01-18 11:11:13.230 1916-1916/? W/dalvikvm: threadid=1: thread exiting with      uncaught exception (group=0xa4d05b20)
01-18 11:11:13.230 1916-1916/? E/AndroidRuntime: FATAL EXCEPTION: main
01-18 11:11:13.230 1916-1916/? E/AndroidRuntime: Process: lk.blood.bloodlk, PID: 1916
01-18 11:11:13.230 1916-1916/? E/AndroidRuntime: java.lang.NullPointerException
01-18 11:11:13.230 1916-1916/? E/AndroidRuntime:     at org.json.JSONTokener.nextCleanInternal(JSONTokener.java:116)
01-18 11:11:13.230 1916-1916/? E/AndroidRuntime:     at org.json.JSONTokener.nextValue(JSONTokener.java:94)
01-18 11:11:13.230 1916-1916/? E/AndroidRuntime:     at org.json.JSONObject.<init>(JSONObject.java:155)
01-18 11:11:13.230 1916-1916/? E/AndroidRuntime:     at org.json.JSONObject.<init>(JSONObject.java:172)
01-18 11:11:13.230 1916-1916/? E/AndroidRuntime:     at lk.blood.bloodlk.BackgroundTask.onPostExecute(BackgroundTask.java:162)
01-18 11:11:13.230 1916-1916/? E/AndroidRuntime:     at lk.blood.bloodlk.BackgroundTask.onPostExecute(BackgroundTask.java:34)
01-18 11:11:13.230 1916-1916/? E/AndroidRuntime:     at android.os.AsyncTask.finish(AsyncTask.java:632)
01-18 11:11:13.230 1916-1916/? E/AndroidRuntime:     at android.os.AsyncTask.access$600(AsyncTask.java:177)
01-18 11:11:13.230 1916-1916/? E/AndroidRuntime:     at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
01-18 11:11:13.230 1916-1916/? E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:102)
01-18 11:11:13.230 1916-1916/? E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:136)
01-18 11:11:13.230 1916-1916/? E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5001)
01-18 11:11:13.230 1916-1916/? E/AndroidRuntime:     at java.lang.reflect.Method.invokeNative(Native Method)
01-18 11:11:13.230 1916-1916/? E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:515)
01-18 11:11:13.230 1916-1916/? E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
01-18 11:11:13.230 1916-1916/? E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
01-18 11:11:13.230 1916-1916/? E/AndroidRuntime:     at dalvik.system.NativeStart.main(Native Method)
01-18 11:11:13.546 616-784/? W/ActivityManager:   Force finishing activity lk.blood.bloodlk/.login
01-18 11:11:14.810 616-631/? W/ActivityManager: Activity pause timeout for ActivityRecord{52942fe0 u0 lk.blood.bloodlk/.login t4 f}
01-18 11:11:18.478 295-434/? W/genymotion_audio: out_write() limiting sleep time 46802 to 39909
01-18 11:11:18.758 1916-1916/? I/Process: Sending signal. PID: 1916 SIG: 9
01-18 11:11:19.042 616-666/? I/ActivityManager: Process lk.blood.bloodlk (pid 1916) has died.
01-18 11:11:19.098 616-647/? W/InputDispatcher: channel '529556a4 lk.blood.bloodlk/lk.blood.bloodlk.Home (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
01-18 11:11:19.098 616-647/? E/InputDispatcher: channel '529556a4 lk.blood.bloodlk/lk.blood.bloodlk.Home (server)' ~ Channel is unrecoverably broken and will be disposed!
01-18 11:11:19.102 616-647/? W/InputDispatcher: channel '529857c0 lk.blood.bloodlk/lk.blood.bloodlk.login (server)' ~ Consumer closed input channel or an error occurred.  events=0xd