2016-08-04 2 views
0

私はokHttpを使用しています。
私のURLは大丈夫です。
しかし、エミュレータや実​​際のデバイスでそのアプリケーションを実行すると、エラーは表示されません。しかし、それは気象データを記録していません。ログに天気データがありません

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] 

と私はインターネットのアクセス許可を追加しました。だから

+0

あなたの 'OkHttpClient'にログを記録し、リクエストをしているときに何が起こっているのかを確認してください。 – Egor

+0

あなたが作成したタスクを実行する必要があります(https://developer.android.com/reference/android/os/AsyncTask.html#execute(Params ...) – Serg

+0

私はそれを再度実行して、getslotfrombuffer lockedを表示しています –

答えて

0

このフラグメントには問題:

  Log.d(TAG,responsedata); 
      responsedata = response.body().string(); 

それは逆の順序であってはなりません。
そして次は、あなたがAsyncTask<Void, Void, String>
そして1以上によると、一般的な方法はAsyncTaskを拡張し、この独自のクラスを使用することですdoInBackgroundからStringを返す必要があります。

+0

気象データは表示されていませんが、良いニュースはエラーを表示していませんログのみD/MainActivity:[email protected] –

+0

はキューを更新しました –

+0

私はtoStringを文字列と置き換えました。 log –

関連する問題