일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 안스
- WebView
- GIT
- 코틀린
- Gradle
- 다트
- 깃헙
- Android
- Github
- 레트로핏
- 웹뷰
- 의존성주입
- dart
- coroutine
- build
- studio
- 안드로이드 스튜디오
- Kotlin
- 에러
- RecyclerView
- 안드로이드스튜디오
- 안드로이드
- Retrofit
- viewpager
- ADB
- DI
- MVVM
- image
- error
- 스튜디오
- Today
- Total
목록안드로이드 (143)
코딩하는 일용직 노동자
안드로이드 프로젝트를 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...
#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 를 편하게..
#0 최근 안드로이드 개발 트렌드 안드로이드 앱을 처음 배우고 개발할땐 디자인 패턴을 이용하지 않고 Activity 소스에 각종 이벤트와 로직 처리를 몽땅 집어넣고 작업했습니다. 그 후에 MVC, MVP 패턴으로 작업을 하는 개발자분들을 많이 볼 수 있었고, 뒤늦게 필자도 MVP 패턴을 사용 해보니 소스도 깔끔하고 유지보수 할때도 더 편리한 면이 있었습니다. 2017년 여름 구글I/O에서 구글은 AAC (Android Architecture Component)를 발표했습니다. ViewModel, LiveData, LifecycleObserver, DataBinding 등을 써서 MVVM 패턴으로 앱의 성능과 유지보수를 높일 수 있도록 했습니다. 최근에는 언어도 Java에서 Kotlin으로 많이 옮겨서 작..
# Android 10 에서 카메라 셔터음 제거하기. Android 10 부터는 기존 카메라 셔터음 제거 어플이 작동되지 않는 경우가 있다고 합니다. adb 명령어로 카메라 셔터음을 제거할 수 있습니다. 컴퓨터에 핸드폰을 연결시키고 터미널에서 windows .\adb shell settings put system csc_pref_camera_forced_shuttersound_key 0 mac adb shell settings put system csc_pref_camera_forced_shuttersound_key 0 이렇게 입력하고 아무런 메세지가 나오지 않으면 성공한 것입니다. 핸드폰이 무음이나 진동모드일때에는 카메라 셔터음이 나오지 않게 됩니다.