프로그래밍/안드로이드 <Kotlin>19 [Android] 앱 서명 키 (app signed key)와 업로드 키 (upload key) 이해하기 개요 안드로이드 앱을 구글 플레이 스토어에 배포하기 위해서는 다양한 키, 인증서 개념을 이해해야 합니다. 항상 앱을 올릴 때마다 까먹습니다. 구성 앱 서명 키 , 업로드 키, 앱 서명 키 인증서, 업로드 키 인증서가 있습니다. 🔑 앱 서명 키 실제 사용자 기기에 설치되는 APK 파일에 서명한 키 입니다. Play Console에서 앱 서명키를 자동 생성한 경우 앱 서명 키와 앱 서명 인증서는 구글에서 온전히 관리합니다. (개발자가 상관할 필요 없음) 📜 앱 서명 키 인증서 Google Play Console > 설정 > 앱 서명에서 확인할 수 있습니다.앱 서명 키에 대한 인증서 입니다.Play Console에서 앱 서명키를 자동 생성한 경우 앱 서명 키와 앱 서명 인증서는 구글에서 온전히 관리합니.. 2024. 12. 9. [Android] 안드로이드 android:tag android:name android:id 차이 개요 안드로이드 개발 시 사용할 수 있는 속성 android:tag android:name android:id 세 가지의 차이를 알아보겠습니다. 속성 별 사용 권장되는 상황이 다릅니다. android:id액티비티 메소드에서 활용합니다. Button myButton = (Button) findViewById(R.id.my_button); android:tagid를 보조하거나, 가변적인 객체 리스트에서 활용합니다. 일반적인 상황에선 id사용을 권장합니다. android:name Fragment의 고유 명으로 사용합니다. 아래와 같이 Fragment 교체 및 트랜잭션 시 활용합니다. // Replace whatever is in the fragment_container view with this frag.. 2024. 9. 14. [android/java] firesbase SDK java.util.long cannot be cast to class java.lang.integer 문제 해결 개요 이 글은 안드로이드 firebase SDK 사용하여 데이터베이스 I/O를 할때, firebase 데이터를 자바 Integer에 저장 시도하는 경우 에 한해 올바른 해결 방안을 안내합니다. int count = data.get("count"); 해결 방법 안드로이드에서 데이터베이스 I/O에 사용되는 모든 숫자 변수는 long을 사용해 주세요. 또한 long으로 캐스팅해주세요. long count = (long) data.get("count"); 이유 firebase 데이터베이스의 숫자는 모두 Long 자료형으로 받습니다. 따라서 캐스팅 가능한 long으로 캐스팅해주어야 합니다. 참고 자료 https://firebase.google.com/docs/database/android/read-and-writ.. 2024. 1. 19. [android/java] recyclerview onClickListener에서 fragment transaction 및 startActivity 구현하기 가정 custom recyclerView를 이미 구현했다고 가정합니다. 아래와 같이 생성자 내부에 onClick 리스너가 작성된 상태에서 시작합니다. public class TestAdapter extends RecyclerView.Adapter { ... public static class ViewHolder extends RecyclerView.ViewHolder { ... private AppCompatActivity activity; public ViewHolder(View view) { super(view); ... view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); Fr.. 2024. 1. 15. [android/java] 메소드 오버라이딩 시 super 메소드 호출의 필요성 개요 안드로이드 프로그래밍할때, 우리는 굉장히 많은 메소드를 오버라이딩합니다. 그런데 오버라이딩 시 super 문법을 통해 부모 클래스의 메소드를 호출하는 것 super.onSaveInstanceState(outState); 을 매우 자주 보았을 겁니다. 왜 사용할까요? 메소드 오버라이딩은 일반적으로 부모 클래스 메소드를 사용하지 않고 재정의한 메소드를 사용하기 위함인데, 굳이 부모 클래스의 메소드를 호출하면 오버라이딩한 의미가 별로 없지 않나요? @Override public void onSaveInstanceState(@NonNull Bundle outState) { super.onSaveInstanceState(outState); ... } super 먼저 이 상황을 이해하기 위해선 super 문법.. 2024. 1. 13. [android] BottomNavigationView 아이템 클릭 시 shift mode 애니메이션 비활성화하기 문제 BottomNavigationView의 아이템 선택 시 아이콘과 라벨이 동시에 커지는 애니메이션이 기본값으로 설정되어 있습니다. 이 애니메이션 효과(Shift mode)를 제거해 보겠습니다. 해결 방법 이 문제를 해결하기 위해 빌드 시 강제로 dimens.xml에 지정된 값(12sp)을 오버라이드하도록 만들어야 합니다. res/drawable/values/dimens.xml 에 아래 코드를 추가해 주세요. 12sp 바텀네비게이션 레아아웃에 아래 코드를 추가해 주세요. xmlns:tools="http://schemas.android.com/tools" tools:override="true" 애니메이션 효과가 사라졌습니다. 참고 자료 해당 이슈에서 해결 방법을 찾았습니다. Google Issue Tra.. 2024. 1. 2. 이전 1 2 3 4 다음