Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.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 从Android向MySql中插入数据_Java_Php_Android_Mysql_Import - Fatal编程技术网

Java 从Android向MySql中插入数据

Java 从Android向MySql中插入数据,java,php,android,mysql,import,Java,Php,Android,Mysql,Import,我需要创建一个带有注册活动的Android应用程序,所以我需要将一些数据插入mysql数据库。我尝试了一些不同的教程和指南,但没有任何帮助我解决我的问题 谁能帮我 我在这里发布我的最后代码: Register.java public class Register extends AppCompatActivity implements View.OnClickListener { private Button bRegister; private EditText etName, etSurn

我需要创建一个带有注册活动的Android应用程序,所以我需要将一些数据插入mysql数据库。我尝试了一些不同的教程和指南,但没有任何帮助我解决我的问题

谁能帮我

我在这里发布我的最后代码:

Register.java

public class Register extends AppCompatActivity implements View.OnClickListener {

private Button bRegister;
private EditText etName, etSurname, etAge, etEmail, etPassword;

private static final String REGISTER_URL = "http://localhost/sFitness/Register.php";

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_register);

    etName = (EditText) findViewById(R.id.etName);
    etSurname = (EditText) findViewById(R.id.etSurname);
    etAge = (EditText) findViewById(R.id.etAge);
    etEmail = (EditText) findViewById(R.id.etEmail);
    etPassword = (EditText) findViewById(R.id.etPassword);

    bRegister = (Button) findViewById(R.id.bRegister);
    bRegister.setOnClickListener(this);
}

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.bRegister:
            registerUser();
            break;
    }
}

private void registerUser() {
    String name = etName.getText().toString();
    String surname = etSurname.getText().toString();
    String age = etAge.getText().toString();
    String email = etEmail.getText().toString();
    String password = etPassword.getText().toString();

    register(name, surname, age, email, password);
}

private void register(String name, String surname, String age, String email, String password) {
    class RegisterUser extends AsyncTask<String, Void, String> {

        ProgressDialog loading;
        RegisterUserClass ruc = new RegisterUserClass();

        @Override
        protected void onPreExecute() {
            super.onPreExecute();

            loading = ProgressDialog.show(Register.this, "Please wait...", null, true, true);
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            loading.dismiss();
            Toast.makeText(getApplicationContext(), s, Toast.LENGTH_LONG).show();
        }

        @Override
        protected String doInBackground(String... params) {
            HashMap<String, String> data = new HashMap<String, String>();
            data.put("name", params[0]);
            data.put("surname", params[1]);
            data.put("age", params[2]);
            data.put("email", params[3]);
            data.put("password", params[4]);

            String result = ruc.sendPostRequest(REGISTER_URL, data);
            return result;
        }
    }
    RegisterUser ru = new RegisterUser();
    ru.execute(name, surname, age, email, password);
}
}
公共类寄存器扩展AppCompatActivity实现View.OnClickListener{
私人按钮登记器;
私人编辑文本etName、ET姓氏、etAge、etEmail、etPassword;
专用静态最终字符串寄存器\u URL=”http://localhost/sFitness/Register.php";
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u寄存器);
etName=(EditText)findViewById(R.id.etName);
ETLANSAME=(编辑文本)findViewById(R.id.ETLANSAME);
etAge=(EditText)findViewById(R.id.etAge);
etEmail=(EditText)findViewById(R.id.etEmail);
etPassword=(EditText)findViewById(R.id.etPassword);
b注册表=(按钮)findViewById(R.id.b注册表);
bRegister.setOnClickListener(本);
}
@凌驾
公共void onClick(视图v){
开关(v.getId()){
案例R.id.bRegister:
registerUser();
打破
}
}
私有无效注册器(){
字符串名称=etName.getText().toString();
字符串姓氏=etnamame.getText().toString();
字符串年龄=etAge.getText().toString();
字符串email=etEmail.getText().toString();
字符串password=etPassword.getText().toString();
登记(姓名、姓氏、年龄、电子邮件、密码);
}
私有无效寄存器(字符串名称、字符串姓氏、字符串年龄、字符串电子邮件、字符串密码){
类注册器扩展异步任务{
对话加载;
RegisterUserClass ruc=新的RegisterUserClass();
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
loading=ProgressDialog.show(Register.this,“请稍候…”,null,true,true);
}
@凌驾
受保护的void onPostExecute(字符串s){
super.onPostExecute(s);
loading.dispose();
Toast.makeText(getApplicationContext(),s,Toast.LENGTH_LONG.show();
}
@凌驾
受保护的字符串doInBackground(字符串…参数){
HashMap数据=新的HashMap();
data.put(“名称”,参数[0]);
数据输入(“姓氏”,参数[1]);
数据输入(“年龄”,参数[2]);
数据输入(“电子邮件”,参数[3]);
data.put(“密码”,参数[4]);
字符串结果=ruc.sendPostRequest(寄存器URL,数据);
返回结果;
}
}
RegisterUser ru=新的RegisterUser();
执行(姓名、姓氏、年龄、电子邮件、密码);
}
}
RegisterUserClass.java

    import org.apache.http.params.HttpParams;
