Notice
Recent Posts
Recent Comments
Link
투케이2K
908. (Android/Java) [간단 소스] NetworkRequest 간단 설명 및 사용 옵션 정리 본문
[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Java / Kotlin
[소스 코드]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 언어 : Java / Kotlin
- 개발 툴 : AndroidStudio
- 기술 구분 : NetworkRequest / 네트워크
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[설명 정리]
// --------------------------------------------------------------------------------------
1. NetworkRequest 란 Android Api 21 (안드로이드 5.0) 에서 추가 된 네트워크 요청 객체 입니다
2. NetworkRequest 는 NetworkRequest.Builder 를 통해 네트워크에 요청하거나, ConnectivityManager#requestNetwork 를 통해 변경 사항을 수신하는데 사용 됩니다
>> ConnectivityManager#requestNetwork 에서 사용하는 경우 NetworkRequest 와 일치하는 연결된 네트워크를 찾고, 네트워크가 있으면 반환합니다
>> 참고 사항으로 OS 특성 상 현재 가장 잘 연결된 네트워크를 유지하고, 더 나은 네트워크 (예: 더 저렴하거나 더 빠른 네트워크) 가 발견되면 시스템은 요청을 더 잘 처리하기 위해 그 더 나은 네트워크를 불러옵니다
3. NetworkRequest 사용 주요 함수 :
>> canBeSatisfiedBy(NetworkCapabilities nc) : NetworkRequest 에서 요청된 기능이 충족되는 경우에만 true를 반환합니다
>> getCapabilities() : 인스턴스에 설정된 모든 기능을 가져옵니다
>> getSubscriptionIds() : 이 인스턴스에 설정된 모든 구독 ID를 가져옵니다
>> getTransportTypes() : 이 인스턴스에 설정된 모든 전송을 가져옵니다
4. NetworkRequest 사용 방법 예시 소스 코드 :
NetworkRequest networkRequest = new NetworkRequest.Builder()
.removeTransportType(NetworkCapabilities.TRANSPORT_CELLULAR)
.removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI) // [와이파이 사용 설정]
.setNetworkSpecifier(wifiNetworkSpecifier)
.build();
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
https://developer.android.com/reference/android/net/NetworkRequest
https://blog.naver.com/kkh0977/223665327951?trackingCode=blog_bloghome_searchlist
https://blog.naver.com/kkh0977/223554797505?trackingCode=blog_bloghome_searchlist
// --------------------------------------------------------------------------------------
반응형
'Android' 카테고리의 다른 글
Comments