Ich benutze okHttp.
Meine URL ist in Ordnung.
Aber wenn ich diese App auf einem Emulator oder einem echten Gerät ausführen, zeigt es nie einen Fehler. Aber es protokolliert nicht die Wetterdaten.Ich kann die Wetterdaten im Log nicht sehen
Mainactivity.java
package com.buckydroid.droidweather;
import android.app.DownloadManager;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import java.io.IOException;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
public class MainActivity extends AppCompatActivity {
public static String responsedata;
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView text = (TextView)findViewById(R.id.text) ;
new AsyncTask<Void, Void, String>() {
@Override
protected String doInBackground(Void... params) {
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder().url("https://api.forecast.io/forecast/11f696255d54c7cea3d097a6338bbaed/37.8267,-122.423").build();
try {
Response response = client.newCall(request).execute();
responsedata = response.body().toString();
Log.d(TAG,responsedata);
return responsedata;
} catch (IOException e) {
e.printStackTrace();
}
return responsedata;
}
}.execute();
}
}
LOG
08-04 17:27:31.847 18694-18694/com.buckydroid.droidweather I/art: Not late-enabling -Xcheck:jni (already on)
08-04 17:27:31.936 18694-18694/com.buckydroid.droidweather W/System: ClassLoader referenced unknown path: /data/app/com.buckydroid.droidweather-2/lib/x86
08-04 17:27:52.479 18694-18694/com.buckydroid.droidweather W/System: ClassLoader referenced unknown path: /data/app/com.buckydroid.droidweather-2/lib/x86
08-04 17:27:52.562 18694-18694/com.buckydroid.droidweather W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
08-04 17:27:52.603 18694-19012/com.buckydroid.droidweather D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
[ 08-04 17:27:52.613 18694:18694 D/ ]
HostConnection::get() New Host Connection established 0xaa99da20, tid 18694
[ 08-04 17:27:52.668 18694:19012 D/ ]
HostConnection::get() New Host Connection established 0xae407270, tid 19012
08-04 17:27:52.671 18694-19012/com.buckydroid.droidweather I/OpenGLRenderer: Initialized EGL, version 1.4
08-04 17:27:54.061 18694-18694/com.buckydroid.droidweather W/art: Verification of boolean android.support.v7.widget.ActionMenuPresenter.isOverflowReserved() took 180.240ms
08-04 17:27:56.127 18694-19011/com.buckydroid.droidweather D/MainActivity: [email protected]
Und ich hinzugefügt, um die Internet-Erlaubnis. Also kein Problem, dass
Konfigurieren Sie die Protokollierung auf Ihrem 'OkHttpClient' und sehen Sie, was genau passiert, wenn Sie die Anfrage stellen. – Egor
Sie müssen die Aufgabe ausführen, die Sie erstellt haben https://developer.android.com/reference/android/os/AsyncTask.html#execute (Params ...) – Serg
ich lief es wieder es zeigt getslotfrompuffer gesperrt –