import org.apache.http.*;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;

import javax.net.ssl.HttpsURLConnection;

/**
 * Created by Silvia Berardo on 29/12/2015.
 */



public class RegisterUserClass {

public String sendPostRequest(String requestURL,
                              HashMap<String, String> postDataParams) {

    URL url;
    String response = "";
    try {
        url = new URL(requestURL);

        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setReadTimeout(15000);
        conn.setConnectTimeout(15000);
        conn.setRequestMethod("POST");
        conn.setDoInput(true);
        conn.setDoOutput(true);


        OutputStream os = conn.getOutputStream();
        BufferedWriter writer = new BufferedWriter(
                new OutputStreamWriter(os, "UTF-8"));
        writer.write(getPostDataString(postDataParams));

        writer.flush();
        writer.close();
        os.close();
        int responseCode=conn.getResponseCode();

        if (responseCode == HttpsURLConnection.HTTP_OK) {
            BufferedReader br=new BufferedReader(new InputStreamReader(conn.getInputStream()));
            response = br.readLine();
        }
        else {
            response="Error Registering";
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

    return response;
}

private String getPostDataString(HashMap<String, String> params) throws UnsupportedEncodingException {
    StringBuilder result = new StringBuilder();
    boolean first = true;
    for(Map.Entry<String, String> entry : params.entrySet()){
        if (first)
            first = false;
        else
            result.append("&");

        result.append(URLEncoder.encode(entry.getKey(), "UTF-8"));
        result.append("=");
        result.append(URLEncoder.encode(entry.getValue(), "UTF-8"));
    }

    return result.toString();
}
}
import org.apache.http.params.HttpParams;
导入org.apache.http.*;
导入java.io.BufferedReader;
导入java.io.BufferedWriter;
导入java.io.InputStreamReader;
导入java.io.OutputStream;
导入java.io.OutputStreamWriter;
导入java.io.UnsupportedEncodingException;
导入java.net.HttpURLConnection;
导入java.net.URL;
导入java.net.urlcoder;
导入java.util.HashMap;
导入java.util.Map;
导入javax.net.ssl.HttpsURLConnection;
/**
*由Silvia Berardo于2015年12月29日创建。
*/
公共类注册器类{
公共字符串sendPostRequest(字符串请求URL,
HashMap postDataParams){
网址;
字符串响应=”;
试一试{
url=新url(请求url);
HttpURLConnection conn=(HttpURLConnection)url.openConnection();
连接设置读取超时(15000);
连接设置连接超时(15000);
conn.setRequestMethod(“POST”);
conn.setDoInput(真);
连接设置输出(真);
OutputStream os=conn.getOutputStream();
BufferedWriter=新的BufferedWriter(
新的OutputStreamWriter(操作系统,“UTF-8”);
write(getPostDataString(postDataParams));
writer.flush();
writer.close();
os.close();
int responseCode=conn.getResponseCode();
if(responseCode==HttpsURLConnection.HTTP\u确定){
BufferedReader br=新的BufferedReader(新的InputStreamReader(conn.getInputStream());
response=br.readLine();
}
否则{
response=“注册错误”;
}
}捕获(例外e){
e、 printStackTrace();
}
返回响应;
}
私有字符串getPostDataString(HashMap参数)引发UnsupportedEncodingException{
StringBuilder结果=新建StringBuilder();
布尔值优先=真;
对于(Map.Entry:params.entrySet()){
如果(第一)
第一个=假;
其他的
结果。追加(&);
append(URLEncoder.encode(entry.getKey(),“UTF-8”);
结果。追加(“=”);
append(URLEncoder.encode(entry.getValue(),“UTF-8”);
}
返回result.toString();
}
}
问题是这段代码向我发送了一条消息,告诉我数据库不工作。。。为什么?

替换行:

private static final String REGISTER_URL = "http://localhost/sFitness/Register.php";

localhost不是指您的PC IP地址,而是指模拟器上的localhost。如果您使用10.0.2.2,那么它应该可以工作或显示另一条错误消息

如果您使用的是GenyMotion,则需要使用:

private static final String REGISTER_URL = `"http://10.0.3.2/sFitness/Register.php";`
找到所有这些信息

替换行:

private static final String REGISTER_URL = "http://localhost/sFitness/Register.php";

localhost不是指您的PC IP地址,而是指模拟器上的localhost。如果您使用10.0.2.2,那么它应该可以工作或显示另一条错误消息

如果您使用的是GenyMotion,则需要使用:

private static final String REGISTER_URL = `"http://10.0.3.2/sFitness/Register.php";`

所有这些信息都已找到

您返回的错误消息是什么?当我运行应用程序时,在单击“注册”按钮后,未显示带有“成功”或“失败”的消息,并且在数据库中没有显示任何内容。进入控制台:
E/Surface:getSlotFromBufferLocked:未知缓冲区:0xb405