Php Android eclipse注册页面应用程序已停止错误
这个android项目使用php mysql服务器中的数据库。在应该向服务器上的数据库注册数据的活动中。但它无法注册,应用程序已停止。它从注册活动返回登录活动。这是Logcat的照片。我无法解决这个问题。你能帮我吗 Kayit.java:Php Android eclipse注册页面应用程序已停止错误,php,android,mysql,eclipse,Php,Android,Mysql,Eclipse,这个android项目使用php mysql服务器中的数据库。在应该向服务器上的数据库注册数据的活动中。但它无法注册,应用程序已停止。它从注册活动返回登录活动。这是Logcat的照片。我无法解决这个问题。你能帮我吗 Kayit.java: package com.ahmety.fmsocialmedia; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; impo
package com.ahmety.fmsocialmedia;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class Kayit extends Activity {
Button kayit;
EditText nickname_edit,mail_edit,sifre_edit,sifre_tekrar_edit;
String nickname,mail,sifre,sifre_tekrar,hata_mesaji="";
boolean hata = false;
PostClass post = new PostClass();
String URL_POST= "http://www.ahmetyilmazz.info/kayit.php";
JSONObject cevap=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_kayit);
kayit = (Button)findViewById(R.id.buttonRegister);
nickname_edit = (EditText)findViewById(R.id.editUsernameReg);
mail_edit = (EditText)findViewById(R.id.editEmailReg);
sifre_edit = (EditText)findViewById(R.id.editPasswordReg);
sifre_tekrar_edit = (EditText)findViewById(R.id.editPasswordConfirmReg);
kayit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//Edittextlerden bilgileri aldık
nickname = nickname_edit.getText().toString();
mail = mail_edit.getText().toString();
sifre = sifre_edit.getText().toString();
sifre_tekrar = sifre_tekrar_edit.getText().toString();
int sifre_karakter = sifre.length();
if(nickname.matches("") || mail.matches("") || sifre.matches("") || sifre_tekrar.matches("")){
hata = true;
hata_mesaji = "Please be sure fill all area!!!";
}else if(!sifre.matches(sifre_tekrar)){
hata = true;
hata_mesaji = "Password doesn't match!!!";
}else if(sifre_karakter<5){
hata_mesaji += "Password can not be smaller than 5 characater!!!";
hata=true;
}else if(!Fonksiyonlar.isEmailValid(mail)){
hata_mesaji += "Email format is unvalid!!!";
hata=true;
}
if(hata){//hata varsa hatayı alertDialog ile gösteriyoruz
AlertDialog alertDialog = new AlertDialog.Builder(Kayit.this).create();
alertDialog.setTitle("Error");
alertDialog.setMessage(hata_mesaji);
alertDialog.setCancelable(false);
alertDialog.setButton(RESULT_OK,"OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
sifre_edit.setText("");
sifre_tekrar_edit.setText("");
hata_mesaji = "";
hata = false;
}
});
alertDialog.show();
}else{//hata yoksa
new KayitOl().execute();
}
}
});
}
class KayitOl extends AsyncTask<Void, Void, Void> {
private String sonucmesaji,sonuc,tarih;
ProgressDialog pDialog;
protected void onPreExecute() {
// progress dialog
pDialog = new ProgressDialog(Kayit.this);
pDialog.setMessage("Registering is progressing...");
pDialog.setIndeterminate(true);
pDialog.setCancelable(false);
pDialog.show();
}
protected Void doInBackground(Void... unused) {
sifre = Fonksiyonlar.sha1(sifre);//şifreyi sha1 ile şifreledik
//Parametreleri ekliyoruz
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("nickname", nickname));
params.add(new BasicNameValuePair("mail", mail));
params.add(new BasicNameValuePair("sifre",sifre ));
//Tarih bilgisini almak için
Calendar c = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat("dd-MMM-yyyy");
tarih = format.format(c.getTime());
String json = post.httpPost(URL_POST,"POST",params,20000);
Log.d("Gelen Json",""+json);//Gelen veriyi logluyoruz.Log Catten kontrol edebiliriz
try {
cevap = new JSONObject(json);
sonucmesaji = cevap.getString("sonucmesaji");
if (cevap.getString("sonuc") != null) {
sonuc = cevap.getString("sonuc");
if(Integer.parseInt(sonuc) == 1){ //Eğer kayıt başarılı ise
//Sqlite database baglanıp gerekli verileri kaydediyoruz.
Database db = new Database(getApplicationContext());
db.resetTables();
db.kullaniciEkle(nickname, mail, sifre, tarih); //kullanıcıyı ekliyoruz.Ve Main activitye yönlendiriyoruz.
//Sonuc başarılı ise main activitye yönlendirdk.
Intent anasayfa = new Intent(getApplicationContext(),MainActivity.class );
startActivity(anasayfa);
finish();
}
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
// Sonuç başarılı ise bu kod çalışmıcak çünkü Main activitye yönlenmiş durumda
protected void onPostExecute(Void unused) {
// closing progress dialog
pDialog.dismiss();
// updating UI from Background Thread
runOnUiThread(new Runnable() {
public void run() {
if(Integer.parseInt(sonuc) == 0){// Sonuç başarılı değil ise
AlertDialog alertDialog = new AlertDialog.Builder(Kayit.this).create();
alertDialog.setTitle("Hata");
alertDialog.setMessage(sonucmesaji);//Sonuc mesajıyla bilgilendiriyoruz.
alertDialog.setCancelable(false);
alertDialog.setButton(RESULT_OK,"OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
sifre_edit.setText("");
sifre_tekrar_edit.setText("");
}
});
alertDialog.show();
}
}
});
}
}
}
package com.ahmety.fmsocialmedia;
导入java.text.simpleDataFormat;
导入java.util.ArrayList;
导入java.util.Calendar;
导入java.util.List;
导入org.apache.http.NameValuePair;
导入org.apache.http.message.BasicNameValuePair;
导入org.json.JSONException;
导入org.json.JSONObject;
导入android.app.Activity;
导入android.app.AlertDialog;
导入android.app.ProgressDialog;
导入android.content.DialogInterface;
导入android.content.Intent;
导入android.os.AsyncTask;
导入android.os.Bundle;
导入android.util.Log;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.view.view;
导入android.widget.Button;
导入android.widget.EditText;
公共类扩展活动{
按钮kayit;
编辑文本昵称编辑、邮件编辑、筛选编辑、筛选编辑;
字符串昵称,mail,sifre,sifre_tekrar,hata_mesaji=“”;
布尔hata=false;
PostClass post=新的PostClass();
字符串URL_POST=”http://www.ahmetyilmazz.info/kayit.php";
JSONObject cevap=null;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_kayit);
kayit=(按钮)findViewById(R.id.buttonRegister);
昵称_edit=(EditText)findViewById(R.id.editUsernameReg);
mail_edit=(EditText)findViewById(R.id.editEmailReg);
sifre_edit=(EditText)findViewById(R.id.editPasswordReg);
sifre_tekrar_edit=(EditText)findViewById(R.id.editPasswordConfirmReg);
setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
//Edittextlerden bilgileri aldık
昵称=昵称_edit.getText().toString();
mail=mail_edit.getText().toString();
sifre=sifre_edit.getText().toString();
sifre_tekrar=sifre_tekrar_edit.getText().toString();
int sifre_karakter=sifre.length();
if(昵称.matches(“”)| | mail.matches(“”)| | sifre.matches(“”)| | sifre|u tekrar.matches(“”){
hata=真;
hata_mesaji=“请确保填充所有区域!!!”;
}如果(!sifre.匹配(sifre_tekrar)){
hata=真;
hata_mesaji=“密码不匹配!!!”;
}否则,如果(sifre_karakter您的logcat图像在您的onPostExecute()
方法中显示NumberFormatException
if(Integer.parseInt(sonuc) == 0).
所以,我猜您的'sonuc'字符串为空。请检查一下'sonuc'的值。
为避免碰撞,请将条件设置为:
if(sonuc != null){
//your code
}
您的logcat映像在onPostExecute()
方法中显示NumberFormatException
if(Integer.parseInt(sonuc) == 0).
所以,我猜您的'sonuc'字符串为空。请检查一下'sonuc'的值。
为避免碰撞,请将条件设置为:
if(sonuc != null){
//your code
}
感谢您的帮助。sonuc是获得注册的结果。我认为它在php mysql中存在问题。我使用了您的代码并删除了错误,但它没有注册,也没有登录。感谢您的帮助。我想我理解了…我很高兴它帮了我的忙。:)您可以放弃投票或接受回答谢谢您的帮助。sonuc是获得注册的结果。我认为它在php mysql中存在问题。我使用了您的代码并删除了错误,但它没有注册,也没有登录。谢谢您的帮助。我想我理解了…我很高兴它有帮助。:)您可以放弃投票或接受回答