Java 在android studio中向外部数据库插入信息
我使用android studio从用户那里获取信息并将其插入外部数据库,我在youtube上看到了很多视频,但在运行时仍然存在一个问题,它说:“注册成功”,但没有插入数据库 这是我在android studio中的代码 公共类注册扩展了AppCompatActivity{Java 在android studio中向外部数据库插入信息,java,php,android,mysql,Java,Php,Android,Mysql,我使用android studio从用户那里获取信息并将其插入外部数据库,我在youtube上看到了很多视频,但在运行时仍然存在一个问题,它说:“注册成功”,但没有插入数据库 这是我在android studio中的代码 公共类注册扩展了AppCompatActivity{ EditText email,password,name; Switch visually_impaired; String Email,Password,Name,Visually_impaired,Beacon_aler
EditText email,password,name;
Switch visually_impaired;
String Email,Password,Name,Visually_impaired,Beacon_alert,Buildings_alert;;
Context ctx = this;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_signup);
name = (EditText) findViewById(R.id.name_editText);
password = (EditText) findViewById(R.id.password_editText);
email = (EditText) findViewById(R.id.email_editText);
visually_impaired = (Switch) findViewById(R.id.blindOpt);
}
public void register(View v){
Email = email.getText().toString();
Name = name.getText().toString();
Password = password.getText().toString();
Visually_impaired = visually_impaired.getText().toString();
BackGround b = new BackGround(this);
b.execute(Email,Password,Name,Visually_impaired);
}
class BackGround extends AsyncTask<String,String,String> {
Context ctx;
public BackGround(Context ctx){
this.ctx = ctx;
}
@Override
protected String doInBackground(String... strings) {
String email = strings[0];
String password = strings[1];
String name = strings[2];
String visually_impaired = strings[3];
try {
URL url = new URL("http://ksuexpress.com/register.php");
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
OutputStream os = httpURLConnection.getOutputStream();
BufferedWriter bufferWriter = new BufferedWriter(new OutputStreamWriter(os,"UTF-8"));
String data = URLEncoder.encode("email","UTF-8")+ " = "+URLEncoder.encode(email,"UTF-8") +"&"+
URLEncoder.encode("password","UTF-8")+ " = "+URLEncoder.encode(password,"UTF-8") +"&"+
URLEncoder.encode("name","UTF-8")+ " = "+URLEncoder.encode(name,"UTF-8") +"&"+
URLEncoder.encode("visually_impaired","UTF-8")+ " = "+URLEncoder.encode(visually_impaired,"UTF-8");
bufferWriter.write(data);
bufferWriter.flush();
bufferWriter.close();
os.close();
InputStream is = httpURLConnection.getInputStream();
is.close();
return "Registration success....";
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String result){
Toast.makeText(ctx,result,Toast.LENGTH_LONG).show();
}
}
EditText电子邮件、密码、姓名;
切换视障者;
字符串电子邮件、密码、姓名、视力受损者、信标警报、建筑物警报;;
上下文ctx=此;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u注册);
name=(EditText)findViewById(R.id.name\u EditText);
密码=(EditText)findViewById(R.id.password\u EditText);
email=(EditText)findViewById(R.id.email\u EditText);
视力受损=(开关)findViewById(R.id.blindOpt);
}
公共无效登记册(视图五){
Email=Email.getText().toString();
Name=Name.getText().toString();
Password=Password.getText().toString();
视力受损=视力受损。getText().toString();
背景b=新背景(本);
b、 执行(电子邮件、密码、姓名、视力受损者);
}
类后台扩展异步任务{
上下文ctx;
公共背景(上下文ctx){
this.ctx=ctx;
}
@凌驾
受保护的字符串背景(字符串…字符串){
字符串电子邮件=字符串[0];
字符串密码=字符串[1];
字符串名称=字符串[2];
字符串视力受损=字符串[3];
试一试{
URL=新URL(“http://ksuexpress.com/register.php");
HttpURLConnection HttpURLConnection=(HttpURLConnection)url.openConnection();
httpURLConnection.setRequestMethod(“POST”);
httpURLConnection.setDoOutput(true);
OutputStream os=httpURLConnection.getOutputStream();
BufferedWriter BufferedWriter=新的BufferedWriter(新的OutputStreamWriter(os,“UTF-8”));
字符串数据=urlcoder.encode(“电子邮件”,“UTF-8”)+”=“+urlcoder.encode(电子邮件,“UTF-8”)+”&”+
urlcoder.encode(“密码”,“UTF-8”)+”=“+urlcoder.encode(密码,“UTF-8”)+”&”+
URLEncoder.encode(“名称”,“UTF-8”)+”=“+URLEncoder.encode(名称,“UTF-8”)+”&”+
urlcoder.encode(“视力受损”,“UTF-8”)+“=”+urlcoder.encode(视力受损,“UTF-8”);
写入(数据);
bufferWriter.flush();
bufferWriter.close();
os.close();
InputStream=httpURLConnection.getInputStream();
is.close();
返回“注册成功…”;
}捕获(格式错误){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
返回null;
}
@凌驾
受保护的void onPostExecute(字符串结果){
Toast.makeText(ctx,result,Toast.LENGTH_LONG).show();
}
}
}
我在服务器中还有一个php代码,它使用POST并将其插入数据库
有人能帮我吗…一些可能的修复方法:
“=”
更改为不带空格的“=”
doInBackground
中添加一些日志,并确保在电子邮件、密码等中输入正确的参数InputStream is=httpURLConnection.getInputStream();is.close()
tohttpURLConnection.connect()代码>
在github上检查此项目,它完全符合您的要求,返回正确的参数,我更改=没有空格,但不工作,请参见我的新第三个建议