[android] 안드로이드에서 네트워크 연결과 데이터 전송 방법
네트워크 연결
안드로이드 앱에서 네트워크 연결을 설정하려면 AndroidManifest.xml
파일에 다음과 같은 퍼미션을 추가해야 합니다.
<uses-permission android:name="android.permission.INTERNET" />
또한 안드로이드 9(Pie)부터는 암호화되지 않은 서비스와 연결하기 위해 android:usesCleartextTraffic
속성을 사용해야 합니다.
<application
android:usesCleartextTraffic="true"
...
</application>
네트워크 연결은 메인 스레드에서 수행하면 안 됩니다. 스레드 또는 비동기 작업을 이용하여 백그라운드에서 네트워크 요청을 처리해야 합니다.
데이터 전송
데이터를 전송하기 위해 안드로이드에서는 HTTP 통신을 위해 HttpURLConnection
또는 HttpClient
를 사용할 수 있습니다. 또는 더 최신의 방법으로는 Volley
나 Retrofit
라이브러리를 이용할 수도 있습니다.
예를 들어, HttpURLConnection
을 사용하여 GET 요청을 보내는 방법은 아래와 같습니다.
try {
URL url = new URL("http://example.com/api/data");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
// 데이터를 읽고 처리하는 코드 작성
} catch (Exception e) {
e.printStackTrace();
} finally {
urlConnection.disconnect();
}
Retrofit
라이브러리를 사용하는 경우, 인터페이스를 정의하고 해당 인터페이스를 사용하여 요청을 보낼 수 있습니다.
요약
안드로이드 앱에서 네트워크 연결과 데이터 전송을 설정하려면 권한을 설정하고, 백그라운드 스레드에서 네트워크 요청을 처리해야 합니다. HttpURLConnection
또는 라이브러리를 사용하여 데이터를 전송할 수 있습니다.
이상으로 안드로이드에서 네트워크 연결과 데이터 전송 방법에 대해 알아보았습니다. 참고문헌을 통해 더 자세한 내용을 확인해보세요.