Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.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
Android应用程序与mysql数据库的连接_Android_Mysql_Xampp - Fatal编程技术网

Android应用程序与mysql数据库的连接

Android应用程序与mysql数据库的连接,android,mysql,xampp,Android,Mysql,Xampp,我尝试将我的android应用程序连接到MySQL数据库。使用postman通过php文件检查连接数据库。但仍然无法将android应用程序连接到MySQL数据库。我不知道这是我的code.stop-run应用程序的原因。这里我包括我的录音部分 dbConnect.php` <?php $DB_NAME ="garment"; $DB_USER ="root"; $DB_PASSWORD =""; $DB_HOST ="localhost"; /

我尝试将我的android应用程序连接到MySQL数据库。使用postman通过php文件检查连接数据库。但仍然无法将android应用程序连接到MySQL数据库。我不知道这是我的code.stop-run应用程序的原因。这里我包括我的录音部分

dbConnect.php`

<?php

    $DB_NAME ="garment";
    $DB_USER ="root";
    $DB_PASSWORD ="";
    $DB_HOST ="localhost";

    //Connecting to Database
    $con = mysqli_connect($DB_HOST,$DB_USER,$DB_PASSWORD,$DB_NAME);
if(!$con)
{
//echo "Connection Error..".mysqli_connect_error();
}
else
{
//echo"<h3>Database Connectrion success...</h3>";
}
?>

Constants.java

package com.example.gagana.garment;

import android.app.AlertDialog;
import android.content.Context;
import android.os.AsyncTask;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;
import java.net.URLEncoder;

import javax.net.ssl.HttpsURLConnection;

public class Constants extends AsyncTask<String,Void,String> {
    AlertDialog alertDialog;

    Context ctx;
    Constants(Context ctx)
    {
        this.ctx=ctx;
    }
    @Override
    protected void onPreExecute() {
        alertDialog = new AlertDialog.Builder(ctx).create();
        alertDialog.setTitle("Login Information.....");
    }
    private static final String Root_URL = "http://192.168.8.10/android/userLogin.php";

    @Override
    protected String doInBackground(String... strings) {
        String method = strings[0];
        if(method.equals("login"))
        {
            String username=strings[1];
            String password=strings[2];

            try {
                URL url = new URL(Root_URL);
                HttpsURLConnection httpsURLConnection=(HttpsURLConnection)url.openConnection();
                httpsURLConnection.setRequestMethod("POST");
                httpsURLConnection.setDoOutput(true);
                httpsURLConnection.setDoInput(true);
                OutputStream outputStream = httpsURLConnection.getOutputStream();
                BufferedWriter bufferedWriter =new BufferedWriter(new OutputStreamWriter(outputStream,"UTF-8"));
                String data= URLEncoder.encode("username","UTF-8")+"="+URLEncoder.encode(username,"UTF-8")+"&"+
                        URLEncoder.encode("password","UTF-8")+"="+URLEncoder.encode(password,"UTF-8");
                bufferedWriter.write(data);
                bufferedWriter.flush();
                bufferedWriter.close();
                outputStream.close();

                InputStream inputStream=httpsURLConnection.getInputStream();
                BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream,"iso-8859-1"));
                String response="";
                String line="";
                while ((line=bufferedReader.readLine())!=null)
                {
                    response+=line;
                }
                bufferedReader.close();
                inputStream.close();
                httpsURLConnection.disconnect();
                return response;
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
        return null;
    }

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

