XML을 JSON으로 변환하기 위해 추출하는 방법을 사용하고 있습니다.응용 프로그램이 응답하지 않는 것을 방지하는 방법 대화 상자가 표시되지 않습니다.
- 먼저 XML의 API 호출에 대한 URL을 전달한 다음 데이터를 추출하여 String에 넣습니다.
- 이 Library을 사용하면 I 이 xml을 JSON 개체로 변환합니다.
- 마지막으로 json 객체 데이터 을 사용하여 웹 데이터를 가져 와서 내 recyclerviews를 채 웁니다.
..! 어떤 도움?
public static void getResponse(final String xmlLink, final Activity activity,
final GetJSONRespone getjson) {
Handler uiHandler = new Handler(Looper.getMainLooper());
uiHandler.post(new Runnable() {
@Override
public void run() {
URL url = null;
BufferedReader in = null;
try {
url = new URL(xmlLink);
in = new BufferedReader(
new InputStreamReader(
url.openStream(), "UTF-8"));
String inputLine;
System.setProperty("http.keepAlive", "false");
StringBuilder builder = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
builder.append(inputLine);
}
String urlContent = builder.toString();
XmlToJson xmlToJson = new XmlToJson.Builder(urlContent).build();
JSONObject response = xmlToJson.toJson();
Log.i("response: ", response.toString());
getjson.getJSON(response);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
});
}
API에서 데이터를 다운로드하거나 volly 및 Retrofit과 같은 제 3 자 라이브러리를 사용하려면 asyntask를 사용하십시오. –
https://developer.android.com/training/articles/perf-anr.html#anr – Kuffs
JSON 응답을 위해 Volley 또는 RetroFit을 사용해보고 ANR을 처리하려면 -https : //developer.android.com을 실행하십시오. /training/articles/perf-anr.html –