일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- LV1
- RecyclerView
- stack
- bronze3
- 뷰클래스
- bottom-up
- 프로그래머스
- Android
- fragment에서 context사용
- map
- LIS
- 테마변경
- 임시저장하기
- bronze2
- silver4
- naver open api
- Alert Dialog
- Silver5
- dp
- Top-Down
- RETROFIT
- Kotlin
- toLong()
- 백준
- 다크모드제한
- 녹음기
- recyclerView 클릭이벤트
- bronze4
- silver3
- gradle설정
- Today
- Total
목록오늘의 공부는?! (31)
유니 코드
내가 사용하고 있는 Android Studio의 버전은 Chipmunk 이다. 프로젝트를 진행하면서 Firebase를 사용하게되었다. 앱과 Firebase연동과정에서 Chipmunk는 project수준 build.gradle 내용이 다르다는 것을 알게되었다. 보통 build.gradle은 아래와 같이 buildscript와 allprojects가 있다. buildscript { ext.kotlin_version = "1.5.0" repositories { google() mavenCentral() } dependencies { classpath "com.android.tools.build:gradle:4.2.2" classpath "org.jetbrains.kotlin:kotlin-gradle-plugi..

앱개발을 하다보면 여러개의 레이아웃에서 반복되어 사용되는 레이아웃이 생긴다. 나의 경우에는 앱 레이아웃에 전체적으로 툴바가 존재한다. 이번 글에서는 공통적으로 사용되는 코드를 따로 만들어서 재사용하는 방법을 작성하려고 한다. 거기서 끝나는 것이 아니라 dataBinding을 사용하여 응용하는 방법까지 알아보자 현재 진행하고 있는 프로젝트에서는 이런식으로 레이아웃 상단에 툴바가 존재한다. 툴바에는 기본적으로 뒤로가기 버튼과 제목이 있고, 옵션사항으로 오른쪽에 추가 기능이 있기도하다. ... 이 코드는 위 스크린샷의 코드 일부이다.( activity_manage_staff.xml) 거의 모든 레이아웃에 존재하고있는 이 코드를 따로 빼서 재사용하려고한다. 1. 먼저, 새로운 레이아웃을 생성하자(layout_t..
프로젝트를 진행하면서 jwt 인증을 이용하게 되었다. 사실 내가 할 건 별로 없긴한데, 시나리오를 한번 정리해보겠다. 1. 회원가입 후 로그인을 하면 서버에서 accessToken과 refreshToken을 발급해준다. 2. 이 토큰을 가지고 api call에 사용한다. -> 회원정보 수정이나 정보조회 등,, 3. api call할때, 추가로 헤더에 accessToken을 넣어서 request 보내야 함. -> 이때, "Bearer ${token}" 형식으로 보내야 함. 4. 만약 accessToken이 만료되었다면 서버에서는 403코드를 보낼것임 5. 403을 받으면 refreshToken을 포함하여 call 보내서 Token을 재발급 해야함. 대충 정리하긴 했는데 이런 시나리오다. //retrofit..

Charles? 웹 디버깅 프록시 프로그램으로 HTTP 프록시 / HTTP 모니터링 / 역방향 프록시로서 개발자가 자신의 기기의 모든 HTTP 및 SSL / HTTPS 트래픽을 볼 수 있도록 해준다. 여기에는 Request / Response 및 HTTP 헤더 (쿠키 및 캐싱 정보 포함)가 포함된다. 안드로이드 연결 방법 우선 https://www.charlesproxy.com/download/ 에서 프로그램을 다운받고 실행한다. 안드로이드 기기와 연결하기 위해서 Help > Local IP Address를 클릭한다 다음과 같이 IP 주소가 나오는데 이 IP주소를 잘 알아두자 안드로이드 기기에서 현재 pc에 연결된 wifi와 같은 wifi를 클릭하여 네트워크 설정화면으로 이동한다. 네트워크 설정부분으로 ..

안드로이드 스튜디오에서 기본으로 제공하고 있는 폰트 외에 본인이 원하는 폰트를 적용할 수 있다 오늘은 어플리케이션 폰트 변경 및 적용에 대해서 다루어보겠다 1. 폰트 추가하기 폰트를 추가하기 전에 res폴더 하위에 font 폴더를 생성해준다 변경하고 싶은 폰트의 ttf 또는 otf 파일을 font 폴더에 넣어준다 이때 주의할 점!! 폰트이름은 모두 소문자로 변경해야한다 (대문자나 특수문자가 포함되어있으면 에러발생) 2. 폰트 적용하기 xml 파일에서 폰트를 적용하고 싶은 곳에 android:fontFamily 옵션을 통해 폰트를 적용할 수 있다 (일괄적용하고 싶다면 이건 패스해도 좋다) 3. 폰트 일괄 적용 앱의 기본 폰트를 변경하고 싶다면 이 방법을 추천한다 먼저 font폴더에 Font Resource..

내가 만든 어플을 테스트할 때 나는 보통 핸드폰으로 테스트를 한다.(애뮬은 너무 느,,,,려) 어쩌다보니 다크모드 상태로 테스트를 하게 되었는데 텍스트 색이 내가 구현한 것과 달랐다 그래서 다크모드를 제한하기로 했다 방법은 간단하다 themes.xml 수정하기 res -> values -> themes.xml을 찾아서 연다 저 부분을 Light로 변경해주면 끝이다 (DayNight -> Light로 변경) START 텍스트의 색이 바뀌어 있는 것을 확인할 수 있다 (두 화면 모두 다크모드 상태이다)

안드로이드 개발을 하면서 패키지명을 변경할 상황이 생겨서 이참에 기록해두려고 한다. 패키지명을 변경해야하는 상황은 여러가지가 있는 것 같다. 1) 패키지명에 오타가 생겼거나 저작권 소송이 걸렸을 때 2) 마켓에 등록하려고 하는데 패키지명이 com.example.project와 같이 중간에 example이 포함되어 있을 때 3) 기능은 동일하지만 UI를 변경해 새로운 앱으로 마켓에 등록하고자 할 때 등 이 외에도 여러가지 상황이 있을 수 있다. 나는 패키지명에 example이 포함되어 있어서 변경하게 되었다. 내가 찾아본 방법은 두가지였는데 그중에 더 간단한 방법을 설명하겠다. (다른 방법은 맨 끝에 링크 참고) 1. AndroidManifest.xml 파일 변경 AndroidMenifest.xml 파일을..

