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

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 =..

티스토리 블로그에서 포스팅을 올리다보니 소스코드를 보여주는 코드블럭이 작성중일때는 색깔별로 이쁘게 보이는데 저장하거나 발행하면 코드블럭이 단순한 텍스트 형태로만 보였다. 알고보니 티스토리 관리자 플러그인에서 코드블럭을 위한 플러그인을 적용시켜야 하는 것이었다. #1 작성중일때 (코드블럭의 소스코드가 이쁘게 보인다.) #2 발행을 하고 나면 아래처럼 코드블럭이 흑백 텍스트로 보인다. #3 블로그 관리자 화면 > 플러그인 선택 #4 Syntax Highlight 를 선택한다. #5 코드블럭 테마 적용된것을 확인한다.

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

#1 어댑터 리사이클러뷰에 사용할 어댑터를 만듭니다. 3열의 그리드 형태로 표시할 수 있도록 속성값을 셋팅해줍니다. Glide 를 이용해 이미지를 표시할 수 있도록 util 패키지 아래에 imageLoader 클래스를 만들었습니다. class ImageLoader(private val context: Context) { fun imageLoadWithResourceID(resID: Int, v : ImageView) { Glide.with(this.context).load(resID).into(v) } fun imageLoadWithURL(url: String, v: ImageView) { Glide.with(this.context).load(url).into(v) } fun imageLoadWithFi..

#1 API 호출 및 파싱. 우선 api 호출 후 결과를 저장할 모델 클래스를 만듭니다. 포스트맨 에서 얻어낸 결과 json 을 이용해 안드로이드 스튜디오에서 DTO generator 플러그인을 이용해 편하게 만들었습니다. hits 를 MutableList 형태로 받도록 수정해줬습니다. #2 API 호출 콜백. MVVM구조에서 ViewModel은 자신을 사용하는 View를 몰라야 합니다. 안드로이드 개발문서에서도 ViewModel에 View references에 대한 참조가 없어야 한다고 강조합니다. 때문에 ViewModel에서 View로 이벤트나 결과를 전달해야 할 경우에는 View가 ViewModel을 observe하다가 상태가 변하면 그에 맞는 처리를 하게 했습니다. api 호출 후 결과를 리턴시키..

#1 홈화면 만들기 Pixabay 에서는 검색어를 통해 이미지와 동영상을 검색할 수 있습니다. api도 이미지검색api 와 동영상검색api 가 제공됩니다. 우선 레이아웃을 만드는 것부터 시작하겠습니다. res/layout 폴더에 fragment_home.xml 파일을 생성해줍니다. 홈화면 상단에는 검색어를 입력할 EditText 와 검색버튼, 그 아래 영역엔 RecyclerView 를 배치시켰습니다. 레이아웃파일에는 데이터바인딩을 이용할 수 있도록 셋팅해줬습니다. #2 데이타바인딩을 이용해 이벤트 처리. 되도록 클릭이벤트는 fragment_home.xml 파일과 HomeViewModel 파일에서 바로 처리되도록 했습니다. 데이터바인딩을 쓸때 "@{ }" 와 "@={ }" 이 있는데 "@={ }" 를 쓰면..

#1 인트로 화면과 메인화면 만들기 우선 앱이 실행되면 인트로화면을 몇초 보여준후 홈화면으로 이동하는 형태로 만들었습니다. IntroActivity 와 MainActivity 로 만들고 홈화면은 Fragment 를 포함하도록 만들었습니다. 그리고 서브화면들을 만들고 각 화면마다 별도의 ViewModel 을 만들었습니다. (일단 쓸지 안쓸지는 모르겠지만 다 만들어줬습니다.) #2 Base 클래스, MyApplication 만들기. 각 액티비티와 뷰모델이 상속받아 쓰도록 BaseActivity, BaseViewModel 클래스를 만들었습니다. Retrofit2 와 Koin 을 셋팅하기 위해서 MyApplication 클래스를 만들고 ViewModel 셋팅도 해줍니다. SharedPreference 를 편하게..