본문 바로가기

Android87

[Android] Postman으로 FCM Push 알림 보내기 Postman을 이용하여 Firebase Cloud Message(FCM) 푸쉬 알림을 보내보도록 하겠습니다. Postman은 https://www.postman.com/ 에서 다운받으실 수 있습니다. 1. Firebase에서 서버키 가져오기 Firebase 홈페이지에서 프로젝트 대쉬보드 -> 설정버튼 -> 클라우드 메시징을 클릭하시면 서버키를 확인할 수 있습니다 2. 디바이스 토큰 가져오기 Activity에서 아래의 코드를 추가한 후 실행합니다 FirebaseMessaging.getInstance().token.addOnCompleteListener { task -> if (task.isSuccessful) { println("token: ${task.result}") } } 3. Postman으로 F.. 2022. 7. 9.
[SWM Mobile] CommonListAdapter (6/30) 이번 스터디에서는 주어진 json을 보고 어떻게 설계를 할 것인가에 대해 고민하는 시간을 갖고 그거에 따른 구현을 고민하며 페어 프로그래밍을 통해 다른 동료들이 시키는대로 코드를 짜보는 시간을 갖게 되었습니다. [Android] Multi-View Type을 지원하는 RecyclerView 구현하기 배경 기존에는 하나의 RecyclerView에 같은 타입의 뷰만 띄웠지만 여러 타입의 뷰를 띄워야 하는 경우도 있습니다. 이런 경우 RecyclewView.Adapter를 상속하는 CommonAdapter를 구현하여 Multi-View Type이 적용.. jgeun97.tistory.com 이번 스터디를 통해 저는 한 번도 Multi-View Type에 대해 고민해본 적이 없고 android 공식 홈페이지에서.. 2022. 7. 6.
[SWM Mobile] CommonListAdapter - JSON (6/23) 배경 데이터 통신을 통해 받아오는 json이 정말 다양한 형식으로 제공됩니다. 이에 따라 adapter도 각각 ViewHolder를 생성하여 데이터를 바인딩해줍니다. 하지만 뷰타입의 종류를 정하고 그거에 따른 데이터를 제공해준다면 매번 ViewHolder를 생성하는 것이 아닌 정해진 ViewHolder를 사용해서 진행할 수 있습니다 스터디 첫 번째로 그림을 보고 Multi-View Type을 지원할 수 있는 형식으로 json을 만들어봅니다. { data: [ { "viewType": "ONE_LINE_TEXT", "title": { "text": "Title1", "style" "bold", "size": "14sp" } }, { "viewType": "ONE_IMAGE", "image": { "url".. 2022. 7. 4.
[Android] Multi-View Type을 지원하는 RecyclerView 구현하기 배경 기존에는 하나의 RecyclerView에 같은 타입의 뷰만 띄웠지만 여러 타입의 뷰를 띄워야 하는 경우도 있습니다. 이런 경우 RecyclewView.Adapter를 상속하는 CommonAdapter를 구현하여 Multi-View Type이 적용되도록 하는 방법을 알아보겠습니다 Data는 아래와 같이 viewType과 type에 따른 viewObject가 제공됩니다 { "viewItems": [ { "viewType": "TWO_LINE_TEXT", "viewObject": { "titleText": "서울대입구역", "descText": "서울특별시 관악구 남부순환로 지하 1822" } }, { "viewType": "ONE_LINE_TEXT", "viewObject": { "titleText":.. 2022. 7. 4.
[Android] CLEARTEXT communication to 'IP' not permitted by network security policy 안드로이드 OS 9.0 Pie부터 네트워크 보안 정책이 변경되어 "모든 네트워크 트래픽에서 http 대신 https를 사용하도록 강제하는 정책"입니다. http 연결은 명시적을 사용을 선언한 경우에만 사용할 수 있게 되었습니다. 방법1. AndroidManifest에서 android:usesCleartextTraffic의 Flag값을 True로 변경해줍니다 방법2. 1-1) network_security_config 파일 생성합니다 res/xml/network_security_config.xml api_url 1-2) 위의 방법은 특정 주소를 허용하도록 설정하지만 그렇지 않은 상황인 경우도 있습니다. ex) 특정 사이트가 http인 경우 이런 경우 전체 http url을 허용해주는 방식을 사용합니다 2).. 2022. 6. 27.
[Android] ViewPager2와 ViewPager의 차이점 안드로이드 공식 홈페이지에서는 ViewPager에서 ViewPager2로 이전이라는 주제로서 글을 다루고 있습니다 ViewPager에서 ViewPager2로 이전하였을 때의 장점은 뭐가 있을까요? 1. ViewPager2는 적극적인 개발 지원을 받고 있지만 ViewPager는 그러지 않기 때문입니다 2. ViewPager2는 가로페이징 뿐만 아니라 세로 페이징까지 제공하고 있습니다 3. ViewPager2는 오른쪽에서 왼쪽(RTL) 페이징을 지원합니다. -> RTL 페이징은 언어에 따라 해당하는 경우 자동으로 사용 설정되지만 android:layoutDirection 속성을 설정하여 ViewPager2 요소의 RTL 페이징을 수동으로 사용 설정할 수도 있습니다. 4. 수정 가능한 프래그먼트 컬렉션을 통해.. 2022. 6. 26.
[Android] ViewPager 사용법 ViewPager2를 원하시는 분들은 아래 링크를 확인해주세요 [Android] ViewPager2 사용법 android 공식 홈페이지에선 "화면 슬라이드에는 향상된 ViewPager2 라이브러리를 사용하는 것이 좋습니다" 라고 공지하고 있습니다 1. 원하는 activity의 xml에 ViewPager2를 추가해줍니다. (저는 tab과 Indicat jgeun97.tistory.com 1. 원하는 activity의 xml에 ViewPager를 추가해줍니다. (저는 tab과 Indicator도 추가했습니다) //Indicator의 경우 외부 라이브러리를 사용 https://github.com/ongakuer/CircleIndicator / LICENSE: Apache 2.0 1.1 원하는 indicator.. 2022. 6. 26.
[Android] ViewPager2 사용법 android 공식 홈페이지에선 "화면 슬라이드에는 향상된 ViewPager2 라이브러리를 사용하는 것이 좋습니다" 라고 공지하고 있습니다 1. 원하는 activity의 xml에 ViewPager2를 추가해줍니다. (저는 tab과 Indicator도 추가했습니다) //Indicator의 경우 외부 라이브러리를 사용 https://github.com/ongakuer/CircleIndicator / LICENSE: Apache 2.0 1.1 원하는 indicator 색 변경 - black_radius (color만 원하는 색으로 지정하시면 됩니다) 2. Activity에서 ViewPager를 연결해준다 Horizontal: 수평, Vertical: 수직 3. 이제 ScreenSlidePager2Adapter.. 2022. 6. 26.
[Android] Unfortunately you can't have non-Gradle Java modules and Android-Gradle modules in one project. 1. File -> Invalidate Caches/Restart 실행 2. Android Studio를 종료 3. 해당 프로젝트 폴더로 가서 .idea 디렉토리를 삭제 4. .imi 확장자를 가진 파일을 삭제 5. 다시 시작해보면 해결된다. Error: Unfortunately you can't have non-Gradle Java modules and > Android-Gradle modules in one project I have an IntelliJ 14.1.2 Project consisting of two modules - one is an Android Gradle based module and the other is a Spring Java-based module with Maven. gp.. 2022. 6. 26.