이번에는 네트워크를 통하여
github 검색을 하는 것인데
이번 예제의 실행결과는 무조건 실패다.
solution project를 실행시켜도 app 에러가 난다.
다음예제인 T02.05에서 해결이 되는 것이니 TODO 설정을 제대로 한 뒤에 다음 강좌로 넘어가기 바란다.
![](https://t1.daumcdn.net/cfile/tistory/9996B9335C3ABA4732)
<!--TODO (1) Add the INTERNET permission-->
AndroidManifest.xml 에 internet을 사용하는 권한 추가
![](https://t1.daumcdn.net/cfile/tistory/992EFC385C3ABAE92C)
// TODO (2) Call getResponseFromHttpUrl and display the results in mSearchResultsTextView
// TODO (3) Surround the call to getResponseFromHttpUrl with a try / catch block to catch an IOException
MainActivity의 makeGithubSearchQuery method 에서 쿼리조회를 하고 결과를 가져온다.
network을 사용할 때 오류가 날 수 있으니 IOException으로 감싸준다.
import java.io.IOException; ... private void makeGithubSearchQuery() { String githubQuery = mSearchBoxEditText.getText().toString(); URL githubSearchUrl = NetworkUtils.buildUrl(githubQuery); mUrlDisplayTextView.setText(githubSearchUrl.toString());
// TODO (2) Call getResponseFromHttpUrl and display the results in mSearchResultsTextView // TODO (3) Surround the call to getResponseFromHttpUrl with a try / catch block to catch an IOException String githubSearchResults = null; try { githubSearchResults = NetworkUtils.getResponseFromHttpUrl(githubSearchUrl); mSearchResultsTextView.setText(githubSearchResults); } catch (IOException e) { e.printStackTrace(); } } |
---
실행시켜보면 앱이 바로 종료된다.
Lotcat에서 확인해보면
![](data:image/png;base64,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)
2019-01-13 13:22:41.295 3960-3960/com.example.android.datafrominternet E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.android.datafrominternet, PID: 3960 android.os.NetworkOnMainThreadException at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1448) at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:102) at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:90) at java.net.InetAddress.getAllByName(InetAddress.java:787) at com.android.okhttp.Dns$1.lookup(Dns.java:39) at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:175) at com.android.okhttp.internal.http.RouteSelector.nextProxy(RouteSelector.java:141) at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:83) at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:174) at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:126) at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:95) at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:281) at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:224) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:461) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:407) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:244) at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getInputStream(DelegatingHttpsURLConnection.java:210) at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getInputStream(Unknown Source:0) at com.example.android.datafrominternet.utilities.NetworkUtils.getResponseFromHttpUrl(NetworkUtils.java:76) at com.example.android.datafrominternet.MainActivity.makeGithubSearchQuery(MainActivity.java:63) at com.example.android.datafrominternet.MainActivity.onOptionsItemSelected(MainActivity.java:80) at android.app.Activity.onMenuItemSelected(Activity.java:3435) |
로그는 거꾸 읽어가는 것임.
먼저 onMenuItemSelect에서 버튼클릭이 있어났고
onOptionsItemSelectd 에서 어떤버튼인지 확인한 다음.
makeGithubsearchQuery method 에서 NetworkUtils를 호출한다.
그 와중에 getInputStream 에서 최종 에러가 난 것이다.
위 에러가 나면 다음강좌로 넘어간다.
network 사용시에는 동기화라는 것이 필요한데 설정이 되어있지 않아서 발생하는 것임.