Я хочу использовать httpclient в моем приложении для Android. Я знаю, что эта библиотека давно устарела, но я хочу использовать ее по некоторым причинам. Когда я пишу код для извлечения данных JSON с URL-адреса, эмулятор извлекает меня так: image
это мой код:
public class FirstExampleActivity extends AppCompatActivity {
TextView tv ;
public static final String URL = "http://androidtestapp.gigfa.com/mysite/guitarist.json";
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first_example);
tv = findViewById(R.id.tv);
}
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
MenuItem item = menu.add("GET");
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
Thread thread = new Thread(new Runnable() {
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
String content = msg.getData().getString("content");
tv.setText(content);
}
};
@Override
public void run() {
String content = getData();
Message message = new Message();
Bundle bundle = new Bundle();
bundle.putString("content",content);
message.setData(bundle);
handler.sendMessage(message);
}
});
thread.start();
return false;
}
});
return super.onCreateOptionsMenu(menu);
}
private String getData() {
HttpClient client = new DefaultHttpClient();
HttpGet method = new HttpGet(URL);
try{
HttpResponse response = client.execute(method);
InputStream stream = response.getEntity().getContent();
String content = Utils.inputStreamToString(stream);
return content ;
}
catch (Exception ex){
ex.printStackTrace();
}
return null ;
}
}