데이터를 서버에 전송 메쏘드를 for문으로 돌려서 데이터를 전송하고 있습니다.
문제는..DB에 1,2,3번 아이템이 있으면, 전송될때마다 4번..5번..6번..숫자가 더해져서 기록되는데요..
for문으로 돌리니까 4,5,6번 이렇게 더해지는게 아니고 4번 4번 4번 이렇게 중복되어 저장됩니다..
한 for문에서 각 인덱스마다 서버 전송 메쏘드가 완료되고 다음 인덱스에서 메쏘드를 실행해야 하는데..동시에 서버로 전송되다 보니 문제가 발생하는 것 같습니다ㅜㅜ
방법이 뭐가 있을까요...?
아래는 서버전송 메쏘드 안의 코드내용 첨부합니다 ㅜㅜ 아래 메쏘드를 for문으로 돌렸습니다.
new Thread() {
public void run() {
try {
URL url;
HttpURLConnection http;
url = new URL(
"url 주소~~~");
http = (HttpURLConnection) url.openConnection();
http.setDefaultUseCaches(false);
http.setDoInput(true);
http.setDoOutput(true);
http.setRequestMethod("POST");
StringBuffer buffer = new StringBuffer();
buffer.append("mId").append("=").append(URLEncoder.encode(sh_pre.getValue("id", "id"), "utf-8")).append("&")
.append("mSort").append("=").append(sort).append("&")
.append("mXY").append("=").append(y);
Log.i("buffer", buffer.toString());
OutputStreamWriter outStream = new OutputStreamWriter(
http.getOutputStream(), "utf-8");
PrintWriter writer = new PrintWriter(outStream);
writer.write(buffer.toString());
writer.flush();
InputStreamReader tmp = new InputStreamReader(
http.getInputStream(), "utf-8");
BufferedReader reader = new BufferedReader(tmp);
StringBuilder builder = new StringBuilder();
String str;
while ((str = reader.readLine()) != null) {
builder.append(str);
}
SpliteStr = builder.toString().split("~");
han.post(new Runnable() {
public void run() {
}
});