본문 바로가기
반응형

android8

[Android] Intent, Bundle, SavedStateHandle 객체 쉽게 전달하기. Intent, Bundle, SavedStateHandle로 다양한 데이터를 넘겨받는데 특히 객체를 넘겨받을 경우가 많다. 여러가지 방법이 있겠지만 주로 사용하는 방법은 객체를 Json으로 변환한 뒤 다시 받는 쪽에서는 Json을 객체에 매핑시켜 데이터를 가져오는 구조로 주로 사용을 했다. AS-IS 하지만 이게 매번 하려니 여간 번거로운게 아니다 하나 예시를 보자. val dataDTO = DataDTO(....) val intent = Intent(context, InfoActivity::class.java).apply { val jsonAdapter = moshi.adapter(DataDTO::class.java) this.putExtra("test", jsonAdapter.toJson(dataDT.. 2023. 11. 26.
ChatGPT와 함께 Android strings.xml 자동번역 및 추가 10초만에 하기 자동 번역 스크립트는 왜 필요한가? 현재 개발하고 있는 안드로이드 앱의 values 폴더들이다. 다국어 지원을 위해 영어, 아랍어, 독일어, 스페인어, 프랑스어, 이탈리아어, 일본어, 한국어, 중국어와 같이 많은 언어들을 다루고 있다. 이렇게 되면 엄청난 번거로움이 생기는데 strings.xml에 번역된 내용 하나만 추가해줘도 수많은 작업이 발생하게 된다. "데이터 로딩 중입니다. 잠시 후 다시 시도해주세요" 라는 문구를 strings.xml에 추가하기로 하는 상황을 살펴보자. strings.xml에 해당 내용을 추가하기 위한 변수명을 지어야 한다.(변수명 짓는것도 고민을 하게 되므로 생각보다 시간을 많이 뺏긴다) 각 나라별로 번역을 한다. (벌써부터 머리가 아파온다..) 어찌저찌 파파고와 구글 번역기를.. 2023. 8. 22.
Android Kotlin EditText 콤마 붙히기 (feat. Extension) EditText에서 숫자를 입력하면, 콤마가 나오게 하고 싶을때가 있다. Kotlin Extension을 활용하여 간단하게 만들어 보았다. 사용법 EditText에 내가 만든 함수만 사용하도록 하면 끝! 의존성 추가 androidx.core 라이브러리를 사용하면 EditText에 변경된 내용만 바로 가져오는 Extension 코드가 있는데 이를 활용하였다. app 단위에 Gradle 에 다음과 같은 의존성을 추가해주도록 하자 implementation 'androidx.core:core-ktx:1.6.0' 코드 fun EditText.initComma( listener: ((originNumber: Double) -> Unit)? = null, ) { var amount = "" this.doOnText.. 2021. 9. 5.
Android Flavor + Fastlane (Release + Screenshot) 자동화하기 서론 요즘 앱을 찍어내는 거에 관심이 부쩍 커졌습니다. 하나의 틀을 만들어두고 컨텐츠만 간단하게 변경할 수 있다면 단시간에 많은 앱들을 만들어낼 수 있지 않을까?라는 생각이 들어서죠😎 이번에는 조금 무리해서 무려 85개의 앱을 찍어내보려고 작업하던중 겪은 삽질기를 공유하고자 합니다. (참고로 포스팅에 어떤 앱인지는 공유하진 않아요 😂) 우선 앱을 출시하는데 있어서 많은 과정들이 필요한데, 애드몹 광고를 추가하여 수익화가 필요한 앱이라면 다음과 같은 과정을 거쳐야합니다. 관련 모든 코드는 Github에 등록해두었습니다 :) Google Play Console 단계 1. Google Play Console에서 앱을 생성하는 단계 - 앱 이름 언어 정하고, 언어를 정하고, 앱인지 유료인지 무료인지 기타 정책을.. 2021. 7. 22.
FCM Push Notification with Postman Part1 안드로이드에서 푸시 알람을 처리하기 위한 방식으로 보통 FCM을 사용하게 됩니다. 앱에서 Push 개발을 하는건 크게 문제 없지만 내가 만든 코드가 잘 동작하는지 확인을 해볼 필요가 있는데 이번 포스팅에서는 어떻게 그 작업을 수월하게 할 것인지 정리해보는 시간을 가지기로 했습니다. 순차적으로 풀어가는 방식이 아닌, 바로 포스트 작성일 기준 최신버전 사용법을 알고 싶으신분은 FCM Push Notification(HTTP v1) with OAuth 2.0 Playground / Postman / Terminal - Part2 포스팅을 참조해주세요 FCM 푸시 알림을 테스트 하는 방법 1. Firebase 콘솔에서 푸시를 보내는 방법 이 방식은 가장 간단하지만 알림 메세지와 추가 데이터 그리고 채널 정도만 .. 2021. 1. 18.
Intent로 인스타, 유튜브, 앱리뷰 실행시키기 Intent로 인스타, 유튜브, 앱리뷰 간단히 실행시키기 앱 개발중 - 리뷰 구걸을 위해 내앱이 등록된 플레이스토어로 이동- 내 앱 사용 설명을 위해 내가 등록한 유튜브 페이지로 앱을 실행- 특정인의 인스타그램으로 이동 등 다양하게 Intent를 사용할 경우가 있습니다. 위에 나열한 내용을 어떻게 구현하는지 알아봅시다.val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url)) context.startActivity(intent)핵심은 이 두줄로 가능합니다. url에다가 알맞은 값만 넣어주면 끝인데요! 결론부터 보여드리자면 코드는 아래와 같습니다.object LaunchAppsUtil { fun launchReview(context: Context) { val ap.. 2019. 1. 2.
[Android] Unknown Source가 뜰때 해결하기 서론 개발하다가 에러가 나는데 어느 순간부터 크래시로 앱이 죽는데 크래시의 내용이 상세하게 나오지 않는다. 별 대수롭지 않게 이건 시스템 내부쪽의 에러라서 표시가 안되는건가?? 하는 생각으로 며칠을 버텼는데, 억지로 앱이 죽는에러를 발생시켜도 해당 라인이 문제라고 알려주지 않는것이 아닌가? 그러다가 공통적으로 뜨는 것이 Unknown Source라는 것을 알게 되었다. 아래와 같은 에러가 발생된다면 한번 두번 세번 의심해보자 나랑 같은 상황임을.. 분명 NullPointException이 터졌는데 어디서 터졌는지는 안알랴줌으로 일관한다. 본론짜증나는 나의 에러코드의 Unknown Source UncaughtExceptionHandlerjava.lang.NullPointerException at kr.so.. 2017. 12. 9.
안드로이드 DialogFragment Title(Actionbar) 이 없어지지 않을때 방법 커스텀 DialogFragment를 만들고 간단한 Alert 창을 띄울 일이 있었는데 내가 원하지 않는 액션바 타이틀이 계속 나오게되었다.상위 버전에서는 (마시멜로우, 누가 버전)출력되지 않는 것을 확인 했으나 롤리팝(5.0) 버전 이하에서는 해당 증상이 확인되었다.우선 상황을 보자. DialogFragment 창을 띄우면 다음과 같이 뜬다. 위와 같이 빈 타이틀바 영역이 표시되는데 이를 없애려고 오만가지를 시도 해보았으나 생각보다 되지 않았다.간단한 코드와 함께 어떻게 없앨 수 있는지 코드를 통해 확인해보자 MainActivity.ktclass MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) {.. 2017. 9. 24.
반응형