일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스튜디오
- build
- 코루틴
- 깃헙
- 웹뷰
- viewpager
- dart
- 안스
- 안드로이드
- 에러
- RecyclerView
- Retrofit
- Github
- 레트로핏
- Android
- 유튜브
- 안드로이드 스튜디오
- 코틀린
- WebView
- studio
- image
- 안드로이드스튜디오
- coroutine
- 의존성주입
- flow
- MVVM
- error
- Kotlin
- Gradle
- ADB
- Today
- Total
목록안드로이드 (149)
코딩하는 일용직 노동자

Android 10(Q) 부터는 기존의 저장공간과는 다른 개념으로 바뀌었습니다. 10 이전의 안드로이드는 기본적으로 내부저장공간과 외부저장공간으로 나뉩니다. # Android 10(Q) 이전의 Storage 내부저장공간은 샌드박스 형식으로 보호되는 공간을 할당받습니다. ex) com.kakao.talk, com.kakao.story, com.app.a 그리고 각 앱은 자신의 저장공간만 접근하고 사용할 수 있습니다. 10 에서도 내부저장공간은 마찬가지로 사용됩니다. 반면 외부저장공간은 하나의 큰 공통저장공간으로 운영되었습니다. READ_EXTERNAL_STORAGE/WRITE_EXTERNAL_STORAGE 권한만 있으면 어떤앱이 작성한 파일이든, 어느 경로에 있든, 어떤 파일이든 모두 접근/수정할 수 있었..

let 객체의 null 체크에 주로 사용. val userName: String? = "" userName?.let { println("userName : $userName") } apply 객체의 생성과 동시에 값을 초기화 할때 주로 사용. val textView = TextView(this).apply { text = "Hello World!!" setOnClickListener{} } run 이미 생성된 객체를 재접근해서 값을 셋팅할때 주로 사용. textView.run { text = "안녕하세요" setOnClickListener{} } with View 에 접근할때 주로 사용. fun ViewHolder.onBindViewHolder() { with(binding){ adapter = this..

앱에서 파일 첨부하는 기능을 구현하던중 Intent.createChooser 로 구현했더니 파일을 선택하더라도 파일의 정보가 앱으로 리턴되지 않는 경우가 있었습니다. (특정 파일 탐색기 앱에서만 선택된 파일의 정보가 리턴되었다.) 쓸만한 파일탐색기 라이브러리를 찾아서 사용해보니 개발기간도 많이 단축할 수 있었고 편리하게 이용할 수 있었습니다. https://github.com/hedzr/android-file-chooser hedzr/android-file-chooser a lightweight file/folder chooser or picker. Contribute to hedzr/android-file-chooser development by creating an account on GitHub...

안드로이드 개발을 할때 보통 테스트폰을 컴퓨터에 연결한 상태로 디버그를 하게 됩니다. 하지만 Wifi 를 이용해 무선으로 디버깅할 수 있습니다. terminal 에서 아래의 방법대로 진행하면 됩니다. # wifi 상태에서 디버깅 하는 방법 폰과 컴퓨터를 케이블로 연결한 상태에서 진행합니다. adb tcpip [port] > adb tcpip 5555 adb connect [ip]:[port] > adb connect 192.168.0.35:5555 이제 컴퓨터와 폰의 케이블을 제거해도 네트워크로 디버깅 가능합니다. # USB 디버깅 상태로 다시 전환하는 방법 다시 폰 연결후 adb -s [ip]:[port] usb > adb -s 192.168.0.35:5555 usb 연결된 디바이스 목록 확인 ad..

SSL 적용된 서버 접속하기 위한 소스. SSL 처리를 무시하는 소스이다. // TI2 val socketFactory = SSLContext.getInstance("SSL").let { sslContext -> val trustAllCerts = arrayOf(object : X509TrustManager { override fun getAcceptedIssuers(): Array? = emptyArray() override fun checkClientTrusted(certs: Array, authType: String) = Unit override fun checkServerTrusted(certs: Array, authType: String) = Unit }) sslContext.init(null,..

2019년 1월9일부터 안드로이드 SMS 권한정책이 변경되었습니다. 기존에는 RECEIVE_SMS 권한을 이용해서 SMS 내용을 읽고 인증번호를 자동입력을 해주었지만 이제는 예외신청을 하지 않으면 구글 플레이스토어에서 삭제 대상이 됩니다. https://developers.google.com/identity/sms-retriever/verify 이제는 SMS Retriever를 이용해서 권한 허용없이 문자를 읽어올 수 있습니다. 이 기능에는 약간의 제한사항이 있습니다. Android 단말에 Google Play Service version 이 10.2 이상 설치되어 있어야합니다. 그리고 SMS에도 몇가지 규칙이 있습니다. 1. 문자내용이 140byte를 초과하면 안됩니다. 2. SMS 맨앞에 가 반드시 ..

안드로이드 프로젝트를 Javadoc 처럼 html 문서로 만들 수 있습니다. 바로 dokka 입니다. 일단 project/build.gradle 파일에 dokka 플러그인을 추가해줍니다. ext.dokka_version = '0.9.18' dependencies { classpath 'com.android.tools.build:gradle:3.6.3' classpath 'com.google.gms:google-services:4.3.3' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the..

# 방법1 res/style.xml 파일 수정. 메니페스트 파일에서 theme 에 설정. # 방법2 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setStatusBarColor() window.statusBarColor = Color.parseColor("#ff0000") }

코틀린 안드로이드 웹뷰 셋팅. webView.settings.apply { this.setSupportMultipleWindows(false) // 새창 띄우기 허용 this.setSupportZoom(false) // 화면 확대 허용 this.javaScriptEnabled = true // 자바스크립트 허용 this.javaScriptCanOpenWindowsAutomatically = false // 자바스크립트 새창 띄우기 허용 this.loadWithOverviewMode = true // html의 컨텐츠가 웹뷰보다 클 경우 스크린 크기에 맞게 조정 this.useWideViewPort = true // html의 viewport 메타 태그 지원 this.builtInZoomControls =..

SharedPreferences 는 정말 편리한 도구입니다. 아이디, 비밀번호, 이메일, 간단한 설정값 등을 저장하고 꺼내올 수 있습니다. SharedPreferences 를 사용하려면 약간의 코드가 필요합니다. SharedPreferences prefs = getPreferences(context); SharedPreferences.Editor editor = prefs.edit(); editor.putString(key, value); editor.commit(); 때문에 SharedPreferences 를 처리하는 별도의 클래스를 만들어두고 사용하는 경우가 많습니다. Kotpref 는 이런 SharedPreferences 를 간단하고 쉽게 구현할 수있는 라이브러리입니다. https://github...