0
OS 5.0을 사용하여 프로그램을 만들었습니다. 8520 곡선의 에뮬레이터와 장치에서 잘 작동합니다.7.0이 아닌 OS 5.0에서 작동하는 응용 프로그램
이제이 응용 프로그램을 7.0 버전과 함께 사용하려고합니다.이 응용 프로그램은 장치에 HttpConnection
을 겹쳐서 쌓습니다. 내 프로그램 5.0 버전을 사용하여 9900 에뮬레이터에서 제대로 작동합니다. 2 가지 버전간에 차이점이 있습니까? 내 스레드에서 연결을 만드는 데 사용하는 코드를 넣고 있습니다. 나는이 문제에 대한 답을 어디서 찾을 수 있는지 모른다.
try {
mTimer = new Timer();
mTimer.schedule(new CountDown(), 60000);
UiApplication.getUiApplication().invokeLater(new Runnable() {
public void run() {
popup = new MyPopup("Cargando Incidentes...");
UiApplication.getUiApplication().pushModalScreen(popup);
}
});
conn = (HttpConnection) Connector.open(URL);
InputStream contentIn = conn.openInputStream();
byte[] data = new byte[400];
int length = 0;
StringBuffer raw = new StringBuffer();
while (-1 != (length = contentIn.read(data))) {
raw.append(new String(data, 0, length));
str = raw.toString();
}
UiApplication.getUiApplication().invokeLater(new Runnable() {
public void run() {
try {
conn.close();
UiApplication.getUiApplication().invokeLater(new Runnable() {
public void run() {
try {
String datos[] = mainScreen.split(str, "ENDOFPAGE");
datos[0] = datos[0].substring(2, datos[0].length());
mainScreen.vecRegistro = mainScreen.split(datos[0],"$");
mainScreen.insertoEnBd();
mainScreen.insertoEnTablaDatosBD(_act);
UiApplication.getUiApplication().popScreen(popup);
} catch (Exception e) {
e.printStackTrace();
mainScreen.add(new RichTextField("Error ThreadIncidentes.run: "+ e.toString()));
}
}
});
} catch (IOException e) {
e.printStackTrace();
}
}
});
return;
} catch (Exception e) {
}
private class CountDown extends TimerTask {
public void run() {
if (str.length() < 50){
UiApplication.getUiApplication().invokeLater(new Runnable() {
public void run() {
UiApplication.getUiApplication().popScreen(popup);
Dialog.alert("Error en la conexion");
System.exit(0);
clsThreadIncidentes.currentThread().interrupt();
}
});
return;
}
}
}