Android 인앱 상품(IAP) 등록
·
Android
개발하다 보면 문서나 튜토리얼이 오래되어 있어서 고생할 때가 많다.이번엔 Android 인앱 결제를 적용하면서 삽질했던 내용을 메모 겸 블로그로 정리해본다.1. Google Play Console 설정경로Google Play Console → Play를 통한 수익 창출 → 인앱 상품 → [상품 만들기] 클릭여기까진 아주 기본적인 흐름이다. 하지만...2. [상품 만들기]가 비활성화 되어 있다면?대부분 여기서 막힌다. 나도 처음엔 이유를 몰랐다.해결법은 간단하다. 프로젝트에 BillingClient 라이브러리가 빠져있으면 상품을 만들 수 없다.build.gradle에 아래 코드 추가:dependencies { def billing_version = "7.1.1" implementation "co..
안드로이드 개발자 면접 질문 리스트
·
Android
1. 자기소개 및 경험 관련본인에 대해 간단히 소개해주세요.안드로이드 개발을 시작하게 된 계기는 무엇인가요?지금까지 진행했던 프로젝트 중 가장 인상 깊었던 프로젝트와 그 이유는 무엇인가요?현재 사용하고 있는 기술 스택과 이를 선택한 이유를 설명해주세요.협업 경험이 있는지, 팀 프로젝트에서 맡았던 역할과 기여한 점을 설명해주세요.2. Android 기초 및 아키텍처안드로이드 생명주기에 대해 설명해주세요.Activity와 Fragment의 차이점은 무엇인가요?안드로이드에서 Service는 언제 사용하며, 종류에는 어떤 것이 있나요?ViewModel의 역할과 필요성에 대해 설명해주세요.Jetpack이 무엇이며, 안드로이드 개발에서 어떻게 활용되나요?MVVM, MVP, MVI 패턴의 차이점과 각각의 장점/단점에..
Android Spinner
·
Android
Spinner란 위와 같이 드롭다운 형태로 사용자가 원하는 아이템을 선택할 수 있도록 해주는 레이아웃입니다. Spinner 레이아웃 만들기 먼저 xml 파일에 Spinner 레이아웃을 만듭니다. TextView 는 Spinner 의 아이템들이 어떤 집합에 속하는지 나타내기 위해 만들었습니다. Spinner 안에 들어갈 아이템들을 저장하기 위해 values/string.xml 파일에 string array를 만듭니다. 테스트1 테스트2 테스트3 테스트4 ArrayAdapter 생성하기 Activity 혹은 Fragment 에서 ArrayAdapter 를 생성하여 Spinner 에 적용해줍니다. private fun initSpinner() { ArrayAdapter.createFromResource( re..
Android - Garbage Collection(GC)
·
Android
Garbage Collection Java는 Garbage Collection(GC)을 이용하여 메모리를 관리한다. 필요에 따라 GC가 실행되고, 그 과정에서 사용하지 않는 객체들을 정리해 준다. Garbage Collection의 동작 원리 아래 기술되는 내용은 GC의 모든 것을 다루지 않는다. 그저 GC라는 것이 있고 그것이 어떤 방식으로 돌아간다- 하는 간략한 요약 정도일 뿐이다. 1. 자바에서는 Garbage Collection(또는 GC)를 이용하여 메모리를 정리한다. 1-1. GC는 더이상 사용되지 않는 쓰레기 객체들을 정리하는 작업을 한다. 1-2. GC는 필요에 따라 자동으로 실행된다. (2-2의 경우에 실행된다.) 2. GC에 의해 관리되는 메모리는 Young과 Old로 나뉜다. 2-1...
Android - Manifest & Components
·
Android
Manifest 안드로이드 시스템이 앱의 코드를 실행하기 전에 확보해야 하는 앱에 대한 필수 정보를 시스템에 제공하는 목록 앱의 패키지 이름 앱에서 사용되는 컴포넌트(액티비티, 서비스, 브로드캐스트 리시버, 컨텐트 프로바이더) 권한(Permission) 앱에서 요구하는 하드웨어와 소프트웨어 특징 1. Package name and Application ID 매니페스트 파일의 Root element() 에는 해당 앱의 패키지 네임이 반드시 기재되어야 합니다. "com.ready.example" 이라는 패키지 네임의 manifest 파일 ... 여기서 manifest의 패키지 네임은 우리가 앱을 빌드하여 APK 를 추출하는 과정에서 Android Build Tool 에 의해 다음 2가지 목적으로 사용됩니다...
Android Layout
·
Android
대표적인 레이아웃 다섯 가지 1. LinearLayout (리니어 레이아웃) Linear(선의, 선형의)의 뜻처럼 가로나 세로 방향으로 일열로 나열 할 때 사용합니다. 뷰의 위치를 지정 하지 않아도 중첩되지 않고 자동으로 나열됩니다. - Horizontal 가로 , vertical 세로 2. RelativeLayout(렐러티브 레이아웃) 렐러티브 레이아웃은 뷰를 특정 뷰나 부모의 위치에 맞게 배치를 할 수 있습니다. 3. TableLayout(테이블 레이아웃) 테이블레이아웃은 뷰들을 표(Table)처럼 배치 할 수 있습니다. 엑셀처럼 표의 크기와 모양, 테두리 색 변경이 가능합니다. 4. FrameLayout(프레임 레이아웃) 프레임 레이아웃은 뷰들을 액자(Frame)처럼 배치 할 수 있습니다. 5. D..
안드로이드 Activity 생명주기
·
Android
onCreate() : 최초로 앱 실행 시 호출, 초기화 관련 작업 onStart() : 이 시점부터 사용자가 액티비티를 볼 수 있다. onResume() : 액티비티가 실제 사용자와 상호작용이 가능한 포그라운드에 위치하면 호출된다, 액티비티 실행 중 상태 onPause() : 액티비티가 실행 중인 상태에서 사용자와 상호작용이 불가능한 상태, 즉 포커스를 잃은 상태가 되면 호출 onStop() : 액티비티가 더 이상 보이지 않을 때 호출 onDestroy() : 액티비티가 종료되거나 앱 프로세스 자체가 종료되면 호출 ex) 불투명한 새로운 액티비티가 최상단으로 올라와서 기존 액티비티가 완전히 보이지 않게 되면 onPause()에 이어서 onStop()까지 바로 호출된다. 불투명 새로운 액티비티가 최상단으..
Android 4대 컴포넌트
·
Android
1. Activity(액티비티) UI 화면(사용자와 상호작용)을 담당하는 컴포넌트 액티비티 역할을 하기 위해서는 자바소스에서 Activity클래스를 상속해야 하며 액티비티가 기본적으로 가지고 있는 생명주기 메소드를 재정의하여 원하는 기능을 구현하는 방식으로 제작합니다. 특징 - 안드로이드 어플리케이션은 반드시 하나 이상의 Activity를 가지고 있어야 합니다. - 두개의 액티비티를 동시에 Display할 수 없습니다. - 다른 어플리케이션의 액티비티도 불러낼 수 있습니다. - 액티비티 내에는 프래그먼트(Fragment)를 추가하여 화면을 분할시킬 수 있습니다. public class MainActivity extends Activity { @Override protected void onCreate(B..
Android 기초
·
Android
Flutter 하다가 갑자기 Android 프로젝트를 들어가 정리를 해둔다 .. 1. Package name and Application Id 매니페스트 파일의 Root element() 에는 해당 앱의 패키지 네임이 반드시 기재되어야 gksek "com.ready.example" 이라는 패키지 네임의 manifest 파일 여기서 manifest의 패키지 네임은 우리가 앱을 빌드하여 APK 를 추출하는 과정에서 Android Build Tool 에 의해 다음 2가지 목적으로 사용된다. App Resource 에 접근하는데 사용되는 R 클래스의 네임스페이스로 적용이 된다. 위 예에서는 com.ready.test.R 클래스가 생성된다. 매니페스트 파일 내에서 선언된 상대경로에 적용됩니다. 예를 들어 \