Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.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 我的注册应用程序已停止,我尝试了很多次,但无法解决此问题_Java_Android - Fatal编程技术网

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