    @Override
    protected void onPostExecute(String s) {

        alertDialog.setMessage(s);
        alertDialog.show();
    }
}
`
package com.example.gagana.garment;
导入android.app.AlertDialog;
导入android.content.Context;
导入android.os.AsyncTask;
导入java.io.BufferedReader;
导入java.io.BufferedWriter;
导入java.io.IOException;
导入java.io.InputStream;
导入java.io.InputStreamReader;
导入java.io.OutputStream;
导入java.io.OutputStreamWriter;
导入java.net.MalformedURLException;
导入java.net.URI;
导入java.net.URL;
导入java.net.urlcoder;
导入javax.net.ssl.HttpsURLConnection;
公共类常量扩展异步任务{
警报对话框警报对话框;
上下文ctx;
常量(上下文ctx)
{
这个.ctx=ctx;
}
@凌驾
受保护的void onPreExecute(){
alertDialog=新建alertDialog.Builder(ctx.create();
alertDialog.setTitle(“登录信息…”);
}
私有静态最终字符串Root_URL=”http://192.168.8.10/android/userLogin.php";
@凌驾
受保护的字符串背景(字符串…字符串){
字符串方法=字符串[0];
if(方法等于(“登录”))
{
字符串用户名=字符串[1];
字符串密码=字符串[2];
试一试{
URL URL=新URL(根URL);
HttpsURLConnection HttpsURLConnection=(HttpsURLConnection)url.openConnection();
httpsURLConnection.setRequestMethod(“POST”);
httpsURLConnection.setDoOutput(真);
httpsURLConnection.setDoInput(true);
OutputStream OutputStream=httpsURLConnection.getOutputStream();
BufferedWriter BufferedWriter=新的BufferedWriter(新的OutputStreamWriter(outputStream,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=httpsURLConnection.getInputStream();
BufferedReader BufferedReader=新的BufferedReader(新的InputStreamReader(inputStream,“iso-8859-1”);
字符串响应=”;
字符串行=”;
而((line=bufferedReader.readLine())!=null)
{
响应+=行;
}
bufferedReader.close();
inputStream.close();
httpsURLConnection.disconnect();
返回响应;
}捕获(格式错误){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
}
返回null;
}
@凌驾
受保护的void onProgressUpdate(void…值){
super.onProgressUpdate(值);
}
@凌驾
受保护的void onPostExecute(字符串s){
alertDialog.setMessage;
alertDialog.show();
}
}
`

Post error log。Haresh Chhelana先生查看代码中的错误在哪里,以确定崩溃的原因。当通过邮递员时,api工作正常吗?是的,api工作正常
 package com.example.gagana.garment;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;


public class MainActivity extends AppCompatActivity {

    private EditText usernametxt,passwordtxt,factoryname;
    private Button login;
    String username,password;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        usernametxt=(EditText)findViewById(R.id.txtusername);
        passwordtxt=(EditText)findViewById(R.id.txtpassword);
        factoryname=(EditText)findViewById(R.id.factoryname);
        login=(Button)findViewById(R.id.btnlogin);

    }

    public void userLogin(View view)
    {
        username = usernametxt.getText().toString();
        password = passwordtxt.getText().toString();
        String method="login";
        Constants constants=new Constants(this);
        constants.execute(method,username,password);
    }


}
package com.example.gagana.garment;

import android.app.AlertDialog;
import android.content.Context;
import android.os.AsyncTask;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;
import java.net.URLEncoder;

import javax.net.ssl.HttpsURLConnection;

public class Constants extends AsyncTask<String,Void,String> {
    AlertDialog alertDialog;

    Context ctx;
    Constants(Context ctx)
    {
        this.ctx=ctx;
    }
    @Override
    protected void onPreExecute() {
        alertDialog = new AlertDialog.Builder(ctx).create();
        alertDialog.setTitle("Login Information.....");
    }
    private static final String Root_URL = "http://192.168.8.10/android/userLogin.php";

    @Override
    protected String doInBackground(String... strings) {
        String method = strings[0];
        if(method.equals("login"))
        {
            String username=strings[1];
            String password=strings[2];

            try {
                URL url = new URL(Root_URL);
                HttpsURLConnection httpsURLConnection=(HttpsURLConnection)url.openConnection();
                httpsURLConnection.setRequestMethod("POST");
                httpsURLConnection.setDoOutput(true);
                httpsURLConnection.setDoInput(true);
                OutputStream outputStream = httpsURLConnection.getOutputStream();
                BufferedWriter bufferedWriter =new BufferedWriter(new OutputStreamWriter(outputStream,"UTF-8"));
                String data= URLEncoder.encode("username","UTF-8")+"="+URLEncoder.encode(username,"UTF-8")+"&"+
                        URLEncoder.encode("password","UTF-8")+"="+URLEncoder.encode(password,"UTF-8");
                bufferedWriter.write(data);
                bufferedWriter.flush();
                bufferedWriter.close();
                outputStream.close();

                InputStream inputStream=httpsURLConnection.getInputStream();
                BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream,"iso-8859-1"));
                String response="";
                String line="";
                while ((line=bufferedReader.readLine())!=null)
                {
                    response+=line;
                }
                bufferedReader.close();
                inputStream.close();
                httpsURLConnection.disconnect();
                return response;
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
        return null;
    }

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

    @Override
    protected void onPostExecute(String s) {

        alertDialog.setMessage(s);
        alertDialog.show();
    }
}
`