공부방/Android2020. 1. 27. 21:04How to change color stroke and solid programmatically ?

Stroke color : val drawable = view.background as GradientDrawable drawable.setStroke(3, ContextCompat.getColor(context, R.color.colorWhite)) // width and stroke color Solid color : val drawable = view.background as GradientDrawable drawable.setColor(ContextCompat.getColor(context, R.color.colorWhite)) // solid color resource_border.xml

공부방/Android2020. 1. 22. 11:58How to change android app name(안드로이드 앱 이름 변경 방법)

프로젝트 생성 후 앱 이름을 변경하고 싶다면 어떻게 해야 할까? 먼저 string.xml 파일을 들어가보면 (파일을 쉽게 찾고 싶다면 shift를 두 번 연속 누르고 검색하면 된다.) AppName 위의 app_name 이라는 Resource 가 있을 것이다. 해당 부분을 원하는 이름으로 변경 후 AndroidManifest.xml 로 이동한다. @string/app_name 이 사용된 곳이 두 곳이 보일 것이다. 해당 부분을 변경해 주면 앱 이름이 변경된다.

How to set max line length in Android Studio code editor (안드로이드 스튜디오 에디터 라인 최대 길이 설정)
공부방/Android2020. 1. 21. 20:38How to set max line length in Android Studio code editor (안드로이드 스튜디오 에디터 라인 최대 길이 설정)

Android studio 에디터 화면에서 코드를 작성하다 보면 자동으로 줄바꿈이 일어난다. 이 부분 때문에 코드가 자동으로 줄바꿈 되면서 내가 원치 않게 코드 라인이 보여지는 경우가 있다. 이 부분을 수정해 보자. Mac 기준 상단 메뉴 Android Studio Click -> Preferences -> Editer -> Code Style Hard wrap at 부분을 수정해 주면 된다. 처음 기본 값은 아마 100 으로 설정되어 있을 텐데, 자신이 원하는 수치만 큼 조절 하면 라인당 최대 길이 조절이 가능하다. Android Studio Version 3.5.3 참고 : https://stackoverflow.com/questions/30851617/how-to-set-max-line-length..

공부방/Node.js2020. 1. 14. 20:04How to send FCM topic for App

토이 프로젝트에서 기존 FCM의 Message 전송 방식을 사용하다가, 토큰이 계속해서 누적이 되면서 전체 푸시를 보낼 때, 점점 반응이 느려지기 시작했다. 기존방식은 fcm.send(message) 로 보냈었는데, var message = { data: { message : { type:'100', channel: '100', title: '메시지가 도착했습니다.', content: tempMsg } }, to: "토큰" }; message의 to 또는 registration_ids 를 통해 한번에 여러 기기에 보내는 방식이었다. 하지만 위의 방법은 단점이 있다. 첫 번째 to는 단일 사용자에게 보내는 방식으로 여러 명에게 보내려면 반복문을 돌면서 실행시켜야 하며, 이는 나 같이 적은 리소스를 가지고 ..

주말 걷기운동 2020년 1월 11일
운동2020. 1. 13. 13:59주말 걷기운동 2020년 1월 11일

걷기 운동은 주말마다 하는데, 글은 오랜만에 작성하는 듯하다. 새해부터는 친구 한 명이 추가로 주말마다 걷기 운동에 동참하여 3명이서 하고 있다. 이번 주에 갔던 코스는 광명!!! 가산디지털 단지에서 출발했는데 생각보다 거리가 가까워서 자체적으로 난이도를 조절해서 산을 올라갔다. 첫 번째 산은 이름 모를 동네 뒷산 같은 곳을 뛰어 올라가서 정상을 찍고 내려왔고, 두 번째 오른 산은 광명 동굴인데 길이 아주 잘 되어 있어서 오르기가 쉬웠?다. 분명 사진에 보이는 곳까지는 금방 올라갔는데, 친구가 너무 쉽다고, 다른 길(개고생 길)을 찾아서 산을 전체적으로 구경할 수 있었다. 광명 동굴에서 내려와 간 곳은 코스트코!! 정말인지 쇼핑을 좋아하는 사람에게는 천국과 같은 곳이었다. 시간 가는 줄 모르고 코스트코를..

