Я пытаюсь загрузить XML-файл с сервера, и я использую парсер XMLpull для его обработки, но он не загружает все данные каждый раз. Даже если я попробую подождать, чтобы скачать его (нить сна). У вас есть идея, почему это происходит или как решить проблему? Это моя функция, загрузить файлAndroid не получает все данные
/*XML read*/
private String downloadUrl(String myurl) throws IOException {
InputStream is = null;
int len = 100000;
try {
URL url_get = new URL(myurl);
HttpURLConnection conn = (HttpURLConnection) url_get.openConnection();
conn.setReadTimeout(15000 /* milliseconds */);
conn.setConnectTimeout(15000 /* milliseconds */);
conn.setRequestMethod("GET");
conn.setDoInput(true);
// Starts the query
conn.connect();
is = conn.getInputStream();
String contentAsString = readIt(is, len);
return contentAsString;
// Makes sure that the InputStream is closed after the app is
// finished using it.
} finally {
if (is != null) {
is.close();
}
}
}
public String readIt(InputStream stream, int len) throws IOException, UnsupportedEncodingException {
Reader reader = null;
reader = new InputStreamReader(stream, "UTF-8");
char[] buffer = new char[len];
reader.read(buffer);
return new String(buffer);
}
Я использую нить, чтобы запустить функцию конечно.
Вот нить:
Thread thread = new Thread(new Runnable() {
public void run() {
try {
Thread.sleep(100);
while (while_start)
{
if(While_getadat){
try {
get_xml = downloadUrl(URL_IMEI);
Thread.sleep(2000);
Global_XML_data=red_xml(get_xml);
Thread.sleep(1000);
While_getadat=false;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
UPDATE
Интересные thigs, что в режиме отладки работы программы properlly я получил каждый кусок DATAS
Я действительно не знаю почему. Есть идеи? – meklod400