JSON 응답을 받아야하는 메소드가 있습니다. 는 여기있다 :android asyncTask을 이해할 수 없습니다.
public HttpResponse getJson() {
HttpResponse response = null;
try {
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet();
request.setURI(new URI("https://mysite.com/android/showJson.php"));
response = client.execute(request);
} catch (URISyntaxException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return response;
}
showJson.php
반환이 : ["item 1","item 2"]
의 I 직면하고있어 문제 그것은 오류 던지고 때문에 나는, onCreate
의 내부 getJson
를 호출 할 수 있다는 것입니다 : android.os.NetworkOnMainThreadException
onCreate
안에 내 메서드를 호출하기 위해 내 메서드가 별도 클래스 안에 있어야한다는 것을 알았지 만 관리 할 수 없습니다. 나는 정말로 울게 될 것이고, 나는 asyncTask의 구문을 이해할 수 없다! 나는 작은 것을 놓치고 있다는 것을 압니다. 그러나 나는 초심자로 보지 못합니다. 나는 몇 가지 테스트 값으로 배열을 작성하고 listView
로 전달하지만, 지금은 getJson
의 항목을 작성해야 해요
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_top_jokes);
getJson();
String[] myStringArray = {"a","b","c","a","b","c","a","b","c","a","b","c","a","b","c","a","b","c"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, myStringArray);
ListView listView = (ListView) findViewById(R.id.topJokesList);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, show a toast with the TextView text
Toast.makeText(getApplicationContext(),
((TextView) view).getText(), Toast.LENGTH_SHORT).show();
}
});
}
: 여기
는onCreate
방법이다.
매개 변수없이 간단한 execute()로 호출 할 수 있습니다. –
네, 맞습니다. 그러나 어쩌면 나중에 그는 그것에 uri를 전달하고 있습니다. 그런 다음 그는 논쟁이 필요합니다. – EarlOfEgo
고마워요. 알아내는 데 시간이 좀 걸렸지 만 지금은 효과가 있습니다! :) – chility