본문 바로가기

ConnectivityManager.NetworkCallback() & NetworkRequest.Builder() private var mConnManager: ConnectivityManager? = null private var mNetworkCallback: ConnectivityManager.NetworkCallback? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) checkNetwork() } override fun onStop() { super.onStop() if (mConnManager != null && mNetworkCallback != null) { mConnManager!!.unregisterNetworkCallback(mNetworkCallback!!) } } // 현재..
chatting 프로필 push 만들기 https://github.com/android/user-interface-samples/blob/master/People/app/src/main/java/com/example/android/people/data/NotificationHelper.kt
Android 사용자/점유율 비율 확인 https://gs.statcounter.com/os-version-market-share/android/mobile-tablet/worldwide Mobile & Tablet Android Version Market Share Worldwide | Statcounter Global Stats This graph shows the market share of mobile & tablet android versions worldwide based on over 5 billion monthly page views. gs.statcounter.com https://www.appbrain.com/stats/top-android-sdk-versions Android OS version market share ov..
[Mac] source ~/.bash_profile 명령어 적용 이슈 adb 환경변수 저장으로 인해 매번 source ~/.bash_profile 를 적용해줘야 했다. 솔직히 사용할 때마다 한번만이지만 매번 적용해야하는 것도 일. adb를 사용하면 기존 터미널이 아닌 zsh 터미널을 사용하게 된다. .bash_profile 이 싱크되지 않아서 생기는 이슈다. zsh 터미널에 .bash_profile 이 바로 적용되도록 해보자. 1. $vi ~/.zshrc 2. source /Users/(my mac name)/.bash_profile 위 커맨드를 추가하고 저장한 후에 터미널을 껏다 키면 환경변수들이 잘 적용된 것을 확인할 수 있다. 참조 : https://m.blog.naver.com/writer0713/221350489188
앨범에서 사진/동영상/사진,동영상 모두 가져오기 안드로이드의 장점 중에 하나는 기본적으로 휴대폰이 제공하는 기능을 사용할 수 있다는 것이다. 그 중에 하나가 카메라 및 앨범 기능이다. 사진이나 동영상을 첨부하고 싶을 때는 다음과 같이 사용하면 된다. | 사진 가져오기 Intent intent = new Intent(Intent.ACTION_PICK, MediaStroe.Images.Media.EXTERNAL_CONTENT_URI); intent.setType("image/*"); startActivityForResult(intent, REQ_PICK_IMAGE); | 동영상 가져오기 Intent intent = new Intent(Intent.ACTION_PICK, MediaStroe.Images.Media.EXTERNAL_CONTENT_URI); i..
[Android] RxEventBus implementation "io.reactivex.rxjava2:rxjava:2.2.19" 또는 최신 버전 RxBus.kt import io.reactivex.Observable import io.reactivex.subjects.PublishSubject // Use object so we have a singleton instance object RxBus { private val publisher = PublishSubject.create() fun publish(event: Any) { publisher.onNext(event) } // Listen should return an Observable and not the publisher // Using ofType we filter only e..
Download Manager로 파일 다운 받는 방법 DownloadManager는 HTTP 파일을 다운받는데 도와주는 시스템 서비스입니다. 앱은 저장될 위치의 URI와 다운받을 HTTP URI를 DownloadManager에 알려주기만 하면 알아서 받아줍니다. 또한, DownloadManager 내부의 백그라운드 서비스에서 다운을 받기 때문에 앱에서 쓰레드를 생성할 필요는 없습니다. 다운로드매니저는 노티피케이션에 다운로드 상태를 보여주고, 완료가 되면 브로드캐스트로 완료되었음을 알려줍니다. 또한 실시간으로 다운로드 상태를 체크할 수도 있습니다. 장점을 정리하면 다음과 같습니다. 앱에서 다운로드를 위한 백그라운드 쓰레드를 만들 필요가 없습니다. 노티피케이션을 따로 구성할 필요가 없습니다. 다운로드가 완료되면 브로드캐스트로 알려줍니다. 불안정한 네트워크 상태..
[Android/Kotlin] Live Template 예제 라이브 템플릿? IntelliJ 기반의 IDE(Android Studio 포함)은 라이브 템플릿(Live Template)기능이 있습니다. 라이브 템플릿은 단축 키워드를 이용하여 몇몇 상용구 코드(Boilerplate code) 작성에 편의를 제공합니다. 사용 예제 Android에서 ViewModel관련 LiveData를 생성할 때 자주 Backing Field로 구성을 하게 되는데 초반에 ViewModel에 필요한 요소를 구성하는 과정에서 다소 많은 타이핑을 하게 되는 불편함이 있습니다. 이때 라이브 템플릿을 사용하면 간편하게 반복작업을 줄일 수 있습니다. 위와 동일한 라이브 템플릿을 추가하면서 간단하게 사용법을 익혀보겠습니다. Android Studio에 라이브 템플릿 추가하기 Android Stud..