pinslog/Log.daily()

    [etc] MacOS에 Mysql 설치하기 (+ MySQL Workbench)

    1. Homebrew를 통해 mysql을 설치하기 brew install mysql iterm을 통해 해당 명령어를 실행했는데 under Rosetta2.. 어쩌고 하면서 실행이 되지 않았다. 다른 글들을 보는데 그런 말이 없어서 답답해하던 찰나 그냥 터미널에서 명령어를 실행하니 잘만 되었다. 설치완. 2. 초기 설정하기 mysql.server start 서버를 실행해준다. mysql_secure_installation 그리고 해당 명령어를 통해 초기 설정을 시작하면 된다. 비밀번호 설정 복잡한 비밀번호를 사용할 것인지에 대한 질문 익명 유저 사용 여부 기본적으로 익명 유저를 갖는다고 한다. 원하지 않으면 Yes root 접속 권한 로컬에서만 사용 가능 하도록 할 건지 원격에서도 root 접속 가능하도록..

    java.lang.SecurityException:Need android.permission.BLUETOOTH_CONNECT permission for AttributionSource | 'onRequestPermissionsResult()' deprecated

    java.lang.SecurityException:Need android.permission.BLUETOOTH_CONNECT permission for AttributionSource android 버전 12에서는 새로운 블루투스 권한이 도입되었다. BLUETOOTH_SCAN 앱이 저전력 (BLE) 블루투스 주변 기기와 같은 블루투스 기기를 검색하는 경우 BLUETOOTH_ADVERTISE 현재 기기를 다른 디바이스에서 검색할 수 있도록 하는 경우 BLUETOOTH_CONNECT 이미 페어링 된 기기와 통신하려는 경우 위 세가지 권한은 *런타임 권한이므로 앱에서 명시적으로 사용자 승인을 요청해야한다. * 런타임 권한 위험한 권한이라고도 하며, 이 권한을 부여 받는 경우는 앱에서 제한된 데이터에 추가로 액..

    Floating Action Button과 BadgeDrawable

    우리가 흔히 알고, 쓰고 있는 floating action button 오늘은 이 플로팅 액션 버튼 위에 이벤트가 있음을 알리는 배지를 달아볼 것이다. BadgeDrawable 배지에 대한 모든 레이아웃 및 그리기 로직이 포함되어 있다. Badge - 앱에 이벤트가 있거나 할 때 알림을 알리기 위해 표시하는 것 기본적인 형태 배지를 나타내기 위한 기본적인 코드는 아래와 같다. val badgeDrawable = BadgeDrawable.create(mContext) badgeDrawable.isVisible = true BadgeUtils.attachBadgeDrawable(badgeDrawable, binding.mainFab) 커스텀하기 badgeDrawable.number = 24 badgeDraw..

    민감한 정보 숨기기 | local.properties에 api key저장하기

    그동안은 앱수준의 build.gradle 에서 보관을 하고 있었다. (하드코딩 하지 않으려고 변수로 지정해 사용중이었음) buildTypes { debug { minifyEnabled false debuggable true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' buildConfigField "String", "BASE_URL", "\"your_url/\"" buildConfigField "String", "APP_KEY", "\"your_key\"" } release { minifyEnabled true proguardFiles getDefaultProguardFile('prog..

    화면 전환 효과 | RecyclerView to fragment transition 적용하기

    fragment to fragment A 에서 B 로 이동한다고 하면 fragment_a.xml 효과를 적용시킬 view에 transitionName 을 지정한다. fragment_b.xml 마찬가지로 똑같은 이름을 지정해준다. 이름은 고유해야한다. transistion.xml을 준비해야한다. res에 transistion 디렉토리를 생성한다. 그리고 xml을 생성한다. transition_move.xml AFragment.java 효과를 적용시킬 view와 view의 transistionName 을 addSharedElement의 인자로 넘겨준다. FragmentNavigator.Extras extras = new FragmentNavigator.Extras.Builder() .addSharedElem..

    fragment 에서 onBackPressed() 접근하기

    onBackPressed() Called when the activity has detected the user's press of the back key. 말그대로 사용자가 뒤로 가기 버튼을 클릭 했을 때 해당 메서드가 호출된다. @Override public void onBackPressed() { super.onBackPressed(); } ComponentActivity가 들고 있는 메서드이고 AppCompatActivity 는 FragmentActivity를 상속 받고 FragmentActivity는 ComponentActivity를 상속 받는다. 따라서 onBackPressed 메서드는 activty에서는 얼마든지 오버라이딩해서 입맛대로 사용이 가능하다. 메인화면에서 뒤로 가기 버튼을 눌렀을 ..

    [Google Play Store 관련 오류 코드] Install Error(-10): The app is not owned by any user on this device. An app is "owned" if it has been acquired from Play. InstallErrorCode#ERROR_APP_NOT_OWNED

    앱을 실행할 때 업데이트 정보를 받아오기 위해 AppUpdateManager 클래스를 이용해서 정보를 받아온다. AppUpdateManager appUpdateManager = AppUpdateManagerFactory.create(mContext); appUpdateManager.getAppUpdateInfo().addOnSuccessListener(new OnSuccessListener() { @Override public void onSuccess(AppUpdateInfo appUpdateInfo) { } }).addOnFailureListener(new OnFailureListener() { @Override public void onFailure(Exception e) { } }); ERROR_..

    특정 commit을 다른 branch 로 가져오기

    아무 생각 없이 master 브랜치에서 작업하고 커밋한 핀수 아뿔싸 여기가 아닌데 해당 브랜치로 checkout 한다. 원하는 커밋을 선택하고 우클릭 - cherry-pick 을 클릭 git cherry-pick [commit hash] 옮겨간 것을 확인한다. 위의 그림을 보면 알겠지만 잘라내 붙이는 것이 아니고 복사되는 것이므로 사용에 유의하는 것이 좋겠다. 참고 https://backlog.com/git-tutorial/kr/stepup/stepup6_4.html https://cselabnotes.com/kr/2021/03/31/56/

    다른 글로 대체합니다

    MVVM 패턴 적용해본 후기 - 1 In the Beginning.. 개발이 어느정도 마무리가 되고 보완하고 싶은 점을 찾아보다 늘 마음에 걸렸던 MVVM 패턴을 적용해보면 어떨까 하는 생각이 들었다. 개발을 들어갈 그 당시의 나는 정말 아무것도 www.pinslog.com 흠 지금까지 다른 글로 대체한게 이번까지 두어번 되는데 이때마다 이 카테고리에 와서 글을 쓰는게 맞는지 의문이 든다. 티스토리도 네이버 블로그처럼 언제 글을 발행 했는지 시각적으로 알려줄만한게 있으면 좋겠다. 마치 깃 잔디처럼 말이야.... 그러면 이렇게 글을 굳이 두번 쓰는 일도 없을 것 같은데 말이다. 한번 찾아봐야겠다..

    git remote 주소 변경하기 / ReactNative 빌드 오류 해결하기

    git remote 주소 변경하기 git remote 주소를 변경하는 명령어는 아래와 같다. git remote set-url origin [new remote url] ReactNative 빌드 오류 해결하기 리액트 네이티브 소스를 볼 일이 있어 클론한 코드를 실행 시켰다. react-native : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Program Files\nodejs\react-native.ps1 파일을 로드할 수 없 습니다. 자세한 내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오. npm 새로운 버전에 권한이 추가되었다고 한다. Restricted - 실행 권한 정책 기본 옵션,..

    figma asset export / 여러개의 Vector Asset 한번에 import 하기 how to multi svg import in android studio

    (마지막의 말도 안되는 영어제목은 실제로 저렇게 구글링을 해서 찾아낸 것이므로...제목에 포함시켜 보았다.) figma asset export export 는 에디터와 뷰 권한을 가진 사용자만 에셋을 다운받을 수 있다고 한다. 피그마의 design - export - 원하는 확장자 선택 - export shape 여러개의 Vector Asset 한번에 import 하기 UI 작업을 위한 asset을 android 프로젝트에 import 해야한다. 아이콘(vector asset) 같은 경우 svg -> xml 로 변환을 해주어야한다. 기본적인 과정은 아래와 같다. [drawable] 우클릭 - New - Vector Asset 안드로이드에서 제공하는 아이콘이 아니라 다른 곳에서 가져오는 것이라면 path ..

    LeakCanary

    https://pinslog.tistory.com/109 LeakCanary 사용하기 들어가며 지난번의 메모리 누수 이슈로 원인을 찾아 헤매다 LeakCanary를 알게 되었다. 안드로이드 스튜디오에서 제공하는 프로파일러에서도 memory leak 을 잡아 낼 수 있는데 개인적으로 사용하기 www.pinslog.com 이 글로 오늘의 개발일지를 대신하겠습니다~~.~~