일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- MVVM
- dart
- Retrofit
- 안드로이드스튜디오
- 레트로핏
- ADB
- 코루틴
- Android
- GIT
- WebView
- coroutine
- Github
- Kotlin
- 에러
- error
- 유튜브
- RecyclerView
- 안스
- Gradle
- 의존성주입
- studio
- build
- 코틀린
- 웹뷰
- image
- 스튜디오
- 깃헙
- 안드로이드 스튜디오
- viewpager
- 안드로이드
- Today
- Total
목록전체 글 (164)
코딩하는 일용직 노동자
Activity 가 아닌 Class나 ViewModel class 에 Activity의 라이프사이클을 연결해서 onCreate(), onResume(), onPause(), onStop() 등의 상태변화를 감지하고 처리하는 방법을 알아보겠습니다. 이번 예제에서는 ViewModel 에 연결해보겠습니다. 1. app레벨의 gradle에 아래의 라이브러리들을 추가해줍니다. implementation 'androidx.core:core-ktx:1.12.0' implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.7.0' implementation 'androidx.activity:activity-compose:1.8.2' implementation 'androi..
app 레벨의 build.gradle 파일에 아래 내용을 추가해주면 됩니다. def getDate() { return new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) } def buildDate = '\"' + getDate() + '\"' def appName = "APP_NAME" android { ... defaultConfig { ... setProperty("archivesBaseName","${appName}-v${versionName}(${versionCode})-${buildDate}") } ... }
Github 에서 2년전 자료를 클론받았다. gradle 파일에서 dependencies의 라이브러리 버전들을 최신으로 올려준 후 빌드해보니 아래와 같은 에러메세지가 보이면서 빌드가 되지 않았다. Can't determine type for tag '?attr/shapeAppearanceCornerSmall' 구글링을 해보니 최신 라이브러리에서 빌드시 에러가 발생하고 있어서 버전을 좀 낮춰서 해보라는 답변이 있었다. implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.material:material:1.9.0' 을 아래처럼 고쳤다. implementation 'androidx.appcompat:appc..
맥북을 포맷 후 재설치 해서 개발환경을 깨끗하게 새로 셋팅했습니다. 소스트리를 이용해 구글 클라우드에 있던 기존 프로젝트를 새로 pull 하려고 하니 아래와 같은 에러가 표시됩니다. permission denied (publickey) ssh key가 등록안되있어서 발생하는 에러입니다. 구글 클라우드에서 ssh key 를 등록해봅시다. 우선 터미널에서 아래와 같이 명령어를 입력합니다. ssh-keygen -t rsa -C "계정이메일" 패스워드를 입력해서 만들 수 있지만 엔터키를 누르면 패스워드를 만들지 않고 ssh key 가 생성됩니다. 만드셔도 되고, 안만드셔도 됩니다. 전 만들지 않고 엔터키를 계속 입력했습니다. 자 이제 아래 명령어를 입력하면 생성된 ssh key 가 표시됩니다. cat ~/.ss..
안드로이드 앱을 설치하거나 작업할때 adb 명령어를 사용할 경우가 많습니다.맥북을 새로 구입했거나 초기화를 한 후 안드로이드 개발툴을 설치하고 adb 명령어를 입력하니zsh: command not found: adb 이렇게 표시되었습니다.안드로이드 환경변수가 제대로 설정되지 않은것입니다.adb 명령어를 사용할 수 있도록 안드로이드 sdk 경로 설정이 필요합니다.당황하지 않고 아래처럼 입력해줍니다. zshrc에서 안드로이드 adb명령어가 안될 때의 예시입니다.만약 bash인 경우 zshrc -> bash_profile 로 변경하시면 됩니다.1. 우선 터미널에서vi ~/.zshrc 입력합니다. 2. vi 모드에서 아래 내용을 입력합니다.우선 편집을 하기 위해 i 를 눌러줍니다.그리고 방향키를 이용해 가장..
안드로이드 의존성주입에 Koin을 사용할때 Activity 와 그 아래 속한 하나 이상의 Fragment 에서 같은 ViewModel 을 사용할 필요가 있는 경우가 있습니다. 기존에는 by sharedViewModel() 을 이용하면 됐는데 이것이 deprecated 되었습니다. 이제는 by activityViewModel() 을 이용하도록 변경되었습니다. val weatherAppModule = module { // WeatherViewModel declaration for Weather View components viewModel { WeatherViewModel(get(), get()) } } class WeatherActivity : AppCompatActivity() { /* * Declare..
구글로그인 구현을 할때 Firebase 콘솔에서 프로젝트에 디지털지문(FingerPrint)를 추가하는 경우를 위해 SHA1키를 알아내야 했습니다. AndroidStudio 우측에서 Gradle을 눌러 Tasks>Android>아래에 있는 signingReport를 실행시킵니다. 보통은 이런경우에 sha1키를 알아낼 수 있습니다. 이때 Tasks 메뉴가 보이지 않는다면 위에 Task list not Built...을 누른 후 설정창에서 Do not build Gradle task list during Gradle sync. 를 체크해제 한 후 sync 를 누르면 Tasks 메뉴가 보입니다. 다만 저는 어찌된 영문인지 계속해서 에러가 발생했습니다. 이럴경우 다른 방법으로 SHA1키를 알아낼 수 있습니다. ..
안드로이드와 iOS를 함께 개발할 수 있는 새로운 플랫폼이 등장합니다. React Native 와 Flutter 가 두 OS의 앱을 모두 만들 수 있는 플랫폼으로 많이 쓰이고 있는데 이제 새로운 선택지가 생기는 것입니다. 새로운 플랫폼의 이름은 Kotlin Multiplatform Mobile(https://blog.jetbrains.com/ko/kotlin/2022/09/join-the-kotlin-multiplatform-mobile-content-creators/) 입니다. IntelliJ 를 만든 IDE전문 기업 젯브레인(JetBrains)에서 만드는 플랫폼입니다. Flutter의 경우 Dart라는 생소한 언어를 새로 배워서 작업해야 한다는 단점이 있었는데 KMM은 Kotlin 을 개발언어로 사용..
앱용 아이콘 이미지 제공 사이트 와 해상도별 이미지 생성 사이트입니다. https://www.pngrepo.com/vectors/android/ Android SVG Vectors and Icons - PNG Repo Free PNG Icons Free transparent Android vectors and icons in SVG format. Free download Android SVG Icons for logos, websites and mobile apps, useable in Sketch or Adobe Illustrator. Browse SVG vectors about Android term. www.pngrepo.com http://ticons.fokkezb.nl/ TiCons - Gene..
안드로이드 네이버 아이디 로그인을 구현해보겠습니다. 우선 네이버 개발자센터에서 앱을 추가해줍니다. 앱의 이름과 패키지명, URL등을 등록하면 아래의 정보들을 이용할 수 있습니다. OAUTH_CLIENT_ID: 애플리케이션 등록 후 발급받은 클라이언트 아이디 OAUTH_CLIENT_SECRET: 애플리케이션 등록 후 발급받은 클라이언트 시크릿 OAUTH_CLIENT_NAME: 네이버 앱의 로그인 화면에 표시할 애플리케이션 이름. 모바일 웹의 로그인 화면을 사용할 때는 서버에 저장된 애플리케이션 이름이 표시됩니다. 적용할 안드로이드 프로젝트의 gradle에 네이버 아이디 로그인 라이브러리를 추가해줍니다. implementation 'com.navercorp.nid:oauth:5.1.1' // jdk 11 i..