gpt4 book ai didi

php - Android eclipse 注册页面应用已停止错误

转载 作者:行者123 更新时间:2023-11-30 22:15:38 24 4
gpt4 key购买 nike

这个 android 项目使用来自 php mysql 的服务器中的数据库。在应该将数据注册到服务器上的数据库的 Activity 中。但是无法注册,应用程序已停止。它从注册 Activity 返回登录 Activity 。这是 Logcat 的图片。我无法解决这个问题。你能帮我吗?

Logcat picture

Kayit.java:

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();
}
}
});
}
}
}

最佳答案

您的 logcat 图像在您的 onPostExecute() 方法中显示 NumberFormatException

if(Integer.parseInt(sonuc) == 0).

所以,我猜你的“sonuc”字符串是空的。请检查一下您从“sonuc”获得的值(value)。为避免崩溃,请将条件设置为:

if(sonuc != null){
//your code
}

关于php - Android eclipse 注册页面应用已停止错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38396394/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com