Android Studio 30

Android - 2주차 과제

Activity 생명주기 4대 컴포넌트 중에 하나인 Activity는 애플리케이션에서 보통 하나 이상의 Activity가 서로 연결된 형태로 구성어서 가장 기본이 되는 구성요소이다. 생명주기 ? Life + cycle의 합성어, Lifecycle이다. 말 그대로 탄생하고 죽음에 이르기까지의 과정이라고 Activity에 적용한 것이다. 이미지 생명주기 호출 Activty 생성 시 화면에서 제거 종료 안하고 다른 Activity 실행 유튜브 앱 시작 유튜브 실행 중 카톡 실행 카톡 완벽히 종료 유튜브 재 실행 youtube > onCreate() youtube > onStart() youtube > onResume() youtube > onPause() youtube > onStop() kakao > onC..

Android Studio 2024.04.01

Android - TabLayout 사용해서 Fragment 전환

그냥 버튼 형식으로 만들기 ScrollView로 버튼을 생성해서 만들어 주는 경우를 해봤다. 내가 봐도 비효율적이다. 적게 있으면 몰라도 Fragment가 많아진다면 하나하나 지정해서 넘겨줘야한다. 이렇게는 아무도 안쓸 것 같아서 기존 유명한 앱들을 찾아봤다. 더보기 Layout MainActivity.kt ... binding.goHome.setOnClickListener { supportFragmentManager.beginTransaction().apply { replace(R.id.fragmentContainer,HomeFragment()) commit() } } binding.goAuth.setOnClickListener { supportFragmentManager.beginTransaction..

Android Studio 2024.03.26

Android - SharedPreferences

SharedPreferences ? 간단한 값을 저장할 때 주로 사용된다. 초기 설정 값이나 자동 로그인 여부 등 간단한 값을 저장할 때 DB를 사용하면 복잡하기에 SharedPreferences 사용이 적절하다. Key - Value 형태로 저장한다. 애플리케이션을 파일 형태로 데이터를 저장한다. 사용 1. layout main과 작성할 add Activity를 만들어준다. addActivity의 EditText에서 받아온 text를 mainActivity의 TextView에 띄울 것이다. 추가적으로 앱을 종료했을 때도 저장되도록 하려한다. activity_main activity_add 코드 ↓ 더보기 Main.xml Add.xml 2. 코드 작성 const.kt 생성 const val INFORMA..

Android Studio 2024.03.25

Android - Firebase Storage에 사진 올리기 (1/2)

이번에는 게시글을 작성하고 작성한 게시글이 recyclerView를 통해 나타나게 하려고 한다. 생각한 게시글은 image 한 장과 게시글. 메인 화면에 floatingActionButton을 만들어주고 누르면 게시글을 작성하는 페이지로 넘어가는 것을 만들면 1) 메인 Fragment에 RecyclerView와 FloatingActionButton 추가 원하는 Fragment에 생성하면 된다. 코드 더보기 2) 버튼을 눌렀을 때 나타날 Fragment 생성 원하는 이름의 Fragment와 layout 생성하시고 연결하면 된다.ㅇㅇ.. 간단해서 생략 3) 지지난번에 만든 navigation을 활용해서 페이지 연결 모르겠으면 저어번에 올린 게시글 참고 4) Fragment 화면 이동 binding.write..

Android Studio 2024.03.15

Android - FireStore 규칙 설정 / 데이터 가져오기