How to enable control of tab bar item in UITabBarController (UITabBarController tab bar item 선택 가능 제어)
공부방/iOS2020. 1. 9. 15:47How to enable control of tab bar item in UITabBarController (UITabBarController tab bar item 선택 가능 제어)

UITabBarController를 사용하는데 특정 조건에서 특정 탭이 클릭은 되지만, 페이지가 넘어가지 않고 다른 액션을 실행하고 싶을때가 있다. 이때는 UITabBarControllerDelegate 의 func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool 를 이용해 제어가 가능하다. 먼저 MainTabBarController 클래스를 생성하고 아래와 같이 코드를 작성한다. MainTabBarController.swift import Foundation import UIKit class MainTabBarController: UITabBarCont..

공부방/Android2019. 12. 19. 14:06Android build value

예를 들어 디버그와 릴리즈시 코드상에 분기를 태워 각각 다른 값을 사용할수도 있고, 다른 방법으로 Build.gradle(app) 에서 사용하는 방법도 있다. gradle 에 값을 추가하고 가져오는 방법에는 두가지 정도가 있는데, 한가지는 BuildConfig 에서 가져오는 방법과 res 에서 가져오는 방법이 있다. 선언 방식 android { ... buildTypes { release { // These values are defined only for the release build, which // is typically used for full builds and continuous builds. buildConfigField("String", "BUILD_TIME_01", "\"릴리즈 맞춤형 ..

공부방/Android2019. 12. 11. 17:10What Is the Android android:process=":remote"

Android 에서 리시버에 android:process=":remote" 를 추가 하면 별도의 프로세스에서 실행을 하게되는데, onReceive()를 동작 시키면서도 어플리케이션의 메인쓰레드를 멈추지 않게 된다. 따라서 어플리케이션은 종료 해야하는데 서비스는 계속 동작하고 싶게 만들고 싶을때 사용하면 된다. 하지만 문제는 리소스의 사용량 증가와, Singleton 및 static 변수를 별도의 프로세스에서는 접근이 불가능 하게 된다. ex) SharedPreferences 도 공유 사용이 불가능 하다. 게다가 android:process=":remote" 와 동일한 기능 구현은 다른 방법으로도 가능하므로 특별한 경우가 아니면 신중하게 사용해야 한다.

공부방/Android2019. 12. 9. 16:55How to center image in Android FloatingActionButton (FloatingActionButton 이미지 가운데 정렬 방법)

Android suppport Library 28 로 업데이트후에 FloatingActionButton 안의 이미지가 Center를 벗어나서 그려지는 현상이 보였다. 찾아보니 버그라는데, 이것 저것 해보니 해결 방법은 두가지가 있다. 1. FloatingActionButton xml을 layout_width layout_height 56dp 로 설정 (이부분 변경이 필요할시 2번 방법을 쓰면 작동이 되었다.) 2. code 추가 fab.scaleType = ImageView.ScaleType.CENTER

공부방/Android2019. 12. 9. 15:57How to visible label of android BottomNavigationView (BottomNavigationView label 보이게 하는 방법)

BottomNavigationView 를 사용할때 버튼이 4개 이상 늘어나면 버튼의 이름 들이 선택 할 때만 보이게 된다. 이럴때는 아래의 옵션 xml 에서 BottomNavigationView 에 아래의 옵션을 추가 하여 BottomNavigationView의 이름 보기 방식을 변경할수 있다. app:labelVisibilityMode="labeled" 총 4개의 옵션이 있는데, 하나씩 설명해 보면 1. auto 3 개 이하의 항목이있는 경우 레이블은 "레이블"으로 동작하거나 4 개 이상의 항목이 있으면 "선택된"레이블로 동작합니다. 즉 3개 이하의 메뉴일때는 이름이 그대로 보이고, 그 이상 일때는 선택된 버튼만 이름이 보인다. 2. labeled 모든 항목의 이름이 전부 노출된다. 3. unlabel..

image