마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

데이터 서버 전송시 중복 문제...

0 추천
데이터를 서버에 전송 메쏘드를 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() {
       
                        }
                    });
음트트트 (260 포인트) 님이 2016년 6월 23일 질문

1개의 답변

0 추천
http://blog.naver.com/robinnw/80211621541

thread 동기 문제로 보이네요.

url 참고 해 보시기 바랍니다.
모나미153 (17,540 포인트) 님이 2016년 6월 24일 답변
...