일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- GIT
- viewpager
- Github
- image
- 웹뷰
- ADB
- error
- RecyclerView
- 안스
- coroutine
- 에러
- Retrofit
- Android
- 레트로핏
- Gradle
- 안드로이드스튜디오
- 안드로이드
- 의존성주입
- 스튜디오
- dart
- MVVM
- studio
- 안드로이드 스튜디오
- build
- 다트
- DI
- 깃헙
- Kotlin
- 코틀린
- WebView
- Today
- Total
목록전체 글 (158)
코딩하는 일용직 노동자
구글로그인 구현을 할때 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..
#의존성과 의존성주입(Dependency Injection, DI)이란? class Animal 이 있고, class Cat이 있습니다. 그리고 Cat 에서 Animal 객체를 생성했습니다. class Animal { ... } class Cat { val animal = Animal() } 코드에서처럼 Cat 이 Animal을 멤버로 갖고 있으므로 Cat 은 Animal에 강한 의존성을 가진 관계가 됩니다. class Cat(private val animal: Animal) { ... } fun main() { val animal = Animal() val cat = Cat(animal) } 이번에는 생성자를 통해 Animal객체를 주입해주었습니다. 이로써 클래스간의 관계를 더 약하게 만들 수 있습니다..
아주 간편안 딥링크 테스트 방법입니다. 테스트할 기기의 브라우저로 아래의 url을 들어가서 딥링크를 입력해주면 됩니다. https://halgatewood.com/deeplink/ Deep Link Testing Tool - Mobile App Development Tools A deep link is a URL that links to content "deep" in your site structure. You may have a product you are trying to sell, or a video series you are trying to promote. With a deep link you can have another app link directly to that piece of cont..
아주 기초적인 Retrofit2 사용법을 https://jsonplaceholder.typicode.com/posts 를 이용해 테스트해보는 방법을 알아보겠습니다. #기본 셋팅 Retrofit2를 사용하기 위해 gradle에 의존성 주입을 해줍니다. Manifest 파일에 인터넷 퍼미션을 추가해줍니다. // 의존성 추가 implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0' Manifest파일에 네트워크 기능을 이용하기 위한 퍼미션을 추가해줍니다. #RetrofitClient.kt BaseUrl 과 json 처리를 위한 GsonConverterFactor..
안드로이드 release앱을 빌드하면 생성되는 aab 파일에는 별다른 이름이 없습니다. 앱을 빌드할때 자동으로 버전과 날짜를 파일명에 추가해주는 방법을 사용해보겠습니다. app레벨의 build.gradle 파일에 아래의 소스를 추가해줍니다. // 빌드 변수값 설정 def getDate() { return new SimpleDateFormat("yyyyMMdd").format(new Date()) } def buildDate = getDate() def nameOfApp = "MyApp" android { ... defaultConfig { ... setProperty("archivesBaseName", nameOfApp + "_v" + versionName + "(" + versionCode + ")_"..
안드로이드 debug/release 앱을 빌드하면 생성되는 apk 파일에는 별다른 이름이 없습니다. 앱을 빌드할때 자동으로 버전과 날짜를 파일명에 추가해주는 방법을 사용해보겠습니다. app레벨의 build.gradle 파일에 아래의 소스를 추가해줍니다. android { ... defaultConfig { applicationId 'co.kr.test.slx' minSdkVersion minSdk targetSdkVersion targetSdk versionCode 102 versionName "1.0.2" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } applicationVariants.all{ variant -> varia..
targetSdk버전을 32로 바꾸니 못보던 에러메세지를 보게 되었습니다. Caused by: java.lang.IllegalArgumentException: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent. Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies o..