Java 我的注册应用程序已停止,我尝试了很多次,但无法解决此问题
我试图制作一个注册应用程序,但不起作用,这是我的代码,怎么了 错误日志:Java 我的注册应用程序已停止,我尝试了很多次,但无法解决此问题,java,android,Java,Android,我试图制作一个注册应用程序,但不起作用,这是我的代码,怎么了 错误日志: E/OpenGLRenderer: SFEffectCache:clear(), mSize = 0 W/Adreno-ES20: <core_glDeleteShader:170>: GL_INVALID_VALUE W/art: Suspending all threads took: 8.083ms E/Win
E/OpenGLRenderer: SFEffectCache:clear(), mSize = 0
W/Adreno-ES20: <core_glDeleteShader:170>: GL_INVALID_VALUE
W/art: Suspending all threads took: 8.083ms
E/WindowManager: android.view.WindowLeaked: Activity com.example.phonebook.MainActivity has leaked window c com.android.internal.policy.impl.PhoneWindow$DecorView{2141305d V.E..... R......D 0,0-501,144} that was originally added here
at android.view.ViewRootImpl.<init>(ViewRootImpl.java:371)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:261)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
at android.app.Dialog.show(Dialog.java:298)
at com.example.phonebook.MainActivity$loginAccess.onPreExecute(MainActivity.java:118)
at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:587)
at android.os.AsyncTask.execute(AsyncTask.java:535)
at com.example.phonebook.MainActivity$2.onClick(MainActivity.java:89)
at android.view.View.performClick(View.java:5052)
at android.view.View$PerformClick.run(View.java:20162)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5753)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)
signn1.java
p
ublic class Signin1 extends Activity implements OnItemSelectedListener {
Button login, signin;
public String item;
public String gender;
private RadioGroup rg1;
private RadioButton rd1, rd2;
// private DatePicker datePicker;
//private Calendar calendar;
// private int year, month, day;
private EditText first_name, last_name, mobile_number, password, email_id, hint, conpassword;
private ProgressDialog pDialog;
int flag = 0;
JSONParser jsonParser = new JSONParser();
private static String url = "http://192.168.1.7/blood/register.php";
private static final String TAG_SUCCESS = "success";
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
item=parent.getItemAtPosition(position).toString();
// TODO Auto-generated method stub
}
public void onStart() {
super.onStart();
EditText txtDate=(EditText)findViewById(R.id.txtdate);
txtDate.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
if (hasFocus) {
DateDialog dialog=new DateDialog(v);
FragmentTransaction ft=getFragmentManager().beginTransaction();
dialog.show(ft, "DatePicker");
}
}
});
}
protected void onCreate(Bundle savedInstanceState) {
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads().detectDiskWrites().detectNetwork()
.penaltyLog().build());
super.onCreate(savedInstanceState);
setContentView(R.layout.signin1);
login = (Button) findViewById(R.id.login);
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(getApplicationContext(), MainActivity.class);
startActivity(i);
}
});
Spinner spinner = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.blood, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(this);
signin = (Button) findViewById(R.id.signin);
first_name = (EditText) findViewById(R.id.editText2);
last_name = (EditText) findViewById(R.id.editText1);
rg1 = (RadioGroup) findViewById(R.id.rg11);
rd1 = (RadioButton) findViewById(R.id.rd11);
rd2 = (RadioButton) findViewById(R.id.rd22);
mobile_number = (EditText) findViewById(R.id.mobile_number);
password = (EditText) findViewById(R.id.EditText01);
conpassword = (EditText) findViewById(R.id.editText3);
hint = (EditText) findViewById(R.id.hint);
email_id = (EditText) findViewById(R.id.email_id);
//calendar = Calendar.getInstance();
// year = calendar.get(Calendar.YEAR);
// month = calendar.get(Calendar.MONTH);
// day = calendar.get(Calendar.DAY_OF_MONTH);
signin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Check all fields
if (first_name.length() < 3) {
Toast.makeText(Signin1.this, "Please Enter correct name", Toast.LENGTH_LONG).show();
return;
}
if (last_name.length() < 4) {
Toast.makeText(Signin1.this, "Please Enter minimum 4 letters in password", Toast.LENGTH_LONG).show();
return;
}
if (mobile_number.length() < 11) {
Toast.makeText(Signin1.this, "Please Enter correct mobile number", Toast.LENGTH_LONG).show();
return;
}
if (password.length() < 4) {
Toast.makeText(Signin1.this, "Please Enter minimum 4 letters in password", Toast.LENGTH_LONG).show();
return;
}
String strPass1 = password.getText().toString();
String strPass2 = conpassword.getText().toString();
if (!strPass1.equals(strPass2)) {
Toast.makeText(Signin1.this,
"The password does not match.",
Toast.LENGTH_SHORT).show();
password.setText("");
conpassword.setText("");
return;
}
if (hint.length() < 4) {
Toast.makeText(Signin1.this, "Please Enter minimum 4 leters in hint", Toast.LENGTH_LONG).show();
return;
}
if (email_id.length() < 11) {
Toast.makeText(Signin1.this, "Please Enter correct email id", Toast.LENGTH_LONG).show();
return;
}
//check connectivity
if (!isOnline(Signin1.this)) {
Toast.makeText(Signin1.this, "No network connection", Toast.LENGTH_LONG).show();
return;
}
//String h = hint.getText().toString();
String name1 = first_name.getText().toString();
String name2 = last_name.getText().toString();
String gender1=rd1.getText().toString();
String gender2=rd2.getText().toString();
switch(rg1.getCheckedRadioButtonId())
{
case R.id.rd11 :
gender=gender1;
case R.id.rd22 :
gender=gender2;
}
String number = mobile_number.getText().toString();
String pwd = password.getText().toString();
String id = email_id.getText().toString();
//from login.java
new loginAccess().execute(name1,name2,gender,number,pwd,id);
}
private boolean isOnline(Context mContext) {
ConnectivityManager cm = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnectedOrConnecting()) {
return true;
}
return false;
}
//Close code that check online details
});
}
class loginAccess extends AsyncTask<String, String, String> {
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(Signin1.this);
pDialog.setMessage("Sig in...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
@Override
protected String doInBackground(String... args) {
List<NameValuePair> params = new ArrayList<NameValuePair>();
String name1 = args[0];
String name2 = args[1];
String gender=args[2];
String number = args[3];
String pwd = args[4];
//String h = args[2];
String id = args[5];
params.add(new BasicNameValuePair("frist_name", name1));
params.add(new BasicNameValuePair("last_name", name2));
params.add(new BasicNameValuePair("gendar", gender));
params.add(new BasicNameValuePair("mobile_number", number));
params.add(new BasicNameValuePair("pass", pwd));
//params.add(new BasicNameValuePair("hint", h));
params.add(new BasicNameValuePair("email", id));
//params.add(new BasicNameValuePair("blood", item));
JSONObject json = jsonParser.makeHttpRequest(url, "POST", params);
Log.d("Create Response", json.toString());
try {
int success = json.getInt(TAG_SUCCESS);
if (success == 1) {
flag = 0;
Intent i = new Intent(getApplicationContext(), Welcome.class);
i.putExtra("mobile_number", number);
i.putExtra("pass", pwd);
startActivity(i);
finish();
} else {
// failed to Sign in
flag = 1;
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String file_url) {
pDialog.dismiss();
if (flag == 1)
Toast.makeText(Signin1.this, "Please Enter Correct informations", Toast.LENGTH_LONG).show();
}
}
}
在onPostExecute方法中,您将关闭进度对话框。
但您已经完成了doInBackground方法中的活动
当您尝试访问某个对话框(当您的活动不再存在时)时,会出现泄漏的窗口异常
返回json.toString;在你的工作中
将下面的代码从DoinBackground移动到OnPostExecute
这是由于您的进度对话框。在onPostExecute中,输入以下条件:
if (progressDialog != null) {
progressDialog.dismiss();
progressDialog = null;
}
在onpostexecute:ifpDialog中使用此选项=null{pDialog.dismise;}感谢我解决的每一个人,问题出现在我的php数据库中。。该应用程序没有找到它,我编辑了php文件和url连接,现在运行良好
if (progressDialog != null) {
progressDialog.dismiss();
progressDialog = null;
}