android studio fragment asynctask hatası
17.11.2017 - 10:08
Merhabalar
Fragment içerisinde asynctask ile işlem yapmaya çalışıyorum. Aşağıda kodları yazdım fakat
GirisKontrol().execute(); bölümünde
cannot find symbol meyhod GirisKontrol()
pDialog = new ProgressDialog(login.this);
bölümünde ise
incompatible types:login cannot be converted to Context
hatası alıyorum . Yardımcı olabilirseniz çok sevinirim
İyi çalışmalar
fragment classım
import android.app.AlertDialog;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.icu.text.SimpleDateFormat;
import android.icu.util.Calendar;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.util.ArrayList;
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 org.json.JSONException;
import org.json.JSONObject;
import static android.app.Activity.RESULT_OK;
/**
* Created by METEHAN on 16.11.2017.
*/
public class login extends Fragment {
EditText mail_input,sifre_input;
String mail,sifre,sonuc,tarih;
String URL_POST= "hamza.000webhostapp.com/login.php";
String hata_mesaji="";
ProgressDialog pDialog;
Boolean hata = false;
PostClass post = new PostClass();
JSONObject cevap=null;
public String donus_hata_mesaji;
@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(R.id.editText);
sifre_input = (EditText) view.findViewById(R.id.editText2);
mail = mail_input.getText().toString();//edittext değerini alıyoruz
sifre = sifre_input.getText().toString();//edittext değerini alıyoruz
cikis.setOnClickListener(new View.OnClickListener() { //Çıkış butonu tıklandığında
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Calendar c = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat("dd-MMM-yyyy");
tarih = format.format(c.getTime());
GirisKontrol().execute();
}
});
// Database db = new Database(getActivity());
// db.resetTables();
// db.kullaniciEkle(mail, sifre, tarih);
// Toast.makeText(getActivity(), "Kaydedildi", Toast.LENGTH_LONG).show();
return view;
}
class GirisKontrol extends AsyncTask<Void, Void, Void> {
private String sonucmesaji;
protected void onPreExecute() {
// progress dialog
pDialog = new ProgressDialog(login.this);
pDialog.setMessage("Giriş Yapılıyor...");
pDialog.setIndeterminate(true);
pDialog.setCancelable(false);
pDialog.show();
}
protected Void doInBackground(Void... unused) {
// Building Parameters
//String sifre_sha1 = Fonksiyonlar.sha1(sifre); //istersek sha1 şifreleme fonksiyonunu kullanabiliriz
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("mail", mail));
params.add(new BasicNameValuePair("sifre", sifre));
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 giriş başarılı ise
Database db = new Database(getActivity());
db.resetTables();
db.kullaniciEkle(mail, sifre, tarih); //kullanıcıyı ekliyoruz.Ve Main activitye yönlendiriyoruz.
//Sonuc başarılı ise main activitye yönlendirdk.
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();
FragmentAndroid fragmentAndroid = new FragmentAndroid();
ft.replace(R.id.content_frame, fragmentAndroid);
ft.addToBackStack(null);
ft.commit();
}
}
} 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(login.this).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();
// }
// }
// });
Toast.makeText(getActivity(), sonucmesaji, Toast.LENGTH_LONG).show();
}
}
}
86
Görüntülenme
0 Beğeni