Soru & Cevap

json durduruldu hatalarını çözemiyorum try except???

04.01.2018 - 09:41

Merhabalar

Aşağıda yazdığım gibi bir login kodum var notmalde çalışıyor fakat giriş butonuna bastığımda giriş yapılıyorken internet bir anda koparsa uygulama durduruldu hatası veriyor. Try except ler ile bu işi çözmeye çalıştım ama tüm denemelerime ragmen olmadı. Kodum aşağıda bir bakarmısınız nerede hata yapıyor olabilirim...???

 

 

 


public class login extends Fragment implements View.OnClickListener {
    EditText mail_input,sifre_input;
    String mail,sifre,sonuc,tarih,sonucmesaji;
    String URL_POST= "http://www.temsilidir.xyz/login.php";
    String hata_mesaji="";
    ProgressDialog pDialog;
    Boolean hata = false;
    JSONObject cevap=null;


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        View view = inflater.inflate(R.layout.loginn, container,false);

        Button cikis = (Button) view.findViewById(R.id.button2);
        mail_input = (EditText) view.findViewById(editText);
        sifre_input = (EditText) view.findViewById(R.id.editText2);

       Calendar c = Calendar.getInstance();
        SimpleDateFormat format = new SimpleDateFormat("dd-MMM-yyyy");
        tarih = format.format(c.getTime());
       

 

        cikis.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                buttonClicked(v);

            }
        });
        

        return view;
    }

    


        public void buttonClicked (View view) {
        mail = mail_input.getText().toString();//edittext değerini alıyoruz
        sifre = sifre_input.getText().toString();//edittext değerini alıyoruz

       

        nctask classı çağırıyoruz.İşlemlere orda devam ediyoruz

                new girisKontrol().execute(mail,sifre);


        

 

 

    }

    @Override
    public void onClick(View view) {

    }


    @SuppressLint("StaticFieldLeak")
    private class girisKontrol extends AsyncTask<String, String ,String> {
        String result;
        protected void onPreExecute() {
            //  progress dialog

            pDialog = new ProgressDialog(getActivity());
            pDialog.setMessage("Giriş Yapılıyor...");
            pDialog.setIndeterminate(true);
            pDialog.setCancelable(false);
            pDialog.show();
        }


        @Override
        protected String doInBackground(String... strings) {
            List<NameValuePair> params = new ArrayList<NameValuePair>();
            params.add(new BasicNameValuePair("mail", mail));
            params.add(new BasicNameValuePair("sifre", sifre));
            try {
             result= postClass.Post(URL_POST,params);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return result;
        }

        @Override
        protected void onPostExecute(String s) {
        pDialog.dismiss();


            try {

                cevap = new JSONObject(s);
                sonucmesaji = cevap.getString("sonucmesaji");

                if (cevap.getString("sonuc") != null) {
                    sonuc = cevap.getString("sonuc");
                    if(Integer.parseInt(sonuc) == 1){ //Eğer giriş başarılı ise
                        Database db = new Database(getActivity());
                        db.resetTables();
                        db.kullaniciEkle(mail, sifre, tarih);
                        getFragmentManager().popBackStack("bayraklogin",FragmentManager.POP_BACK_STACK_INCLUSIVE);
                        FragmentManager fragmentManager = getFragmentManager();
                        FragmentTransaction ft = fragmentManager.beginTransaction();
                        FragmentAndroid fragmentAndroid = new FragmentAndroid();
                        ft.replace(R.id.content_frame, fragmentAndroid,"banaozelbayrak");
                        ft.addToBackStack("banaozelbayrak");
                        ft.commit();

 


                    }
                    if(Integer.parseInt(sonuc) == 0){// Sonuç başarılı değil ise
                        AlertDialog alertDialog = new AlertDialog.Builder(getActivity()).create();
                        alertDialog.setTitle("Hata");
                        alertDialog.setMessage(sonucmesaji);//Sonuc mesajıyla bilgilendiriyoruz.
                        alertDialog.setCancelable(false);
                        alertDialog.setButton(RESULT_OK,"Tamam", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int which) {
                                sifre_input.setText("");
                            }
                        });
                        alertDialog.show();
                    }
                }

            } catch (JSONException e) {
                e.printStackTrace();
            }

        }
    }
}

8 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user osman.asar
osman.asar
14.12.2019 - 11:00

Log.e ile debug edermisiniz boş değer hatası dönüyor olabilir.Kodu test etmedim debug yapmanızda ve anlamanızda fayda var