H
h00ligan
Neues Mitglied
- 0
Hey Leute
Ich habe eine klasse gemacht, die einen Thread aufruft indem die rückgabe eines php-scripts abgefangen wird und in der variable data_arraylist gespeichert wird
sobald dieser thread beendet ist, soll die getData-funktion (die den thread aufruft) ein return mit der variable data_arraylist machen.
hier ein beispiel wie ich die getData funktion aufrufe (aus einer anderen activity heraus):
Scripty scripty_test = new Scripty();
scripty_test_result = scripty_test.getData("www.blablubb.de", "?parameter=lalelu");
scripty_test_result beinhaltet dann die zurückgegebene arraylist
hier der code der klasse "scripty":
Leider bricht das Script bei folgender for-schleife ab:
Hoffentlich kann mir jemand helfen
Ich habe eine klasse gemacht, die einen Thread aufruft indem die rückgabe eines php-scripts abgefangen wird und in der variable data_arraylist gespeichert wird
sobald dieser thread beendet ist, soll die getData-funktion (die den thread aufruft) ein return mit der variable data_arraylist machen.
hier ein beispiel wie ich die getData funktion aufrufe (aus einer anderen activity heraus):
Scripty scripty_test = new Scripty();
scripty_test_result = scripty_test.getData("www.blablubb.de", "?parameter=lalelu");
scripty_test_result beinhaltet dann die zurückgegebene arraylist
hier der code der klasse "scripty":
Code:
public class Scripty {
Boolean jsonStatus = false;
JSONObject jsonResponse;
String jsonMsg = "";
public ArrayList<String> data_arraylist = new ArrayList<String>();
String url = "";
String params = "";
Integer responseLength = 0;
public ArrayList<String> getData(String targeturl, String urlparams){
url = targeturl;
params = urlparams;
checkUpdate.start();
while(checkUpdate.isAlive()){
try {
synchronized(this) {
wait(50);
System.out.println("wait");
}
} catch (InterruptedException e) {
}
}
System.out.println("data_array size: " + String.valueOf(data_arraylist.size()));
return data_arraylist;
}
private Thread checkUpdate = new Thread() {
public void run() {
try {
URL updateURL = new URL(url + params);
URLConnection conn = updateURL.openConnection();
InputStream is = conn.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
ByteArrayBuffer baf = new ByteArrayBuffer(50);
int current = 0;
while((current = bis.read()) != -1){
baf.append((byte)current);
}
jsonResponse = new JSONObject(new String(baf.toByteArray()));
jsonStatus = jsonResponse.getBoolean("status");
if(jsonStatus == true){
responseLength = jsonResponse.length()-2;
if(responseLength > 0){
<<< hier bricht das script ab >>>
for(int i = 0; i < responseLength; i++){
data_arraylist.add(jsonResponse.getString(""+String.valueOf(i)+""));
System.out.println("array add");
}
}else{
System.out.println("jsonStatus FALSE > 0");
data_arraylist.add("false");
}
}else{
System.out.println("jsonStatus FALSE");
data_arraylist.add("false");
}
System.out.println("ende");
} catch (Exception e) {
}
}
};
}
Leider bricht das Script bei folgender for-schleife ab:
Code:
for(int i = 0; i < responseLength; i++){
Hoffentlich kann mir jemand helfen