Group Study (2021-2022)/Android 6

[Android] 6주차 스터디 - FCM (Firebase Cloud Messaging)

1. FCM 이란 ? FCM은 Firebase Cloud Messaging의 약자로, 무료로 메시지를 안정적으로 전송할 수 있는 교차 플랫폼 메시징 솔루션이다. 교차 플랫폼 메시징 솔루션이기 때문에 FCM을 이용하여 개발을 진행하면, 플랫폼에 종속되지 않고 push 메시지를 보낼 수 있다는 점에서, push 메시지를 보내기 위해 기존에 각 플랫폼 환경별로 개발해야 하는 불편함을 해결하는 대안이 된다고 볼 수 있다. 2. FCM의 주요 기능 알림 메시지 / 데이터 메시지 전송 사용자에게 표시되는 알림 메시지 또는 데이터 메시지를 전송하고 어플리케이션 코드에서 임의로 처리한다. 메시지 종류 알림 가능 여부 알림 저장 개수 알림 처리 방법 알림 메시지 가능 여러 알림 저장하지만, OS 환경마다 다르다 앱이 백..

[Android]5주차 스터디 - material design , Retrofit2

1. material design material desgin이란 구글에서 만든 디자인 라이브러리로 android, ios, wed 의 ui/ux 개발에 편리하게 사용한다. material design 사용 방법 1. build.gradle repositories { google() mavenCentral() } build.gradle > repositories > google ( ) 추가 implementation 'com.google.android.material:material:1.1.0' build.gradle(:app) > dependencies > implementation 추가 3. styles.xml res > values > styles.xml > Theme.MaterialCompnent..

[Android] 4주차 스터디 - 클론 코딩 진행 상황, 인상 깊었던 내용

1. 인스타그램 클론 코딩 진행 상황에 대해 간략히 설명하기 현재 진행상황: ~유저 페이지 만들기 #3 1) 로그인 화면과 Home 화면 2) 로그인 유저 페이지와 다른 유저의 페이지 3) 사진 업로드 페이지와 결과 2. 클론 코딩 과정에서 가장 인상 깊었던 부분 안드로이드 재설치😱 이번주차 내용과는 다소 동떨어지지만... 단연코 클론 코딩 과정에서 가장 인상 깊었던 내용에서 빠질 수 없는 사연이다.. 안드로이드 스튜디오를 정말 다 지우고 온갖 방법들을 해보면서 어쨌든 얼레벌레 성공한 내용이기도 하다. 🤷‍♀️ 왜 이 상황을 초래했는가? 구글 로그인에 필요한 SHA1 코드를 얻기 위해서는 gradlew in signinReport 명령어를 사용해야 하고, 해당 명령어는 JDK 11 버전 이상부터 지원하는..

[Android] 3주차 스터디 - Camera, Firebase

1. 카메라 기능 사용 및 사진 저장 "기존의 카메라 앱 (핸드폰에 설치되어 있는 카메라)를 호출하여 사진을 찍는 방법 " intent의 암시적 호출 방법으로, 카메라를 호출하여 찍은 사진을 폴더에 저장할 수 있다. 1. Android.Manifest.xml 수정 카메라와 저장소는 개인정보와 관련된 기능으로 위험 권한에 속한다. 따라서, Android.Manifest.xml에 다음과 같이, 카메라와 저장소 사용에 대한 사용 권한을 명세해주어야 한다. 안드로이드에서는 안전하게 앱 간 파일 전송하는 방법으로 콘텐츠 URI를 전송하는 방법을 사용한다. FileProvider 라이브러리는 지정된 파일의 콘텐츠 URI를 생성할 수 있는 getUriForFile() 메서드를 제공한다. 태그 안에 태그의 FilePr..

[Android]2주차 스터디 - Intent, RecyclerView

1.Intent Intent란 Intent는 다른 앱 구성 요소(액티비티, 서비스, Broadcast Receiver, 콘텐츠 제공자)로부터 작업을 요청할 때 사용하는 메시징 객체이다. 액티비티 시작 액티비티 시작은 Intent로 구성 요소간 통신을 촉진하는 방식 중 하나이다. Activity는 앱 안의 단일 화면을 나타낸다. Activity의 새 인스턴스를 시작(다른 화면으로 이동)하려면 startActivity()로 intent를 전달한다. 이 때 intent에는 시작할 Activity의 필수 데이터를 담는다. class MainActivity : AppCompatActivity() { //뷰 바인딩 private var mBinding: ActivityMainBinding? = null privat..

[Android] 1주차 스터디 - Widget, Layout, Android Activity Cycle

1. Widget : TextView, EditText & Button, ImageView a. TextView 화면에서 Text를 표시할 때 사용하는 뷰 위젯 EditText와 Button의 부모 클래스 - 속성의 종류 gravity: TextView의 텍스트 정렬 방식 지정. text: 화면에 표시될 텍스트 지정. textAllCaps: 텍스트를 모두 대문자로 출력. textSize: 텍스트 폰트 크기 설정 textStyle: 텍스트 스타일(bold, italic) 지정 - 예제 소스 코드 android:textColor="#000000" android:textSize="20sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constrai..