일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SwiftUI
- foregroundservice
- Jitpack
- WorkManager
- 개발자도전기
- SharedPreference
- Kotlin
- 모바일앱개발
- 초보개발자
- 상태관리
- Java
- 앱개발
- 코틀린
- 코루틴
- Swift
- 문제해결
- 클래스 설계
- 앱심사경험
- EncryptedSharedPreferences
- 앱심사대응
- 개발시작
- compose
- Android
- chatGPT
- Developer
- androidstudio
- ios
- 안드로이드
- 문제개선
- coroutines
- Today
- Total
목록Kotlin (7)
개발린생
안드로이드 기본 잠금 화면 위에 특정 화면을 띄워야하는 기능을 구현해야해서 코드와 글을 작성하게 되었다. 혹시 ForegroundService targetSDK 34 이슈로 찾아온 사람을 위해 미리 말하자면,예제 프로젝트가 컴포즈 프로젝트지만 컴포즈(컴포저블 함수 사용)로 구현한 부분은 단순 UI 쪽 밖에 없어서, 기존 XML 기반 프로젝트여도 도움이 될 것이다. 기본 잠금 화면 위에 특정 화면을 띄우기 위해서 중요한 기능은 아래와 같다.다른 앱 위에 표시 권한 요청ForegroundService 기능 구현 (Android 14, SDK 34 대응) 이전 글에서 ForegroundService로 구현했던 기능을 WorkManager로 구현했었는데 이번엔 다시 ForegroundService를 다뤄보겠다...
신규 프로젝트 진행, 나는 효율적인 개발을 위해 한 API를 공들여 붙였다! API 호출 후 응답 데이터 관련 주제이며 모든 Response의 값에서 공통으로 들어가는 필드에 대해 효율적으로 처리하는 방법을 공유하고자한다. 예시로 쓰일 API 호출, 응답 데이터는 아래와 같다. 유저 로그인 APIRequest{ "id": "blueland", // 유저 로그인 시 아이디 "password": "qwer1234" // 유저 로그인 시 비밀번호} Response{ "userId": "B0001", // 로그인 된 유저 식별자 "resultCode": "0000", // 응답 코드 "resultMessage": "사용자 로그인 성공" // 응답 메세지} 유저 정보 조회 APIRequest{ "us..
비교를 위해 UI 정의와 함수 구조를 유사하게 구현했으며,두 플랫폼 모두 GreetingView에서 이름을 인자로 받아, 그 값을 MainScreen 화면에 텍스트로 표시하는 예제를 작성해봤다.Android Compose의 @Composable 함수와 SwiftUI의 View 구조체가 각각 비슷한 역할을 수행한다.Android Compose의 Composable 함수@Composable 어노테이션을 사용해 함수로 UI를 정의한다.각 UI 컴포넌트는 재사용 가능한 함수로 만들 수 있으며, 컴포저블 함수는 컴포지션에 참여해 UI 트리를 형성한다.예시 코드:@Composablefun MainScreen() { // MainScreen에서 GreetingView 컴포저블을 호출하고 문자열을 전달 Gr..
안드로이드 개발을 예전부터 해왔던 분이라면 언제적 AsyncTask냐 싶을 것이다.AsyncTask는 예전에 비동기 작업을 처리하기 위해 흔히 사용되던 클래스지만 현재로써는 RxJava와 Coroutines가 대표적으로 사용된다.AsyncTask > RxJava > Coroutines 이 외에도 중간중가 여러가지가 있긴 하다. 현재 AsyncTask는 디플리케이트 되었고 Coroutines이 많이 사용되고 있다.(가끔 유지보수건 프로젝트를 보면 AsyncTask를 많이 마주치긴 함) 💬 AsyncTask를 사용할 때를 주절거려보자면 과거 Android Java로 앱을 개발하던 시절, 화면을 띄운 상태에서 네트워크 통신이나 파일 처리 등 무거운 작업을 하면 UI가 멈추는 문제가 있었다. 이것을 해결하기 ..
* 이 포스트에 작성된 코드는 Kotlin 언어로 작성하였습니다. 안드로이드 앱에 기능을 구현할 때, 데이터나 기능의 사용을 위해 설정 파일에 권한을 명세합니다. 이 권한 중에는 일반 권한과 위험 권한이 있으며 보호 수준에 따라 권한을 명세하고 요청하는 방법을 알아보겠습니다. 일반 권한 일반 권한은 사용자에게 권한 승인 여부를 묻지 않습니다. 흔한 예시로는 네트워크 통신을 기반의 앱이라면 필수로 명세하는 INTERNET 권한이 있습니다. 앱에서 네트워크 및 인터넷 사용을 위해 명세하는 권한이며 적용 위치와 코드는 아래와 같습니다. AndroidManifest.xml 명세 위치 ... 권한 명세 위험 권한 (런타임 권한) 위험 권한은 사용자에게 권한 승인 요청 후 권한이 주어집니다. 앱에서 카메라를 사용하..
* 이 포스트에 작성된 코드는 Kotlin 언어로 작성하였습니다. 카테고리의 첫 포스트는! 많은 분들이 저와 같이 사용하셨을 것이라 생각하여 공유하고자 작성하는 글 입니다. 우리는 앱에 데이터를 저장하기 위해 앱 DB인 SQLite도 사용하지만 앱 안에 간단한 데이터를 간단하고 편리하게 저장하고 사용하기 위해 주로 SharedPreferences를 사용합니다. 어떤 기능에 대한 설정 값을 저장하기도 하고 아이디, 비밀번호, 이메일, 전화번호 등 사용자 데이터를 저장하기도 합니다. 설정 값 같은 데이터는 노출이 되어도 무관할 수 있으나 아이디, 비밀번호 등 사용자의 민감한 데이터는 노출이 되면 문제가 될 수 있기에 SharedPreferences를 암호화하여 사용해보도록 하겠습니다!! 암호화 하지 않은 S..
안드로이드 스튜디오에서 Run 'app'을 실행하여 앱 빌드 시 앱 설치 후 실행이 된다. 자동으로 실행이 되니 구현한 화면까지는 볼 수 있는데... 목록에서 찾을 수 없는 앱! 해당 프로젝트에서 여러번 빌드하면서 앱 아이콘이 사라진 적이 없는데 어느 시점 이후로 앱 빌드 시 앱이 설치되지 않은 것 마냥 앱 아이콘이 사라지는 문제가 발생했다. 바로 카카오 로그인 기능 구현 후 아이콘이 사라졌다. 정확히는 AndroidManifest.xml에 어느 코드를 추가한 후 발생한 문제! 기존 코드 문제 원인 코드 기존 코드에 카카오 로그인 기능 구현을 위한 Redirect URI 설정을 위해 scheme 을 추가하여 아래와 같은 코드를 작성하였다. 부분 코드를 추가하여 해당 문제가 발생된 것 같아 '안드로이드 앱..