Android 4.4 sürümünün altında https den veri almada hata
17.09.2015 - 03:43
Selam arkadaşlar https ile hazırladığım veri sayfasından veri alırken android 4.4. ve üstü sürümlerde hata yaşamazken diğer sürümlerde hata alıyorum kodlarım şunlar yardımcı olursanız sevinirim
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.yemek);
Log.i("Baglant,dan oncesi", "1");
if (baglantilar.isOnline(getApplicationContext())) {
Log.i("Baglanti var", "1");
basicInitializations();
Log.i("burdayım", "30");
} else {
Toast.makeText(getApplicationContext(),
"İnternet Bağlantınızı kontrol ediniz.", Toast.LENGTH_SHORT)
.show();
// startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));
showDialog(DIALOG_ERROR_CONNECTION);
// finish();
}
}
public void basicInitializations() {
Log.i("burdayım", "4");
//linProgressBar = (LinearLayout) findViewById(R.id.proggressBar1);
Log.i("burdayım", "5");
try {
new Thread() {
public void run() {
initializeApp();
uiHandler.post(new Runnable() {
@Override
public void run() {
if (isUpdateRequired) {
} else {
new LongOperation().execute();
}
}
});
}
public void initializeApp() {
// Initialize application data here
}
}.start();
} catch (Exception e) {
}
}
class LongOperation extends AsyncTask<String, Void, String> { // Asenkron
ProgressDialog dialog;
// çalışma
@Override
protected String doInBackground(String... params) {
Log.i("burdayım", "2");
String yemekURL = "https://xxxxxx/Takvim/jsonver";
yemekresponseBody = baglantilar.postFromInternet(yemekURL,cookieTut);
Log.i("yemekResponse", yemekresponseBody);
return null;
}
@Override
protected void onPostExecute(String result) {
Log.i("burdayım", "3");
Intent i = new Intent(getApplicationContext(),yemekGirdi.class);
startActivity(i);
finish();
}
@Override
protected void onPreExecute() {
super.onPreExecute();
dialog = new ProgressDialog(yemek.this);
dialog.setMessage("Biraz Zaman Alabilir Lütfen Bekleyin");
dialog.setTitle("Menü Oluşturuluyor...");
dialog.show();
dialog.setCancelable(false);
}
@Override
protected void onProgressUpdate(Void... values) {
}
}
protected Dialog onCreateDialog(int id) { // programdaki tüm alertdialoglar
Dialog dialog = null;
switch (id) {
case DIALOG_ERROR_CONNECTION: // internet bağlantısı sorununda
// alertdialog
AlertDialog.Builder errorDialog = new AlertDialog.Builder(this);
errorDialog.setTitle("Hata");
errorDialog.setMessage("İnternet Bağlantınızı Kontrol Ediniz.");
errorDialog.setNeutralButton("Ayarlar",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
// dialog.dismiss();
startActivity(new Intent(
android.provider.Settings.ACTION_WIRELESS_SETTINGS));
}
});
errorDialog.setNegativeButton("Tamam",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.dismiss();
finish();
}
});
AlertDialog errorAlert = errorDialog.create();
return errorAlert;
case Zorunlu_Kapat: // veri alırken oluşn hatada kapat
AlertDialog.Builder kapat = new AlertDialog.Builder(this);
kapat.setMessage("Üzgünüz!!! Veriler Alınırken Hata Oluştu!!!")
.setCancelable(false)
.setPositiveButton("Programı Kapat",
new DialogInterface.OnClickListener() {
@SuppressLint("NewApi")
public void onClick(DialogInterface dialog,
int id) {
yemek.this.finish();
// moveTaskToBack(true);
}
})
.setNegativeButton("Yeniden Dene",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
startActivity(new Intent(
getApplicationContext(),
yemek.class));
dialog.cancel();
}
});
AlertDialog kapatalert = kapat.create();
return kapatalert;
case YANLIS_VERI_GIRISI: // yanlış login bilgileri durumunda alertdialog
AlertDialog.Builder errorDialog1 = new AlertDialog.Builder(this);
errorDialog1.setTitle("Hata");
errorDialog1.setMessage("Bilgileriniz Hatalı yada Eksik...");
errorDialog1.setNegativeButton("Tamam",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.dismiss();
}
});
AlertDialog errorAlert1 = errorDialog1.create();
return errorAlert1;
case CIKIS_YAP: // GEri tuşu ve menüdeki çıkış için alertdialog
AlertDialog.Builder cikis = new AlertDialog.Builder(this);
cikis.setMessage("Çıkmak istediğinizden emin misiniz?")
.setCancelable(false)
.setPositiveButton("Evet",
new DialogInterface.OnClickListener() {
@SuppressLint("NewApi")
public void onClick(DialogInterface dialog,
int id) {
yemekresponseBody = "";
yemek.this.finish();
// moveTaskToBack(true);
}
})
.setNegativeButton("Hayır",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
dialog.cancel();
}
});
AlertDialog cikisalert = cikis.create();
return cikisalert;
case EskiVersiyon: // GEri tuşu ve menüdeki çıkış için alertdialog
AlertDialog.Builder eskiversiyon = new AlertDialog.Builder(this);
eskiversiyon
.setMessage(
"Programın yeni sürümü mevcut. Güncellemeyi yapmanız gerekmektedir.")
.setCancelable(false)
.setPositiveButton("Evet",
new DialogInterface.OnClickListener() {
@SuppressLint("NewApi")
public void onClick(DialogInterface dialog,
int id) {
Intent browse = new Intent(
Intent.ACTION_VIEW,
Uri.parse("https://play.google.com/store/apps/"));
startActivity(browse);
// moveTaskToBack(true);
}
})
.setNegativeButton("Hayır",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
yemek.this.finish();
}
});
AlertDialog EskiVersiyonalert = eskiversiyon.create();
return EskiVersiyonalert;
case ILETISIM: // Menüdeki iletişim için alertdialog
AlertDialog.Builder Iletisim = new AlertDialog.Builder(this);
Iletisim.setMessage("Hangi Birime Ulaşmak İstersiniz...")
.setCancelable(true)
// geri tuÅŸunun fonksiyonunu iptal ediyor...
.setPositiveButton("Bilgi Ä°ÅŸlem",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
Intent Browser = new Intent(
Intent.ACTION_DIAL, Uri
.parse("tel:03842281008"));
startActivity(Browser);
}
})
.setNegativeButton("Öğrenci İşleri",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
Intent Browser1 = new Intent(
Intent.ACTION_DIAL, Uri
.parse("tel:03842281020"));
startActivity(Browser1);
}
})
.setNeutralButton("Rektörlük",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
Intent Browser2 = new Intent(
Intent.ACTION_DIAL, Uri
.parse("tel:03842281000"));
startActivity(Browser2);
}
});
AlertDialog iletisimalert = Iletisim.create();
iletisimalert.show();
}
return dialog;
}
veri alırken bağlantım bu
public static String postFromInternet(String url,CookieStore cookieTut) {
String response_str = null;
try {
HttpParams params = new BasicHttpParams();
params.setParameter(CoreProtocolPNames.PROTOCOL_VERSION,HttpVersion.HTTP_1_1);
DefaultHttpClient httpclient = new DefaultHttpClient(params);
HttpPost request = new HttpPost(url);
httpclient.getParams().setParameter(CoreProtocolPNames.USER_AGENT,"Android");
ResponseHandler<String> responseHandler = new BasicResponseHandler();
httpclient.setCookieStore(cookieTut);
response_str = httpclient.execute(request, responseHandler);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return response_str;
}
Karşılaştığım hata
09-17 12:19:05.567: I/burdayım(3682): 30
09-17 12:19:05.727: I/burdayım(3682): 2
09-17 12:19:05.937: I/Choreographer(3682): Skipped 33 frames! The application may be doing too much work on its main thread.
09-17 12:19:06.186: I/Choreographer(3682): Skipped 34 frames! The application may be doing too much work on its main thread.
09-17 12:19:08.477: D/dalvikvm(3682): GC_CONCURRENT freed 184K, 4% free 8608K/8903K, paused 15ms+21ms, total 122ms
09-17 12:19:09.617: W/System.err(3682): javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
09-17 12:19:09.617: W/System.err(3682): at org.apache.harmony.xnet.provider.jsse.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:146)
09-17 12:19:09.627: W/System.err(3682): at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:93)
09-17 12:19:09.627: W/System.err(3682): at org.apache.http.conn.ssl.SSLSocketFactory.createSocket(SSLSocketFactory.java:388)
09-17 12:19:09.649: W/System.err(3682): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:165)
09-17 12:19:09.667: W/System.err(3682): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
09-17 12:19:09.667: W/System.err(3682): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
09-17 12:19:09.677: W/System.err(3682): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
09-17 12:19:09.707: W/System.err(3682): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
09-17 12:19:09.747: W/System.err(3682): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:653)
09-17 12:19:09.747: W/System.err(3682): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:627)
09-17 12:19:09.797: W/System.err(3682): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:616)
09-17 12:19:09.807: W/System.err(3682): at com.dogandroid.kastamonuuniversitesi.baglantilar.postFromInternet(baglantilar.java:125)
09-17 12:19:09.807: W/System.err(3682): at com.dogandroid.kastamonuuniversitesi.yemek$LongOperation.doInBackground(yemek.java:104)
09-17 12:19:09.807: W/System.err(3682): at com.dogandroid.kastamonuuniversitesi.yemek$LongOperation.doInBackground(yemek.java:1)
09-17 12:19:09.817: W/System.err(3682): at android.os.AsyncTask$2.call(AsyncTask.java:287)
09-17 12:19:09.817: W/System.err(3682): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
09-17 12:19:09.847: W/System.err(3682): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
09-17 12:19:09.867: W/System.err(3682): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
09-17 12:19:09.867: W/System.err(3682): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
09-17 12:19:09.897: W/System.err(3682): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
09-17 12:19:09.917: W/System.err(3682): at java.lang.Thread.run(Thread.java:856)
09-17 12:19:09.926: W/dalvikvm(3682): threadid=11: thread exiting with uncaught exception (group=0x40a122a0)
09-17 12:19:10.137: E/AndroidRuntime(3682): FATAL EXCEPTION: AsyncTask #1
09-17 12:19:10.137: E/AndroidRuntime(3682): java.lang.RuntimeException: An error occured while executing doInBackground()
09-17 12:19:10.137: E/AndroidRuntime(3682): at android.os.AsyncTask$3.done(AsyncTask.java:299)
09-17 12:19:10.137: E/AndroidRuntime(3682): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
09-17 12:19:10.137: E/AndroidRuntime(3682): at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
09-17 12:19:10.137: E/AndroidRuntime(3682): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
09-17 12:19:10.137: E/AndroidRuntime(3682): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
09-17 12:19:10.137: E/AndroidRuntime(3682): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
09-17 12:19:10.137: E/AndroidRuntime(3682): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
09-17 12:19:10.137: E/AndroidRuntime(3682): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
09-17 12:19:10.137: E/AndroidRuntime(3682): at java.lang.Thread.run(Thread.java:856)
09-17 12:19:10.137: E/AndroidRuntime(3682): Caused by: java.lang.NullPointerException: println needs a message
09-17 12:19:10.137: E/AndroidRuntime(3682): at android.util.Log.println_native(Native Method)
09-17 12:19:10.137: E/AndroidRuntime(3682): at android.util.Log.i(Log.java:159)
09-17 12:19:10.137: E/AndroidRuntime(3682): at com.dogandroid.kastamonuuniversitesi.yemek$LongOperation.doInBackground(yemek.java:105)
09-17 12:19:10.137: E/AndroidRuntime(3682): at com.dogandroid.kastamonuuniversitesi.yemek$LongOperation.doInBackground(yemek.java:1)
09-17 12:19:10.137: E/AndroidRuntime(3682): at android.os.AsyncTask$2.call(AsyncTask.java:287)
09-17 12:19:10.137: E/AndroidRuntime(3682): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
09-17 12:19:10.137: E/AndroidRuntime(3682): ... 5 more
10
Görüntülenme
0 Beğeni