본문 바로가기

OS

(73)
exoplayer rtmp error(java.lang.AbstractMethodError) 오류내용 java.lang.AbstractMethodError: abstract method "void com.google.android.exoplayer2.upstream.DataSource.addTransferListener(com.google.android.exoplayer2.upstream.TransferListener)" 1. 컴파일옵션 추가 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } 2. 엑소플레이어 버전 업그레이드 def exoplayerVersion = "2.8.4" -> "2.9.6"
MediaPlayer error(-38, 0) val m_Player = MediaPlayer() fun play(strUrl : String) { m_Player.setWakeMode(context, 1) m_Player.isLooping = false m_Player.setVolume(1.0f, 1.0f) m_Player.setAudioStreamType(AudioManager.STREAM_MUSIC) m_Player.setDataSource(strUrl) m_Player.prepareAsync() m_player.start() } //error (-38, 0) 미디어 플레이어가 완전히 준비되지 않았을 때 play() 메소드를 호출하면 생기는 에러이다. 따라서 데이터소스가 인코딩이 완료되었을 때 play() 메소드를 호출해야 한다. val m_P..
[안드로이드] java.lang.BootstrapMethodError: Exception from call site #4 bootstrap method 에러 하.. exoplayer 분석하는 도중에 자꾸 DefaultBandwidthMeter bandwidthMeter = new DefaultBandwidthMeter()에서 앱이 죽길래 dependency쪽이 잘못됐나 확인하다 한시간을 버렸다.. 알고보니 자바 버전만 올려주면 되는것........ compileOptions { targetCompatibility = "8" sourceCompatibility = "8" }
안드로이드 PermissionManager library 전에 올렸던 권한 요청 소스는 특정 핸드폰에서는 제대로 작동하지 않는 이슈를 확인하게 되어 권한 관련 라이브러리를 포스팅 해보려고 한다. library name : PermissionManager 1. Module: app Gradle에 implementation "com.github.karanchuri:PermissionManager:0.1.0"을 추가 2. repositories에 maven { url 'https://jitpack.io' }추가 3. manifest application 태그에 tools:replace="android:label" 추가 4. 엑티비티에 권한 요청 소스 작성 class StartActivity : AppCompatActivity() { val arr_permission..
Android ndk 사용할 때 deburgger가 느려짐 먼저 응용 프로그램을 실행 한 다음 "디버거를 안드로이드 프로세스에 연결"버튼을 누르면 프로세스 선택 대화 상자가 열리고 디버거를 'auto'에서 'java'로 설정하면 빠르게 디버깅 가능
안드로이드 권한 요청 class MainActivity : AppCompatActivity() { val arr_permission = listOf(Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE) val HAHA_FOLDER_NAME = "/Download/HAHA/" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) if(checkPermission()) { makeHAHADATAFolder() } } fun checkPermission() :..
Android DatePicker Custom 앱 종료시간을 유저가 자유롭게 선택할 수 있도록 DatePicker를 사용하려고 했는데 기존 DatePicker는 유아이 컬러나 버튼 위치를 내 마음대로 변경하기 어려워서 커스텀해서 사용하기로 했다. 먼저 DatePicker를 뜯어보니 기본적으로 NumberPicker라는 위젯을 사용하고 있어서 그대로 구현해보기로 하였다. XML dlg_custom_datepicker 화면 코틀린 CustomDatePicker class CustomDatePicker(var act: Activity) : YKDialog(act) , View.OnClickListener { lateinit var btnCancel : Button // 닫기 lateinit var btnOk : Button // 확인 lateinit va..
Android Retrofit2 콜백 없이 통신 Retrofit2를 사용하다보면 굳이 응답값이 필요없을 때가 있는데 이때 사용할 수 있는게 execute() 함수이다. 기존 소스 ComNet.retroLogin(vo).enqueue(object : retrofit2.Callback { override fun onFailure(call: Call, t: Throwable) { openErrorDlg(resources.getString(R.string.network_error)) } override fun onResponse(call: Call, response: Response) { writeLoginInfo(response.body()) } }) 응답값 없는 소스 NetRetrofit.instance.service.send(vo.data1, vo.da..