일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 스튜디오
- 안드로이드 스튜디오
- RecyclerView
- 안드로이드스튜디오
- ADB
- viewpager
- 다트
- image
- Retrofit
- 안스
- 레트로핏
- 코틀린
- 에러
- Android
- studio
- 깃헙
- coroutine
- error
- 웹뷰
- MVVM
- build
- dart
- 의존성주입
- Gradle
- GIT
- DI
- WebView
- Github
- 안드로이드
- Kotlin
- Today
- Total
목록안드로이드 (143)
코딩하는 일용직 노동자
텍스트뷰를 html span 처럼 꾸미고 클릭 이벤트 까지 적용할 수 있습니다. # 소스 val span_click = object : ClickableSpan() { override fun onClick(textView: View) { startActivity(Intent(this@PurchaseActivity, MyPageTermsActivity::class.java).apply { putExtra("goDetail", 2) }) } } val ss = SpannableString("구매신청 시, XXX 서비스 계약약관과\n 결제에 동의하는 것으로 간주됩니다.") ss.setSpan(span_click, 8, 20, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) ss.setSpan(Un..
은행앱은 최근사용앱 화면을 보면 하얀색으로 표시됩니다. (멀티태스킹 버튼을 누르면 나오는 화면) onCreate 메소드에 아래 내용을 추가하면 됩니다. window.addFlags(WindowManager.LayoutParams.FLAG_SECURE) 만약 최근사용앱에 앱을 등록조차 안되게 하고 싶다면 manifest 파일에 activity 안에 아래 내용을 추가시켜주면 됩니다. 모든 액티비티에 다 추가해줘야 할듯합니다. android:excludeFromRecents="true" 이렇게 하면 최근앱리스트에 등록조차 되지 않습니다. 위 사진은 멀티태스킹 버튼을 누르면 보이는 최근사용한앱 화면입니다. 멀티태스킹 버튼을 누르면 보이는 앱화면이 하얀색으로 표시됩니다.
# CLEARTEXT communication to XXXX not permitted by network security policy 에러처리. 안드로이드 9.0 (Pie) 버전에서는 무조건 https 를 쓰도록 강제하기 때문에 발하는 에러이다. xml/network_security_config.xml 파일을 만들고 아래의 내용을 넣어준다. 매니페스트 파일의 어플리케이션 단에 network_security_config.xml 파일을 지정해준다.
IntentReceiver components are not allowed to register to receive intents 안드로이드 프로그래밍 시, 이와 같은 오류를 만날 가능성이 있다. 이유인즉, 리시버 안에 리시버를 등록 할 수 없다는 것이다. 해결책이 있다. 넘겨주는 context의 값을 context.getApplicationContext() 로 설정 하라. 오류가 없어질 것이다.
# BootstrapMethodError 해결. 잘 되던 프로젝트의 gradle 에서 라이브러리 버전을 싹 다 올린후 실행해보니 아래의 에러가 발생했다. java.lang.BootstrapMethodError: Exception from call site #4 bootstrap method 구글 검색을 해보니 처리 방법이 있었다. compileOptions 를 추가해주는 것인데... 아무래도 java 1.8 로 컴파일 하도록 해주는 처리인듯 하다.
# 파일공유시 FileProvider 이용하기. FileUriExposedException 해결. Android 7.0(Nougat / API 24)에서 Intent로 URI 파일 경로 전송시 "file://" 이런식으로 구현되어있으면 FileUriExposedException 오류가 발생하게 되고 앱이 종료됩니다. 앱간 파일을 공유하려면 "file://" 대신 "content://"로 URI를 보내야 합니다. URI로 데이터를 보내기 위해선 FileProvider 를 이용해야 합니다. # 소스파일 var file = File(Environment.getExternalStorageDirectory().path + "/PickNPick/" + it.name) var uri = FileProvider.get..
오랜만에 작업중이던 프로젝트의 라이브러리들을 싹 업데이트 해주니 갑자기 빌드가 안되고 아래와 같은 에러메세지가 보인다. Cannot inline bytecode built with JVM target 1.8 into bytecode that is being built with JVM target 1.6. Please specify proper '-jvm-target' option 빌드해보니 다음과 같은 방법으로 해결 할 수 있다. 설정 > Kotlin compiler > Target JVM version 을 1.8 로 변경해준다. 안드로이드 스튜디오를 재시작 해도 여전히 에러가 발생한다면 Clean 을 해주고 gradle 에 kotlinOptions { jvmTarget = "1.8" } 을 추가해준다.
안드로이드 스튜디오를 3.6 버전으로 업데이트 한후로 AndroidManifest 을 열면 android:screenOrientation="portrait" 에 빨간줄이 칠해지는 현상이 보였다. 앱이 빌드가 되지 않는것은 아니지만 상당히 거슬린다. -_-+ 앱이 빌드가 되는것을 보면 오류는 아니고 warning 인듯하다. 이것을 해결해보자. 방법1. 안드로이드 스튜디오 설정에서 해당 내용을 warning 으로 처리되지 않도록 한다. 설정 > Editor > Inspections > Android > Lint > Correctness > Chrome OS 에서 Activity is locked to an orientation 항목 2개를 모두 해제하자. 방법2. AndroidManifest 파일의 태그..
코틀린으로 코딩하다가 보니 when 문에 노란색 줄이 표시된다. 커서를 대서 설명을 봐도 도무지 뭐라는지 모르겠다. -_-; 검색해보니 when 문 안쪽에 return 을 두지 말라는 것이었다. 이렇게 when 문 밖으로 return 을 빼니 노란색 표시가 사라졌다. -_-;;; 까탈스러운 코틀린...