본문 바로가기

Android/Kotlin21

Android ExoPlayer 로 앱에서 동영상 재생하기 ExoPlayer 란? Exoplayer 는 안드로이드에서 자주 사용되는 Media 라이브러리인데 상세한 설명은 안드로이드 개발자 공식을 참고하자 출처 : https://developer.android.com/guide/topics/media/exoplayer?hl=ko ExoPlayer | Android 개발자 | Android Developers ExoPlayer 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. ExoPlayer는 Android 프레임워크에 속하지 않고 Android SDK에서 별도로 배포되는 오픈소스 프로젝트입니다. developer.android.com 기본적으로 우리가 흔히 아는 동영상의 컨테이너 포맷(MP4, AVI, WMV 등등..) 은 거의 지.. 2024. 1. 5.
Android Jackson Library 를 이용한 JSON Parsing JSON 은 REST 로 데이터를 서버로부터 받아올 때 가장 흔한 데이터 형태로 Android 에서는 이걸 파싱할 일이 정말 많은만큼 방법도 많다. 일단 대표적인 라이브러리로 GSON Jackson 이렇게 두 가지가 있는데, 간단하게 둘을 비교하자면 Gson - 용량이 크지 않은 데이터 처리 작업에서 유리하고 가벼운 느낌이라면 Jackson - 대용량 데이터 처리에 강하고, 유연한 느낌이라고 할 수 있다(XML 도 지원한다) 오늘은 이 둘 중 Jackson Library 를 다뤄볼 것이다. 일단 오늘의 샘플 데이터다 const val SAMPLE = "[\n" + " {\n" + " \"id\": 111,\n" + " \"name\": \"키보드\",\n" + " \"descr\": \"일 할 때 바쁜 .. 2024. 1. 5.
Android 파일 다운로드 받기 플레이스토어에 배포되지 않은 앱을 다운로드/업데이트 일단 앱의 apk 파일 다운로드 링크(아래 코드의 url)를 서버에 올려두고 진행했고 버전 정보를 체크하는 방법은 생략했다 일단 코드부터 살펴보자 val intent = Intent(requireActivity(), ApkDownloadService::class.java) intent.putExtra(ApkDownloadService.PATH, filePath) intent.putExtra(ApkDownloadService.RECEIVER, ProgressReceiver()) requireActivity().startService(intent) class ApkDownloadService: IntentService(TAG) { companion obje.. 2024. 1. 5.
Android Custom Dialog 만들기 간단하게 만들 수 있는 AlertDialog 와 아쉬운 점 보통 Android 에서 간단한 Dialog 를 구현하려면 AlertDialog class 를 이용하여 구현 할 수 있다. val dialog = AlertDialog.Builder(this) .setTitle("제목") .setIcon(R.mipmap.ic_launcher) .setMessage("뭘 해볼까?") .setPositiveButton("OK" ) { dialog, which -> // TODO: do something! } .setNegativeButton("Cancel") { dialog, which -> // TODO: do something! } .create() dialog.show() 이 코드를 실행하면 이런 화면을 Dia.. 2024. 1. 4.