android 개발 중입니다! <div>막막해서 고민하다가 프게에 올려봐여! 능력자분들이 많으신 것 같아서 ㅎㅎ</div> <div><br></div> <div>공공데이터포털(www.data.go.kr)에서 api를 신청했고, 허가받아서 이걸 이용해서 코딩을 하려고 합니다.</div> <div>그런데 다른 api들과는 다르게 가이드 라인도 안되어있고 (기껏해봐야 서비스 명세서...ㅠㅠ) 해서 정말 갑갑해요</div> <div>원하는 정보는 github이나 google 찾아봐도 안나오고 ㅠㅠ 제가 망충해서그런가!!하하하하ㅏ...</div> <div><br></div> <div>어디가 틀린지, 어떤식으로 해야할 지 조언을 주셨으면 좋겠습니다 :-)... 정리 잘 되어있는 사이트도 추천해주시면 매우 감사하겠습니다.ㅠㅠ</div> <div><br></div> <div>대략적인 정보는 이렇습니ㄷr.. </div> <div><br></div> <div><div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201507/14366984969k5FJMfIFQdhEUJhotfh2gkoU.png" width="795" height="598" alt="오유1.PNG" style="border:none;"></div> <div style="text-align:left;">=> 공공데이터 포탈 정보입니다. 저작권 관련 문제가 생길 수 있어서 답변 올라오면 이미지는 지워질 수 있습니다!! (후에 다른분들이 참고하실 수 있도록 이미지 텍스트로 설명하는 정도로 수정하겠습니다!)</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201507/1436698495QRUT7KeL4vjJRBVMv5T4GnEev57KWjWH.png" width="515" height="470" alt="오유2.PNG" style="border:none;"></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201507/1436698495bWbimtooT4Cc.png" width="495" height="292" alt="오유3.PNG" style="border:none;"></div> <div style="text-align:left;"><span style="font-size:11.9999990463257px;">=> 해당 api 제가 쓰려고 하는 기능 부분의 서비스명세서입니다. </span></div> <div style="text-align:left;"><span style="font-size:11.9999990463257px;"> 저작권 관련 문제가 생길 수 있어서 답변 올라오면 이미지는 지워질 수 있습니다!! (후에 다른분들이 참고하실 수 있도록 이미지 텍스트로 설명하는 정도로 수정하겠습니다!)</span></div><br></div> <div><br></div> <div>---------------------------</div> <div>코드입니다. 제가 json, xml 등등 파싱 관련해서 지식이 많은 편이 아니고, 기존에는 sdk로 사용하는 편이어서 ㅠ (이건 sdk 지원이 안되네요)ㅠㅠ</div> <div>어려움이 많습니다. 도움 부탁드립니다.</div> <div><br></div> <div><div>public class MainActivity extends ActionBarActivity {</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>@Override</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>protected void onCreate(Bundle savedInstanceState) {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>super.onCreate(savedInstanceState);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>setContentView(R.layout.activity_main);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>CallRestWS callRest = new CallRestWS();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>TextView text = (TextView)findViewById(R.id.textView1); // 전에 xml에 들어있는 값을 화면으로 보려고 선언해놓았어요</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>String xml;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>try {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>xml = callRest.restClient(); </div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>// xml이라는 String 형 변수에 리턴된 내용을 담으려고 했습니다. Try Catch문 없이는 오류가 나더군요</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>System.out.println(xml);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>} catch (Exception e) {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>// TODO Auto-generated catch block</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>System.out.println("실패"); //로그캣에 실패라고 뜹니다..ㅠㅠㅠㅠ쀼ㅠ!! </div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>e.printStackTrace();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>public class CallRestWS { </div> <div> private String restClient() throws Exception{</div> <div><br></div> <div> String addr = "<a target="_blank" href="http://ws.bus.go.kr/api/rest/pathinfo/getPathInfoByBusNSub">http://ws.bus.go.kr/api/rest/pathinfo/getPathInfoByBusNSub</a>"+"?ServiceKey=";</div> <div> String serviceKey = "HvVDM%2BPl%2FNNxJVNLBKHLpE35VjXtQg5N2AZiQeNwkr67Wr%2BqIbHEMKJ5qTLYXzzN5ZMztp4w7nEJ%2BxuxANkzDg%3D%3D";</div> <div> String parameter = ""; </div> <div><br></div> <div><br></div> <div> //인증키(서비스키) url인코딩</div> <div> serviceKey = URLEncoder.encode(serviceKey, "UTF-8");</div> <div><br></div> <div> parameter = parameter + "&" + "startX=37.626666";//광운대 (출발지점 X,Y값)</div> <div> parameter = parameter + "&" + "startY=127.025917";</div> <div> parameter = parameter + "&" + "endX=127.025917";//미아 (도착지점 X,Y값)</div> <div> parameter = parameter + "&" + "endY=127.060962";</div> <div> </div> <div> addr = addr + serviceKey + parameter;</div> <div> </div> <div> URL url = new URL(addr);</div> <div>// InputStream in = url.openStream();</div> <div>// CachedOutputStream bos = new CachedOutputStream();</div> <div>// IOUtils.copy(in, bos);</div> <div>//</div> <div>// in.close();</div> <div>// bos.close();</div> <div>// </div> <div>// return bos.getOut().toString();</div> <div>// 주석처리 된 부분은 아랫 부분이랑 같은 기능을 하는걸로 보입니다. 다른 코드 참고할 때 가져왔습니다. ㅠ </div> <div> </div> <div> BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(), "utf-8"));</div> <div> String inLine;</div> <div> String xml = "";</div> <div> while ((inLine = in.readLine()) != null) xml = inLine;</div> <div> in.close();</div> <div> </div> <div> return xml;</div> <div> }</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div>}</div></div> <div><br></div> <div># 매니페스트에서는 permission INTERNET으로 추가해주었습니다.</div> <div><br></div> <div>-----------------------------------</div> <div>로그캣입니다.</div> <div><br></div> <div><p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.389: W/ApplicationPackageManager(15132): getCSCPackageItemText()</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#9bbb59">07-12 20:03:38.389: I/PersonaManager(15132): getPersonaService() name persona_policy</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#9bbb59">07-12 20:03:38.449: I/dalvikvm(15132): Could not find method android.content.res.TypedArray.getChangingConfigurations, referenced from method android.support.v7.internal.widget.TintTypedArray.getChangingConfigurations</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.449: W/dalvikvm(15132): VFY: unable to resolve virtual method 405: Landroid/content/res/TypedArray;.getChangingConfigurations ()I</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#4f81bd">07-12 20:03:38.449: D/dalvikvm(15132): VFY: replacing opcode 0x6e at 0x0002</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#9bbb59">07-12 20:03:38.449: I/dalvikvm(15132): Could not find method android.content.res.TypedArray.getType, referenced from method android.support.v7.internal.widget.TintTypedArray.getType</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.449: W/dalvikvm(15132): VFY: unable to resolve virtual method 427: Landroid/content/res/TypedArray;.getType (I)I</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#4f81bd">07-12 20:03:38.449: D/dalvikvm(15132): VFY: replacing opcode 0x6e at 0x0002</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#9bbb59">07-12 20:03:38.559: I/System.out(15132): main(HTTPLog):SmartBonding Enabling is false, log to file is false, DBG is false</font></span></p><p></p> <p class="MsoNormal"><font color="#9bbb59"><span lang="en-us">07-12 20:03:38.559: I/System.out(15132): </span>실패</font><span lang="en-us"></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.559: W/System.err(15132): android.os.NetworkOnMainThreadException</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1156)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at java.net.InetAddress.lookupHostByName(InetAddress.java:385)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at java.net.InetAddress.getAllByName(InetAddress.java:214)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at com.android.okhttp.internal.Dns$1.getAllByName(Dns.java:28)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:216)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:122)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:387)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:340)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:286)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:296)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at com.android.okhttp.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:179)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at java.net.URL.openStream(URL.java:470)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at com.example.dataportalapitest.MainActivity$CallRestWS.restClient(MainActivity.java:96)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at com.example.dataportalapitest.MainActivity$CallRestWS.access$0(MainActivity.java:65)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at com.example.dataportalapitest.MainActivity.onCreate(MainActivity.java:45)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at android.app.Activity.performCreate(Activity.java:5426)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at android.app.ActivityThread.access$900(ActivityThread.java:161)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at android.os.Handler.dispatchMessage(Handler.java:102)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at android.os.Looper.loop(Looper.java:157)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at android.app.ActivityThread.main(ActivityThread.java:5356)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at java.lang.reflect.Method.invokeNative(Native Method)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at java.lang.reflect.Method.invoke(Method.java:515)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#f79646">07-12 20:03:38.569: W/System.err(15132): at dalvik.system.NativeStart.main(Native Method)</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#9bbb59">07-12 20:03:38.599: I/Adreno-EGL(15132): <qeglDrvAPI_eglInitialize:410>: EGL 1.4 QUALCOMM build: ()</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#9bbb59">07-12 20:03:38.599: I/Adreno-EGL(15132): OpenGL ES Shader Compiler Version: E031.24.00.08+13</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#9bbb59">07-12 20:03:38.599: I/Adreno-EGL(15132): Build Date: 03/20/14 Thu</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#9bbb59">07-12 20:03:38.599: I/Adreno-EGL(15132): Local Branch: 0320_AU200_patches</font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#9bbb59">07-12 20:03:38.599: I/Adreno-EGL(15132): Remote Branch: </font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#9bbb59">07-12 20:03:38.599: I/Adreno-EGL(15132): Local Patches: </font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#9bbb59">07-12 20:03:38.599: I/Adreno-EGL(15132): Reconstruct Branch: </font></span></p><p></p> <p class="MsoNormal"><span lang="en-us"><font color="#4f81bd">07-12 20:03:38.649: D/OpenGLRenderer(15132): Enabling debug mode 0</font></span></p> <p class="MsoNormal"><span lang="en-us"><font color="#4f81bd"><br></font></span></p> <p class="MsoNormal"><span lang="en-us">--------------</span></p> <p class="MsoNormal">로그캣 전부 올렸습니다! 초록/파랑/주황 색도 구분 해놓았습니다. </p></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.