こんにちは私は私が持っているgoogleのURLからJSONファイルを作成する際に問題があります。これは私が使用しているコードです。URLからJSONファイルを作成
import android.util.Log;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class DownloadUrl {
public String readUrl(String strUrl) throws IOException, InterruptedException {
Log.d("URLS = ",strUrl);
Thread.sleep(2000);
String data = "";
InputStream iStream = null;
HttpURLConnection urlConnection = null;
try {
URL url = new URL(strUrl);
// Creating an http connection to communicate with url
urlConnection = (HttpURLConnection) url.openConnection();
// Connecting to url
urlConnection.connect();
// Reading data from url
iStream = urlConnection.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(iStream));
StringBuffer sb = new StringBuffer();
String line = "";
while ((line = br.readLine()) != null) {
sb.append(line);
}
data = sb.toString();
Log.d("downloadUrl", data.toString());
br.close();
} catch (Exception e) {
Log.d("Exception", e.toString());
} finally {
iStream.close();
urlConnection.disconnect();
}
return data;
}
}
私はそれには、このように見えるURLを投げるとき、それは正常に動作します。 https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=40.7207523,-73.383851&radius=4828&type=bar&key=MYKEY
しかし、私はしようとすると、このように見えるURLをスローします。 https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJe3AmoGsr6IkRuWcK1LAh-DE&key=MYKEY
私はエラーを取得する:D/GooglePlacesReadTask:java.lang.NullPointerExceptionが:nullのオブジェクト参照の上 ')のボイドjava.io.InputStream.close(' 仮想メソッドを呼び出すための試みが
私は知りませんどのように私はこれを修正します。どんな助け?あなたは、これはアンドロイドである言及しなかった
.. は、一般的にAsyncTaskは、これらの作品のために使用されていますが、同じコードを使用したい場合は、単に追加書かれ、私は、コードに問題が表示されません。 どこでも、あなたはいつも追加することができます 'if(iStream!= null)iStream.close();' – nikhilr57
すごくお返事ありがとうございます。私はあなたが提案したものを試しました。今すぐ取得:D/GooglePlacesReadTask:android.os.NetworkOnMainThreadException –
なぜこれは1つのリンクで動作し、他のリンクではありませんか? –