분류 전체보기

1. version catalog 작성[versions]gradle = "8.4.2"kotlin = "1.9.20"[libraries]android-build-gradle = { group = "com.android.tools.build", name = "gradle", version.ref = "gradle" }android-kotlin-gradle = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin" }  2. buildSrc 모듈 settings.gradle.kts 작성dependencyResolutionManagement { versionCatalogs { create("l..
1. 프로젝트 build.gradleid 'com.google.dagger.hilt.android' version '2.44' apply false  2. app 모듈 build.gradleplugins { ... id 'kotlin-kapt' id 'com.google.dagger.hilt.android'}android { ...}dependencies { ... implementation "com.google.dagger:hilt-android:2.44" kapt "com.google.dagger:hilt-compiler:2.44"}kapt { correctErrorTypes true}  3. Application 생성 및 Annotation 추가@H..
fun getScreenSize(context: Context): Size { val wm = context.getSystemService(Context.WINDOW_SERVICE) as WindowManager return if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { val windowMetrics = wm.currentWindowMetrics val insets = windowMetrics.windowInsets .getInsetsIgnoringVisibility(WindowInsets.Type.systemBars()) val width = windowMetrics.bounds.wid..
1. build.gradle 종속성 추가dependencies { ... // activityViewmodels implementation 'androidx.activity:activity-ktx:1.9.0' implementation 'androidx.fragment:fragment-ktx:1.6.2'}  2. Activity, Fragment 에서 사용class MainActivity: BaseActivity({ ActivityMainBinding.inflate(it) }) { private val vm: MainViewModel by viewModels() // viewmodel override fun onCreate(savedInstanceState: Bundle?..
1. MySQL 사이트에서 Community Server zip 다운로드 https://dev.mysql.com/downloads/mysql/ 2. 원하는 곳에 압출 풀기 예) C:\dev\DB\MYSQL 8.0.36 3. CMD(명령 프롬프트) 관리자 권한으로 실행 4. CMD 창에서 MySQL 설치 > bin 폴더로 이동 # 예시 cd C:\dev\DB\MYSQL 8.0.36\bin 5. 아래 명령어를 입력하여 MySQL init data 폴더 만들기 # "" 안에 MySQL 설치된 경로 입력 mysqld --console --initialize-insecure --basedir="C:\dev\DB\MYSQL 8.0.36" 6. 아래 명령어를 입력하여 CMD 창으로 MySQL 데모 실행 # "" 안에..
기존 코드 binding.view.setOnClickListener { // 비지니스 로직 } SingleListener.kt 파일 작성 var touchTime = 0L // 이벤트 동작 시간 const val touchMaxTime = 500L // 이벤트 막을 시간 fun View.onSingleClickListener(listener: SingleListener) { this.setOnClickListener(listener) } fun interface SingleListener: View.OnClickListener { fun click(view: View?) override fun onClick(view: View?) { val currentTime = System.currentTimeMil..
구현 코드 build.gradle [app] dependencies { // chart implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' } 상황 1. app 단의 build.gradle에 setup 2. Rebuild Project Fail -- Error -- 에러 내용 간략화 ( 접은글 상세 ) Could not find com.github.PhilJay:MPAndroidChart:v3.1.0. 더보기 Could not find com.github.PhilJay:MPAndroidChart:v3.1.0. Required by: project :app Search in build.gradle files 해결 개발자 github 계정에 나온 Gradl..
기능 소개 1. ImageView Click Event 로 카메라, 갤러리, 내 파일 연결 프로그램 선택 모달창 보이기 2. 카메라, 갤러리, 내 파일을 통해 이미지 1개를 가져온다 3. 가져온 이미지를 ImageView 를 통해 사용자에게 보여준다 각 연결 프로그램 실행 결과 더보기 디자인 코드 생략 연결 프로그램 모달창이 뜨는 부분은 직접 개발(원하는 스타일로 개발할 것) 카메라 연결 프로그램 코드 구현 // 카메라 실행 객체 및 결과 private val cameraResult = registerForActivityResult(ActivityResultContracts.TakePicturePreview()) { it?.let { binding.ivPost.setImageBitmap(it) } } /..
黑炎竜
'분류 전체보기' 카테고리의 글 목록