목록방법 (38)
NOW OR NEVER

위 글은 task 작업을 앱 빌드 전 추가하는 걸 통해 launch 시 assebleDebugBuild 전 clean project를 하는 법을 설명합니다. 1️⃣ Project 수준 build.gradle 에 아래 코드를 buildscript 블럭 밖에 작성한다.tasks.register('clean', Delete) { delete rootProject.buildDir}2️⃣ 안드로이드 스튜디오 메뉴 Run > Edit Configurations 클릭한다. 3️⃣ app을 선택 후 아래로 스크롤 시 Before launch 탭을 볼 수 있다. 해당 탭에서 + 클릭주의: Gradle-aware Make가 없으면 빌드가 되지 않는다. 절대 삭제하지 말 것! 4️⃣ + 클릭 후 Run Gradle t..

이 글은 mac m1 기준으로 작성되었습니다.1. google cloud console에서 서비스 계정 관련- 서비스 계정 생성 후 권한 추가 방법(생성 시 할 수 있음, 저는 하다가 까먹어서 이렇게 부여함)IAM - 원하는 서비스 계정 체크 후 액세스 권한 부여 클릭 후 부여(fastlane 배포 시 필수로 서비스 계정 - 서비스 계정 사용자 권한 부여해야 함)2. fastlane 에러bundler와 gem 버전 안맞는 에러 발생 시 아래 과정 했는 지 확인 요함에러 전문/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:283:in find_spec_for_exe': Could not find 'b..
Time Picker 목표 : 5분 단위로 interval 설정 첫 번째 시도 방법 (실패) xml 파일 자체에서 android:minuteInterval 속성으로 5 설정 안드로이드 12부터 구현이 가능한 속성이라 실패하나 싶어 앱 수준 그래들 파일에서 targetSdkVersion을 31 이상으로 설정해봤는 데 안됐다. -> 코틀린 코드로 직접 구현해야겠다는 생각이 들었다,,, 두 번째 시도 방법(성공) 5분 단위 배열 생성해서 분 선택 spinner에 적용시키기 padStart(문자열 길이, 늘어난 길이만큼 추가할 문자열) -> 예를 들어 값이 3인 문자열을 padStart(2,'0') 한다면 03으로 반환 fragmentMakeScheduleBinding.run { makeScheduleTimeP..

JUnit 자바에서의 단위테스트를 위한 프레임워크 https://developer.android.com/training/testing/unit-testing/local-unit-tests?hl=ko 순서 1. app 수준 gradle에 해당 구문 depencies 블럭 안에 추가 testImplementation 'junit:junit:4.13.2' 2. 보는 기준을 Tests로 설정한 다음 src/test/java에 테스트 클래스 추가 3. 테스트 클래스에 테스트 할 메서드 작성 어노테이션 @Test: 테스트 메서드를 정의할 때 사용하는 어노테이션 @Before: 테스트 메서드 실행 전에 실행할 코드를 포함하는 메서드에 지정되는 애너테이션입니다. 초기화 작업에 사용 @After: 테스트 메서드 실행 후..

갑자기 프로젝트 중 main activity가 인식이 안돼서 찾아본 방법 앱 설정에서 해당 프로젝트 앱 삭제하기 Manifest 내 작동되지 않는 activity 태그 속성 android:name =“패키지명.MainActivity”로 설정하기 앱 수준 그래들에서 applicationId 확인하기 ‘package 패키지명’ 을 인식 안되는 activity 코드 파일 맨 위에 작성하기 내 경우는 마지막 방법으로 해결되었다. Import 구문 수정하다가 모르고 삭제해버린 것 같다. 해당 방법들 중 하나씩 선택해서 해보는 것을 추천한다. 이제 빨간 줄도 안뜬다!

Firebase 안드로이드 연동 쉬움 어플리케이션 기능 구현에 집중할 수 있다 Cloud Storage(=Storage) 파일을 저장하기 위한 용도 사진 등을 올려놓고 사용할 수 있다. Firebase 초기 설정 프로젝트가 바뀔 때마다 설정해줘야 한다. 1. 프로젝트 생성 2. FireBase console 접속 : https://console.firebase.google.com/ 로그인 - Google 계정 이메일 또는 휴대전화 accounts.google.com 3. 프로젝트 만들기 : 프로젝트 이름 입력 후 기본으로 되어 있는 설정 그대로 계속 눌러서 생성 4. 안드로이드 아이콘 클릭 5. 앱 관련 사항 작성 SHA-1 필요한 경우에만 입력(API 추가할 때 필요할 때 입력 요한다고 함 그때 가서 ..

sqliteBrowser로 DB 파일 생성 안드로이드 프로젝트에서 Assets 폴더 생성 : File - new -Folder - Assets folder assets 내 폴더에 DB파일 넣기 SQLiteOpenHelper class 활용해서 assets 내 폴더에 있는 DB를 data/data/패키지이름/databases 폴더로 복붙하는 코드 작성 import android.content.Context import android.database.sqlite.SQLiteDatabase import android.database.sqlite.SQLiteOpenHelper import android.util.Log import java.io.File import java.io.FileOutputStream ..

오른 쪽에 View as : Public 밑으로 내려가면서 보다 보면 you can hide the tasks we've suggested~~ 이렇게 나오는 부분이 있는 데 can hide the tasks we've suggested 이 부분을 클릭하면 된다 프로젝트 설명과 레포지토리만 보이게 하려고 계속 찾다가 발견했다 참고 url https://stackoverflow.com/questions/73337205/github-organisation-overview-tab-how-to-display-list-of-repositories GitHub organisation overview tab: how to display list of repositories It's kind of a weird one ..

Material 3 Design https://m3.material.io/ Material Design Build beautiful, usable products faster. Material Design is an adaptable system—backed by open-source code—that helps teams build high quality digital experiences. m3.material.io 현재 기준으로 jetpack 사용하는 경우 material3가 적용이 안될 수 있어 material2 권장 현재 기준 공식 버전 : 1.9.0 뭐하고 같이 쓸 때는 무조건 material tool bar로 배치 적용 방법 build.gradle(app) 에서 com.google.andro..
사진 저장 권한 매번 실행할 때 마다 이미지, 음악 등을 검색해서 보여주는 것이 아니기 때문에 로딩이 느리지 않다. 정보를 추출하여 자기가 관리하는 데이터베이스에 저장하고 있다가 그 정보를 전달하는 개념 에뮬레이터 이용하는 경우 사진 미리 저장해두는 법 ~/Library/Android/sdk/avd/[에뮬레이터 이름]/sdcard/ : Mac의 경우 이 경로로 에뮬레이터의 가상 SD 카드 디렉토리로 이동한 다음, 해당 디렉토리에 사진 파일을 복사해 넣기 네트워크 socket server 서버는 인텔리 제이 작업 / 클라이언트는 안드로이드 스튜디오 작업 서버 프로젝트 실행 후 클라이언트 프로젝트 실행 서버 서버가 클라이언트에게 데이터 전달 특정 클라이언트가 문제가 생기면 그 클라이언트 연결만 끊으면 되지만..