Мой код дает мне исключение «ссылка на нулевой указатель объекта» после того, как я отладил, я обнаружил, что переменная ответа (response = httpClient.execute (httpGet, localContext);) равна нулю. И моя ошибка, как я полагаю, заключается в использовании HTTP-клиента. Как мне преобразовать это в HTTPS, потому что это вроде как требует, но я не уверен.
class MyTask extends AsyncTask<String, Void, Void> {
@Override
protected Void doInBackground(String ... url) {
String url2=url[0];
HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
//String url2=url[0];
HttpGet httpGet = new HttpGet(url2);
HttpResponse response = null;
try {
response = httpClient.execute(httpGet, localContext);
} catch (IOException e) {
e.printStackTrace();
}
String result = "";
BufferedReader reader = null;
try {
reader = new BufferedReader(
new InputStreamReader(
response.getEntity().getContent()
)
);
} catch (IOException e) {
e.printStackTrace();
}
String line = null;
while (true) {
try {
if (!((line = reader.readLine()) != null)) break;
} catch (IOException e) {
e.printStackTrace();
}
result += line + "\n";
}
String FILENAME = "file";
FileOutputStream fos = null;
try {
fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
fos.write(result.getBytes());
} catch (IOException e) {
e.printStackTrace();
}
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
Если я ошибаюсь, пожалуйста, сообщите мне. Заранее спасибо