본문 바로가기

전체 글134

[Android, Kotlin] Zxing 라이브러리로 QR코드 스캔하기 오랜만에 포스팅을 해본다. 요즘 좀 바빠서 ㅎㅎ(사실 귀찮기도 했고 까먹었어서 못 올렸다 죄송합니다.) 아무튼 이번에 사용해 본 라이브러리는 zxing 라이브러리인데, 이번 프로젝트에 QR코드 스캔 기능이 들어갈 예정이라 검색을 해봤더니, Zxing 라이브러리가 있길래 바로 사용해 보았다(헤헤) 개소리는 여기까지 하고 바로 Zxing에 대해 알아보자 1. dependency 추가,세팅 build.gradle(app)build.gradle(app) // zxing implementation 'com.journeyapps:zxing-android-embedded:4.2.0' // circle imageview(예제에서 사용) implementation 'de.hdodenhof:circleimageview:3.. 2023. 3. 11.
[Android, Kotlin] Compose UI 정리(4) 지난 포스팅 https://rkdrkd-history.tistory.com/43 [Android, Kotlin] Compose UI 정리(3) 이전 포스팅 https://rkdrkd-history.tistory.com/42 [Android, Kotlin] Compose UI 정리(2) 지난 포스팅 https://rkdrkd-history.tistory.com/41 [Android, Kotlin] Compose UI 정리(1) 1. layout 1. Column 하위의 뷰들을 수직 정렬해준다(verti rkdrkd-history.tistory.com 이번 포스팅에서는 지난 포스팅에서 다뤘던 compose recyclerview를 이용해 실습을 해보겠다. 사용자의 정보를 담는 데이터 클래스 생성 data c.. 2022. 12. 5.
[Android, Kotlin] Compose UI 정리(3) 이전 포스팅 https://rkdrkd-history.tistory.com/42 [Android, Kotlin] Compose UI 정리(2) 지난 포스팅 https://rkdrkd-history.tistory.com/41 [Android, Kotlin] Compose UI 정리(1) 1. layout 1. Column 하위의 뷰들을 수직 정렬해준다(vertical). // 텍스트 뷰 @Composable fun Greeting(name: String) { Text(text = name) } // 뷰를 rkdrkd-history.tistory.com 이번 포스팅에서는 스크롤 가능한 뷰를 만들어 보겠다. 3. Scrollable View 1. ScrollView scrollView에 사용할 아이템 생성 @.. 2022. 12. 4.
[Android, Kotlin] Compose UI 정리(2) 지난 포스팅 https://rkdrkd-history.tistory.com/41 [Android, Kotlin] Compose UI 정리(1) 1. layout 1. Column 하위의 뷰들을 수직 정렬해준다(vertical). // 텍스트 뷰 @Composable fun Greeting(name: String) { Text(text = name) } // 뷰를 그리는 곳(미리보기) @Preview(showBackground = true) @Composable fun DefaultPreview() { rkdrkd-history.tistory.com 이번 포스팅에서는 필자가 xml을 사용할 때 자주 사용하는 뷰들을 compose로 작성해보겠다. 2. 다양한 뷰 작성 1. edit text TextField.. 2022. 12. 3.
[Android, Kotlin] Compose UI 정리(1) 가장 기본적인 것부터 시작하는 jetpack compose 1. layout 1. Column 하위의 뷰들을 수직 정렬해준다(vertical). // 텍스트 뷰 @Composable fun Greeting(name: String) { Text(text = name) } // 뷰를 그리는 곳(미리보기) @Preview(showBackground = true) @Composable fun DefaultPreview() { ComposeUITheme { // 자동으로 생성되는 테마 Column() { Greeting("Hello") Greeting("Android") } } } 2. Row 하위의 뷰들을 수평 정렬해준다(horizontal). @Preview(showBackground = true) @Comp.. 2022. 12. 1.
[Android, Kotlin] java.lang.RuntimeException: Parcelable encountered IOException writing serializable object 해결 오랜만에 하는 오류 포스팅 오류 내용 이 오류를 해결하는 방법은 data class에 있다. 저 오류는 필자가 putExtra를 사용해 데이터를 전달하려고 했을때, 발생한 오류였는데 오류의 이유를 보면 not serializable exception이기 때문에 해당 클래스에 serializable이 적용이 안되어서 오류가 난 것을 알 수 있다. WeatherListResponse.kt package com.example.iwarm.data.response import com.google.gson.annotations.SerializedName import java.io.Serializable data class WeatherListResponse( @SerializedName("main") val mai.. 2022. 11. 28.
[Android, Kotlin] android custom dialog 만들기 custom dialog는 안드로이드를 개발하면서 자주 쓰이는 팝업 창을 생성해주는 기능이다. 필자도 많이 자주 쓰지만, 많이 까먹기(?) 때문에 이번에 기록을 남겨보려 한다. custom dialog 만드는 방법 1. custom dialog로 사용할 xml 파일 만들기 먼저 dialog의 xml로 레이아웃을 만들어 준다. 2. 다이얼로그 생성하기 일단 필자는 다이얼로그를 뷰 바인딩으로 구현 할 것이기 때문에 그래들에 추가해주었다. viewBinding { enabled = true } 그 다음에 다이얼로그를 구현한다.(필자는 fragment에 다이얼로그를 구현했다.) activity?.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) v.. 2022. 11. 20.
[Android, Kotlin] firebase sns 앱 만들기 5(게시글 세부 기능) 이번에는 게시물의 세부 기능들을 만들어보겠다. 게시글 리스트 recycler view item 이번에는 옷걸이(좋아요 카운트), 북마크 기능만 구현해 보겠다. 원래 있던 recyclerView Adapter 코드에서 . . . override fun onBindViewHolder(holder: MainPageFragmentRecyclerAdapter.CustomViewHolder, position: Int) { . . . // like 버튼 이벤트 holder.like.setOnClickListener { favoriteEvent(position) } holder.bookMark.setOnClickListener { bookMarkEvent(position) } // like count, like ima.. 2022. 10. 28.
[Kotlin] 유클리드 호제법 알고리즘 유클리드 호제법이란? 2개의 자연수의 최대공약수를 구하는 알고리즘이다. 기본 과정 예시로 32와 24의 최대공약수를 구하면, 32는 24로 나누어 떨어지지 않기 때문에, 32를 24로 나눈 나머지를 구한다. => 8 32는 8로 나누어 떨어진다. 따라서 32와 24의 최대공약수는 8이다. 예제 코드1. 재귀 함수를 사용 package algorithm import java.io.BufferedReader import java.io.InputStreamReader fun main() { val bf = BufferedReader(InputStreamReader(System.`in`)) val number = bf.readLine().split(" ") val a = number[0].toInt() val .. 2022. 10. 24.
[Android, Kotlin] Android에서 Apollo를 이용한 GraphQL사용하기 현재 필자는 graphql를 이용한 프로젝트를 준비 중이기 때문에 graphql을 이용한 apollo에 대해 내가 공부한 것을 정리해보려고 한다. Apollo는 android에서 graphql을 더 쉽게 이용할 수 있게 해주는 라이브러리이다. 1. Apollo 설치하기 apollo를 android에서 이용하기 위해서는 node.js를 설치해야 한다. https://javacpro.tistory.com/62 [Node.js] Node.js 설치하기 (Windows10) Node.js 설치하기 Node.js 설치는 매우 간단하다 . 우선 아래 URL 을 따라 Node.js 사이트에 접속한다. https://nodejs.org/en/ 그럼 위와 같이 화면이 나오는데 먼저 좌측으로는 최신버전 인데 개발공부를 목.. 2022. 10. 23.
[Kotlin] 이진 탐색 알고리즘 이진 탐색이란? 정렬된 리스트의 중간 값을 이용해 검색 값을 줄여 가면서 원하는 값을 찾는 알고리즘 탐색 과정 정렬된 리스트의 중간값을 찾는다. 찾는 수가 중간값보다 크면 오른쪽으로, 작으면 왼쪽으로 검색 범위를 좁힌다. 1, 2번을 반복한다. 이 과정을 반복하면 그냥 반복문을 이용해 찾는 것보다 더 빠르게 원하는 숫자를 찾을 수 있다. 예제 코드 숫자의 범위와 원하는 숫자를 입력하고 이진 탐색으로 그 숫자를 찾는 알고리즘 package algorithm import java.io.BufferedReader import java.io.InputStreamReader fun main() { val bf = BufferedReader(InputStreamReader(System.`in`)) val array.. 2022. 10. 21.
[Android, Kotlin] editText의 toggle icon이 반대로 되었을 때 해결 방법 TextInputEditText 기본 edittext와 다르게 더 다양한 기능을 지원하는 edit text의 한 종류이다. TextInputEditText에는 가려야 할 텍스트(비밀번호)가 있는 경우 passwordToggleEnabled라는 옵션을 사용할 수 있다. 하지만 passwordToggleEnabled 을 사용하다 보면 이상한 문제를 만날 수 있는데 바로 비밀번호는 보이지만 아이콘은 눈을 가리고(?) 있게 뜨는 문제! 이번에는 이 문제를 내가 해결한 방법에 대해 포스팅을 하겠다. 먼저 toggle icon이 클릭되었을 때 나오게 하는 아이콘들을 설정한다. toogle_icon_status.xml 클릭되었거나 아닐 때의 아이콘은 아무거나 정해도 상관없다. 현재 edittext가 있는 xml 파일.. 2022. 8. 31.
[과정평가형 자격] 정보처리산업기사 외부평가 본 후기 1. 필기 필기는 ncs 모듈에서 출제된다. o/x 문제, 연결형, 4자 택일, 주관식 문제 유형이 4가지로 나뉜다. 총문제는 40문제이고 100점 만점, 시험시간은 1시간 30분.주관식을 제외한 나머지 문제들은 다 2점씩이고 주관식은 4점이다.(총 주관식 10문제 나왔었음)그냥 외우면 되는 것이므로 시험 한 달 전쯤에 하루에 한두 번씩 읽는 것을 추천. 2. 실기실기는 jsp와 tomcat을 이용한 화면 구현 예제를 만들면 된다.시험시간은 4시간4시간이 생각보다 부족했었다.하다가 처음 보는 오류 만나면 답이 없음그리고 구현하는 페이지마다 점수가 다르다고 한다.(얼마나 다른지는 모름)그냥 처음 보는 오류 만나면 버리고 딴 거 하는 게 나음 오류 해결하려다가 시간 다씀(내가 그랬음) 필기도 잘 못 보고 실.. 2022. 8. 31.
[Andoird, Kotlin] firebase sns 앱 만들기 4(게시물 불러오기) 이번에 할 것은 데이터베이스에 저장된 포스트 데이터들을 불러와서 recyclerview 로 출력해 볼것이다. 1. recyclerview item 만들기 이미지 설정 유저의 프로필을 보여줄 이미지는 Circle ImageView를 사용했다 포스트의 메인 사진을 보여주는 곳은 cardView를 사용해 끝을 둥글게 해주었다. 2. recyclerview adapter 구현 var postDto: ArrayList = arrayListOf() // post를 담을 arraylisy var postUidList: ArrayList = arrayListOf() // 사용자의 uid를 담을 arraylist init { fireStore.collection("posts").orderBy("timestamp").ad.. 2022. 7. 19.
[Android, Kotlin] firebase sns 앱 만들기 3(게시물 생성) 이번에는 게시글을 생성하는 기능을 만들어 보자 1. 갤러리로 사진 불러오기 var PICK_IMAGE_FROM_ALBUM = 0 var photoUri: Uri? = null val photoPickerIntent = Intent(Intent.ACTION_PICK) photoPickerIntent.type = "image/*" startActivityForResult(photoPickerIntent, PICK_IMAGE_FROM_ALBUM) . . . override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if (req.. 2022. 7. 4.
728x90