DB에 위도 경도 열이 존재하고 php를 통해서 안드로이드쪽으로 json형태로 위도 경도 값을 받아옵니다. 여기까지는 별문제없이 잘되고 있습니다... <div><br></div> <div>근데 받아올때 DB에서 가장 마지막값만 읽어 오더라고요. 반대로 안드로이드에서 DB로 실시간으로 위도 경도값을 넘겨주는 작업도 해야하는데 스레드 반복을 어떻게 할지 감이 안잡힙니다 ..</div> <div><pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'Source Code Pro';font-size:10.5pt;"><span style="color:#cc7832;">package </span>org.androidtown.location<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"><br></span><span style="color:#cc7832;">import </span>android.os.AsyncTask<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;">import </span>android.os.Bundle<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;">import </span>android.support.v7.app.AppCompatActivity<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;">import </span>android.widget.Button<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;">import </span>android.widget.EditText<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"><br></span><span style="color:#cc7832;">import </span>org.json.JSONArray<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;">import </span>org.json.JSONException<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;">import </span>org.json.JSONObject<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"><br></span><span style="color:#cc7832;">import </span>java.io.BufferedReader<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;">import </span>java.io.InputStreamReader<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;">import </span>java.net.HttpURLConnection<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;">import </span>java.net.URL<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;">import </span>java.util.ArrayList<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"><br></span><span style="color:#cc7832;"><br></span><span style="color:#cc7832;">public class </span>ParentActivity <span style="color:#cc7832;">extends </span>AppCompatActivity {<br><br><br> Button <span style="color:#9876aa;">button</span><span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span>EditText <span style="color:#9876aa;">gpsinfo</span><span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span>EditText <span style="color:#9876aa;">txt</span><span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span>phpDown <span style="color:#9876aa;">task</span><span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span>ArrayList<ListItem> <span style="color:#9876aa;">listItem </span>= <span style="color:#cc7832;">new </span>ArrayList<ListItem>()<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span>ListItem <span style="color:#9876aa;">Item</span><span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"><br></span><span style="color:#cc7832;"><br></span><span style="color:#cc7832;"> </span><span style="color:#bbb529;">@Override<br></span><span style="color:#bbb529;"> </span><span style="color:#cc7832;">protected void </span><span style="color:#ffc66d;">onCreate</span>(Bundle savedInstanceState) {<br><span style="color:#cc7832;">super</span>.onCreate(savedInstanceState)<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span>setContentView(R.layout.<span style="color:#9876aa;font-style:italic;">activity_parent</span>)<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span><span style="color:#9876aa;">task </span>= <span style="color:#cc7832;">new </span>phpDown()<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span><span style="color:#9876aa;">gpsinfo </span>= (EditText) findViewById(R.id.<span style="color:#9876aa;font-style:italic;">gpsinfo</span>)<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span><span style="color:#9876aa;">txt </span>= (EditText) findViewById(R.id.<span style="color:#9876aa;font-style:italic;">editText3</span>)<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span><span style="color:#9876aa;">task</span>.execute(<span style="color:#6a8759;">"<a target="_blank" href="http://gpsserver.iptime.org/load.php">http://gpsserver.iptime.org/load.php</a>"</span>)<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span>Button button = (Button) findViewById(R.id.<span style="color:#9876aa;font-style:italic;">button6</span>)<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span>} <span style="color:#808080;">//oncreate<br></span><span style="color:#808080;"><br></span><span style="color:#808080;"> </span><span style="color:#cc7832;">public class </span>ListItem {<br><br><span style="color:#cc7832;">private </span>String[] <span style="color:#9876aa;">mData</span><span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"><br></span><span style="color:#cc7832;"> public </span><span style="color:#ffc66d;">ListItem</span>(String[] data) {<br><span style="color:#9876aa;">mData </span>= data<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span>}<br><br><span style="color:#cc7832;">public </span><span style="color:#ffc66d;">ListItem</span>(String txt1<span style="color:#cc7832;">, </span>String txt2) {<br><span style="color:#9876aa;">mData </span>= <span style="color:#cc7832;">new </span>String[<span style="color:#6897bb;">100</span>]<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span><span style="color:#9876aa;">mData</span>[<span style="color:#6897bb;">0</span>] = txt1<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span><span style="color:#9876aa;">mData</span>[<span style="color:#6897bb;">1</span>] = txt2<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span>}<br><br><span style="color:#cc7832;">public </span>String[] <span style="color:#ffc66d;">getData</span>() {<br><span style="color:#cc7832;">return </span><span style="color:#9876aa;">mData</span><span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span>}<br><br><span style="color:#cc7832;">public </span>String <span style="color:#ffc66d;">getData</span>(<span style="color:#cc7832;">int </span>index) {<br><span style="color:#cc7832;">return </span><span style="color:#9876aa;">mData</span>[index]<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span>}<br><br><span style="color:#cc7832;">public void </span><span style="color:#ffc66d;">setData</span>(String[] data) {<br><span style="color:#9876aa;">mData </span>= data<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span>}<br> }<br><br><span style="color:#cc7832;">private class </span>phpDown <span style="color:#cc7832;">extends </span>AsyncTask<String<span style="color:#cc7832;">, </span>Integer<span style="color:#cc7832;">, </span>String> {<br><br><br><span style="color:#bbb529;">@Override<br></span><span style="color:#bbb529;"> </span><span style="color:#cc7832;">protected </span>String <span style="color:#ffc66d;">doInBackground</span>(String... urls) {<br><br> StringBuilder jsonHtml = <span style="color:#cc7832;">new </span>StringBuilder()<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> try </span>{<br><span style="color:#808080;">// </span><span style="color:#808080;font-family:'DejaVu Sans';">연결</span><span style="color:#808080;"> url </span><span style="color:#808080;font-family:'DejaVu Sans';">설정<br></span><span style="color:#808080;font-family:'DejaVu Sans';"> </span>URL url = <span style="color:#cc7832;">new </span>URL(urls[<span style="color:#6897bb;">0</span>])<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span><span style="color:#808080;">// </span><span style="color:#808080;font-family:'DejaVu Sans';">커넥션 객체 생성<br></span><span style="color:#808080;font-family:'DejaVu Sans';"> </span>HttpURLConnection conn = (HttpURLConnection) url.openConnection()<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span><span style="color:#808080;">// </span><span style="color:#808080;font-family:'DejaVu Sans';">연결되었으면</span><span style="color:#808080;">.<br></span><span style="color:#808080;"> </span><span style="color:#cc7832;">if </span>(conn != <span style="color:#cc7832;">null</span>) {<br> conn.setConnectTimeout(<span style="color:#6897bb;">10000</span>)<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span>conn.setUseCaches(<span style="color:#cc7832;">false</span>)<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span><span style="color:#808080;">// </span><span style="color:#808080;font-family:'DejaVu Sans';">연결되었음 코드가 리턴되면</span><span style="color:#808080;">.<br></span><span style="color:#808080;"> </span><span style="color:#cc7832;">if </span>(conn.getResponseCode() == HttpURLConnection.<span style="color:#9876aa;font-style:italic;">HTTP_OK</span>) {<br> BufferedReader br = <span style="color:#cc7832;">new </span>BufferedReader(<span style="color:#cc7832;">new </span>InputStreamReader(conn.getInputStream()<span style="color:#cc7832;">, </span><span style="color:#6a8759;">"UTF-8"</span>))<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> for </span>(<span style="color:#cc7832;">; ; </span>) {<br><span style="color:#808080;">// </span><span style="color:#808080;font-family:'DejaVu Sans';">웹상에 보여지는 텍스트를 라인단위로 읽어 저장</span><span style="color:#808080;">.<br></span><span style="color:#808080;"> </span>String line = br.readLine()<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> if </span>(line == <span style="color:#cc7832;">null</span>) <span style="color:#cc7832;">break;<br></span><span style="color:#cc7832;"> </span><span style="color:#808080;">// </span><span style="color:#808080;font-family:'DejaVu Sans';">저장된 텍스트 라인을</span><span style="color:#808080;"> jsonHtml</span><span style="color:#808080;font-family:'DejaVu Sans';">에 붙여넣음<br></span><span style="color:#808080;font-family:'DejaVu Sans';"> </span>jsonHtml.append(line + <span style="color:#6a8759;">"</span><span style="color:#cc7832;">\n</span><span style="color:#6a8759;">"</span>)<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span>}<br> br.close()<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span>}<br> conn.disconnect()<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span>}<br> } <span style="color:#cc7832;">catch </span>(Exception ex) {<br> ex.printStackTrace()<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span>}<br><span style="color:#cc7832;">return </span>jsonHtml.toString()<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"><br></span><span style="color:#cc7832;"> </span>}<br><br><span style="color:#cc7832;">protected void </span><span style="color:#ffc66d;">onPostExecute</span>(<span style="color:#cc7832;">final </span>String str) {<br><br><br><span style="color:#808080;">// gpsinfo.setText(str);<br></span><span style="color:#808080;"><br></span><span style="color:#808080;"><br></span><span style="color:#808080;"> </span>String txt1<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span>String txt2<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> try </span>{<br><br> JSONObject root = <span style="color:#cc7832;">new </span>JSONObject(str)<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span>JSONArray ja = root.getJSONArray(<span style="color:#6a8759;">"results"</span>)<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> for </span>(<span style="color:#cc7832;">int </span>i = <span style="color:#6897bb;">0</span><span style="color:#cc7832;">; </span>i < ja.length()<span style="color:#cc7832;">; </span>i++) {<br> JSONObject jo = ja.getJSONObject(i)<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span>txt1 = jo.getString(<span style="color:#6a8759;">"Latitude"</span>)<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span>txt2 = jo.getString(<span style="color:#6a8759;">"Longitude"</span>)<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span><span style="color:#9876aa;">listItem</span>.add(<span style="color:#cc7832;">new </span>ListItem(txt1<span style="color:#cc7832;">, </span>txt2))<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span>}<br> } <span style="color:#cc7832;">catch </span>(JSONException e) {<br> e.printStackTrace()<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"> </span>}<br><br><span style="color:#9876aa;">gpsinfo</span>.setText(<span style="color:#9876aa;">listItem</span>.get(<span style="color:#6897bb;">0</span>).getData(<span style="color:#6897bb;">0</span>) + <span style="color:#6a8759;">" " </span>+ <span style="color:#9876aa;">listItem</span>.get(<span style="color:#6897bb;">0</span>).getData(<span style="color:#6897bb;">1</span>))<span style="color:#cc7832;">;<br></span><span style="color:#cc7832;"><br></span><span style="color:#cc7832;"><br></span><span style="color:#cc7832;"> </span>} <span style="color:#808080;">//onPostExcute<br></span><span style="color:#808080;"><br></span><span style="color:#808080;"><br></span><span style="color:#808080;"> </span>} <span style="color:#808080;">//class main<br></span><span style="color:#808080;"><br></span><span style="color:#808080;"><br></span>} <span style="color:#808080;">//Maii<br></span><span style="color:#808080;"><br></span><span style="color:#808080;"><br></span><span style="color:#808080;">doinBackground는 php에서 json형식으로 보내준 파일 읽어오는곳이고 </span>onPostExecute 에서 레이아웃에 출력할수있게 짜진 코드인데요</pre><pre style="background-color:#2b2b2b;font-family:'Source Code Pro';font-size:10.5pt;"></pre><pre style="background-color:#2b2b2b;font-family:'Source Code Pro';font-size:10.5pt;"><span style="color:#808080;"><br></span><span style="color:#808080;"><br></span><span style="color:#808080;"><br></span><span style="color:#808080;"><br></span><span style="color:#808080;"><br></span></pre></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.