Android 9

신규 사용자 회원가입 및 비밀번호 재설정 메일 보내기

파이어베이스에 해당 프로젝트 생성 후 여러 dependencies를 추가해 준다. 파이어베이스 document에서 찾아보고 따라해 보는 것을 추천한다. firebase.google.com/docs/auth/android/start Android에서 Firebase 인증 시작하기 Firebase에 앱 연결 아직 추가하지 않았다면 Android 프로젝트에 Firebase를 추가합니다. 앱에 Firebase 인증 추가 Firebase Android BoM을 사용하여 모듈(앱 수준) Gradle 파일(일반적으로 app/build.gradle)에서 Firebas firebase.google.com 그럼 회원가입의 핵심 함수를 소개하겠다. 이때의 인증 방법은 이메일과 비밀번호를 통해 이루어진다. 사용자가 이메일과 ..

Android 2021.02.11

[kotlin]Navigation 바 만들기

나는 어둠의 자식이니까 테마를 android:theme="@style/Theme.Design.NoActionBar"로 바꾸겠다. 여기서 왼쪽의 메뉴 imageView를 클릭하면 왼쪽에서부터 네비게이션 메뉴바가 슉 나오고 3개중 하나를 선택하면, 토스트 메세지가 나오도록 간단히 제작하였다. 또 네비게이션 바에서 하나의 item이 선택되었을 때 네비게이션 바가 자동으로 닫히고, 네비게이션 바가 열려있는 상태에서 백버튼을 누르면 앱이 finish 되는것이 아닌 네비게이션 바가 닫히는 기능을 부여해보겠다. navigation바를 사용하기 위해서는 첫째로, 라이브러리를 추가해야한다. 저 퍼런 부분을 클릭해서 build.grandle(modul.~app)으로 간다. dependencies 가 아래부분에 위치해 있는..

Android 2021.02.05

액션바 테마 있/없

액션바가 기본적으로 주어진다. 그런데 그 액션바가 필요가 없을 때 테마를 바꿔주면 되는데, manifest파일에 가보자. 내가 체크표시한 줄에서 테마를 바꾸어 준다. 액션바가있을 때 (처음 기본테마) Design.NoActionBar테마 android:theme="@style/Theme.Design.NoActionBar"로 변경 Design.Light.NoActionBar테마 android:theme="@style/Theme.AppCompat.Light.NoActionBar" manifest 파일의 쓰임새는 developer.android.com/guide/topics/manifest/manifest-intro 앱 매니페스트 개요 | Android 개발자 | Android Developers 모든 앱 프..

Android 2021.02.05

[error]Android SQLite Error : java.lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow.

항상 오류를 해결하고 보면 내가 죄인이다. 컴퓨터는 잘못을 하지 않는다. 내가 다아아 잘못했다. 오류 트레이서: 짤린부분은, java.lang.IllegalStateException:Couldn't read row 0, col -1 form CursorWindow. Make sure the Cursor is initialized correctly before accessing data for it. 결국 내가 table 칼럼 명을 잘못썼따. 그래서 cursor가 읽지를 못했다. 내가 죄인이다. ColumnName을 똑바로 쓰자!

Android 2021.01.29

[error]SQLiteConstraintException: UNIQUE constraint failed

이 에러가 났다. 오류트레이스는 이렇다. 이 에러를 처음 맞딱드렸을 때 코드상 문제가 없나 다시 훑어보느라 시간을 많이 썼다. 하지만 문제는 그게 아니였다. SQLite 의 테이블에 내가 primary key로 gName을 지정해 두었다. 코드는 대강 이렇다. 에뮬레이터나 폰으로 앱을 실행시 지정한 gName에 primary key이기 때문에 중복되는 gName을 insert했을 때 오류가 나는 것이었다. 이미 테이블에는 해당 name이 존재하는데 새로 db테이블에 insert할 때 같은 gName의 레코드 삽입은 허용되지 않는다. 만약 이미 db테이블에 있는 gName을 또 다시 입력하여 추가한다면 위와 같은 에러가 난다. 주의하자.

Android 2021.01.29