RecyclerView를 사용할 때 아이템을 클릭하면 새로운 화면으로 전환시키는 방법을 알아보자 찾아보니 2가지 방법이 있다 1. RecyclerView의 Adapter에서 클릭 이벤트 적용하기 2. RecyclerView가 사용되는 Activity/Fragment에서 클릭 이벤트 적용하기 이 글에서는 Adapter에 클릭 이벤트를 적용하는 방법을 사용해보겠다. 아래 코드는 ListFragment에 RecyclerView를 구현해두었고, RecyclerVeiw 아이템을 클릭하면 채팅화면인 MessageActivity로 전환하는 예제이다. ● MessageActivity.kt 생성 RecyclerVeiw 아이템 클릭시 전환될 화면을 생성하자 activity_message.xml RecyclerView에서 ..
지금 하고있는 프로젝트에서 Fragment를 사용하고 있는데 JAVA는 정보가 많은데 Kotlin은 별로 없어서 기록해두려고 한다 나는 MainActivity에 Fragment를 걸어두었고, AddListFragment -> ListFragment로 이동하려고 한다 먼저 MainActivity.kt에 Fragment에서 사용할 함수를 만들어둔다 //fragment간 이동 fun replaceFragment(fragment: Fragment){ val fragmentManager: FragmentManager = supportFragmentManager val fragmentTransaction: FragmentTransaction = fragmentManager.beginTransaction() frag..
액티비티에서 Fragment를 띄우는 경우, 액티비티 내부에서 사용할 수 있던 메서드를 사용할 수 없는 경우가 많다 또 파라미터로 Context를 받는 메서드들도 어떻게 사용해야할지 난감하기도 하다 Fragement 클래스는 Context를 상속받지 않기 때문에 발생하는 것이다 따라서 일반적인 방법으로는 Fragment 내부에서 아래와 같은 메서드들을 사용하기 어렵다 1. Context에 정의된 메서드 - findViewById - runOnUIThread - getApplicationContext - startActivity 등 2. context를 파라미터로 받는 메서드 - Toast 등 이러한 메서드들을 사용하기 위한 방법을 알아보도록 하자 Fragment에서 Context를 사용하기 위해서는 Co..