목록분류 전체보기 (70)
hyeals study
- 사용자 페이지 화면 추가 (사용자 페이지를 관리하기 위함) [1] fragment_user.xml에 레이아웃을 아래와 같이 만듦 [2] UserFragment.kt 로 이동해서 아래와 같이 코드를 작성함 package com.example.hyealsinstargram.navigation import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.ImageView import androidx.appcompat.widget.LinearLayoutCompat import androidx.fragment.app.Fragme..
- 인스타그램의 좋아요 버튼 기능 추가 [1] DetailViewFragment.kt에 favoriteEvent라는 메소드 작성 fun favoriteEvent(position: Int){ var tsDoc = firestore?.collection("images")?.document(contentUidList[position]) firestore?.runTransaction { transaction -> var contentDTO = transaction.get(tsDoc!!).toObject(ContentDTO::class.java) if(contentDTO!!.favorites.containsKey(uid)){ // When the button is clicked contentDTO.favorite..
- 상세 화면 페이지가 보이는 기능 추가 [1] 이미지를 다운로드 받을 수 있는 이미지로더 라이브러리를 추가함 - Open Module Settings에서 com.github.bumptech.glide 라이브러리를 추가해줌 [2] 상세 페이지에서 사용할 수 있는 아이템 디자인을 만듦 - item_detail 이라는 레이아웃 xml 파일을 만듦 - xml 파일을 아래와 같이 만들어줌 [3] fragment_detail.xml 파일에 아래와 같은 코드를 추가함 (RecyclerView 추가) * RecyclerView: 어댑터의 ViewHolder를 이용해서 RecyclerView내의 뷰를 재활용하는 것 [4] DetailViewFragement.kt 파일로 이동해서 DetailViewRecyclerView..
- 이전에 업로드했던 사진을 체계적으로 데이터로 관리할 수 있는 데이터 모델 만들기 [1] build.gradle(Module:app)에 있는 dependencies에 아래와 같이 코드 추가 [2] navigation에 model이라는 새로운 패키지 생성 - 그 안에 ContentDTO라는 코틀린 클래스 파일 생성 [3] ContentDTO.kt 에 아래와 같이 코드를 작성함 package com.example.hyealsinstargram.navigation.model import java.util.HashMap data class ContentDTO(var explain: String? = null, var imageUrl: String? = null, var uid: String? = null, v..
- 사진을 업로드할 수 있는 기능을 추가 [1] 사진을 업로드할 수 있는 액티비티(여기서는 AddPhotoActivity라고 액티비티명을 정함) 생성 [2] [activity_add_photo.xml] - 아래와 같이 사진을 업로드할 수 있는 액티비티를 구성해줌 [3] build.gradle(Module:app) 파일의 dependencies 에 아래와 같이 코드를 작성해줌 - 사진을 업로드할 수 있는 스토리지를 추가해주는 작업 [4] AddPhotoActivity.kt 코드 작성 package com.example.hyealsinstargram.navigation import android.app.Activity import android.content.Intent import android.net.U..
- 이번에는 로그인 후 나오는 메인 화면을 만듦 (아직 아무 기능도 없음) 먼저 [activity_main.xml]에 위와 같이 네비게이션 뷰를 만들어줌 다음으로 res폴더에 resource file을 하나 만들어줌 이 때 리소스의 타입은 "menu"로 해줌 - 새로 만든 리소스 파일에 아래와 같이 아이템들을 만들어줌. * 각 아이템의 아이콘들은 프로젝트를 실행했을때 나오는 부분중 이 부분에 해당됨 다음으로 java폴더에 새로운 패키지를 추가해줌 (navigation 라고 패키지명을 정했음) - navigation 패키지 안에 아래와 같이 Kotlin 클래스들을 만듦 - 이후 res폴더에 있는 layout 폴더에 아래와 같이 xml 파일들을 만들어줌 이제 navigation에 있는 코틀린 클래스들을 작성..
[LoginActivity.kt] - 페이스북 로그인도 구글로그인과 마찬가지로 3단계로 구성됨 페이스북 로그인 firebase 인증을 거쳐 로그인 확인을 응답 받음 - facebook for developers에 접속해서 로그인을 한 뒤 새로운 앱을 만듦(https://developers.facebook.com/?locale=ko_KR) - 대시보드에서 facebook Login에서 설정을 눌러서 나오는 내용을 안드로이드 스튜디오에 설정함 - 이 과정을 끝내면 firebase에서 facebook사용을 허용하도록 해야함 firebase에서 fackbook사용을 허용하고 firebase의 리디렉션을 facebook for developer에 만든 앱의 facebook Login의 settings의 리디렉션에..
[LoginActivity.kt] - 구글 로그인 기능 추가 * 앞서 진행한 이메일 로그인의 경우는 firebase에 있는 이메일에 회원가입 및 로그인 하는 방식임. * 구글 로그인(소셜 로그인)을 하는 방식은 구글 로그인을 한 후 firebase를 거쳐 로그인 확인을 응답받는 방식 package com.example.hyealsinstargram import android.content.Intent import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Toast import com.google.android.gms.auth.api.Auth import com.google.android.g..