지난 글에서 로그인 기능, bottomNavigation까지 완료 후 Cloud Firestore로 데이터 가져오기 | Firebase 의견 보내기 Cloud Firestore로 데이터 가져오기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 세 가지 방법으로 Cloud Firestore에 저장된 데이터를 검색할 수 있 firebase.google.com Firebase 공식문서대로 진행해보면 위의 공식문서처럼 firebase의 인스턴스를 제작한다. (만들고싶은 Fragment에 제작하면 된다.) val db = Firebase.firestore 데이터는 FireStore을 이용할 것이라 다음꺼로 넘어가기 db.collection(컬렉션 이름(1)).document(arti..

Android Studio 2024.03.12

Kotlin - Firebase Auth로 간단한 로그인 구현

실제 이메일은 아니고 앱 내에서 가상 이메일과 비밀번호로 회원가입하고 입력한 정보를 통해 로그인할 수 있는 기능을 구현해볼 것이다. 1) 일단 Firebase에서 Authentication 기능을 추가. 사진처럼 Authentication에는 다양한 인증으로 로그인이 가능하다. 이메일/비밀번호만 구현. 추가를 하면 이렇게 나온다. 네 Firebase에서는 끝이다. 2) 이제 auth를 implementation. FirebaseUI로 손쉽게 Android 앱에 로그인 추가 의견 보내기 FirebaseUI로 손쉽게 Android 앱에 로그인 추가 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. FirebaseUI는 Firebase 인증 SDK를 바탕으로 구축된 라이브 fire..

Android Studio 2024.03.08

Android - FragmentContainerView와 BottomNavigation item으로 fragment넘기기

탐색 | Jetpack | Android Developers developer.android.com 위에 공식문서에서 버전 참고 //navigation implementation("androidx.navigation:navigation-fragment-ktx:2.7.7") implementation("androidx.navigation:navigation-ui-ktx:2.7.7") 공식문서를 통해 기본을 잡아준다. 앗 참고로 res -> navigation폴더 생성 -> nav_graph 생성까지 해준다. 이제 bottomNavigation을 생성해줘야한다. 내가 만들려는 것은 메인화면을 제외하고 fragment로 로그인화면과 홈화면 두개가 필요해서 생성해줬다. 이런식으로 두개를 만들어준 뒤 새로 생성했..

Android Studio 2024.03.05

Android - ConstraintLayout의 Chain

Chain ? 사용 가능한 공간 내 뷰들간의 분할되는 방식을 제어할 수 있는 제약조건이다. layout에서 일렬로 배치하면서 비율별로 너비나 높이를 줄 수 있다. 사용 방법 1. 먼저 chain으로 묶어주어야한다. GUI로 묶어주면 여기 있는 방식으로 chain으로 묶어줄 수 있다. 뒤에 3가지의 종류에 대한 설명 spread 일정한 간격으로 배치 spread inside 가능한 최대한 일정한 간격으로 떨어트린다. packed 모아준다. 코드로 사용하려면 맨 앞과 뒤를 parent로 맞추고 사용해야한다. app:layout_constraintHorizontal_chainStyle="(위에 설명 3가지)"

Android Studio/xml 2024.03.04

Firebase - Firestore Database 생성 중

문제 Firebase의 Firestore Database를 생성하려는데 문제가 발생했다. Database already exists. Please use another database_id 오잉 나 아직 아무것도 안만들었는데 ? 시도 1) 새로고침을 하니 이렇게 떠서 밑에 콘솔로 이동을 눌러서 지워버리고 다시 해보니 아 왜그래,, 앗 설마 초기 프로젝트 제작에서 google 애널리틱스 사용한다고하고 만들어서 다른 프로젝트에서 똑같이 만드니까 안되는 건가 ?! ...정답 해결 이렇게 생성했을 때 다른 프로젝트도 이렇게 만들었다면 만들때 이런 에러가 생겼던 것이다!!

Android - 방명록 작성 (Firestore Database)

2) 해당 item layout 설정 3) Firestore 필드 이름과 같이 recyclerView Item 생성 - firestore의 타입과 같게 생성한다. //ItemLayout.kt class ItemLayout(val name: String, val comment:String) 4) adapter 생성 //ArticleAdapter.kt class ArticleAdapter(private val itemList: ArrayList) : RecyclerView.Adapter() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { val view = LayoutInflater.from(parent.con..

Android Studio 2024.02.29