본문 바로가기

반응형

Android/Kotlin

RecyclerView 데이터 호출 시 깜박임 엄청 오랜만에 글을 씁니다... 뭐가 바쁘다고.... 티스토리 블로그에는 미디움에서 글을 작성하고 해당 url을 넣는 식으로 진행이 될거같아요! 아니면 안드로이드 외적인 부분이나 필요한 부분에 따라 티스토리에도 글을 계속 올릴 예정입니다. 현재는 코틀린으로 스프링부트를 공부 중인데, 그 부분을 작성해볼까 합니다.!!! 올 한해 벌써 3월이지만 열심히!!! 살아야겠어요! 데이터를 호출하는데 뷰가 깜박인다!? 아이템을 20개씩 호출하는 과정에서 뷰 전체가 깜박이는 현상을 발견!!! (이전에도 알고 있었지만 별로 신경을… 이러면 안 돼요…) 뷰 전체가 깜박이는 원인을 찾아보니!!! notifyDataSetChanged() 시 Adapter가 이미 존재하는 Data set의 아이템들 중에서 어느 것이 변경된 지.. 더보기
Gallery 사진 가져와 Paging 처리!!! 오늘은 AAC-Paging Library를 써봤습니다. 해당 글은 미디움에 써봤습니다!! 갤러리에서 전체 사진 가져오기 여기서는 구글에 다양한 예제들을 토대로 구성했습니다. 갤러리에서 가져온 사진들을 RecyclerView 보여주기 이건 사진들을 가져와 보여주기만 하면 되기 때문에 쉽습니다. fun getImages(limit: Int? = null, offset: Int? = null): MutableList { val photos: MutableList = mutableListOf() val projection = arrayOf( MediaStore.Images.Media.DATA, MediaStore.Images.Media.DISPLAY_NAME ) val uri = MediaStore.Images.. 더보기
Camera2 Api 를 사용해보자! 해당 글은 Camera2Api 를 사용한 카메라 분석으로서, 카메라의 "내부"까지 살펴보는 것이 아닌, 카메라가 어떻게 동작하고, 어떤 부분에 대해 어떤 기능을 하는 지에 대한 작성 글입니다. 부족한 부분이 있을 거, "참고" 해주세요~! 분석한 코드 : https://github.com/googlesamples/android-Camera2Basic→ kotlinApp 파일 화면 별 설명 CameraActivity 화면을 풀 스크린으로 변경하는 등의 역할을 함 Camera2BasicFragment AutoFitTextureView 를 통해 화면을 보여주고, 사진을 찍거나 등의 역할을 함 CompareSizesByArea 영역에 대한 사이즈 비교하는 역할 ConfirmationDialog 카메라 권한이 없.. 더보기
Live Data에 대해 알아보기. 안녕하세요 오늘은 Live Data에 대해 알아보려고 합니다. 우선 라이브 데이터란 무엇이냐!? 구글 디벨로퍼(https://developer.android.com/topic/libraries/architecture/livedata)에 나와있는 설명입니다. LiveDatais an observable data holder class. Unlike a regular observable, LiveData is lifecycle-aware, meaning it respects the lifecycle of other app components, such as activities, fragments, or services. This awareness ensures LiveData only updates app .. 더보기
kotlin Extension 으로 핸드폰 크기 확인 안녕하세요~ 오랜만에 글을 쓰러 왔습니다... 이직을 했더니 회사가 바쁘...네요... 이제 다시 블로그를 시작하려 합니다.(오랜만에 오니 뭐가 많이 바뀌었네요...어렵다...) 많이들 찾아주셔서 감사합니당 :) 오늘은 제가 사용하고 있는 간단한 "핸드폰 크기 판단" 을 위한 kotlin extension 을 설명해드리려고 합니다!!! 짝짝짝~~ 박수~~~점... 거두절미하고 바로 .... fun Context.isNote(): Boolean = resources?.configuration?.smallestScreenWidthDp?.let { it >= 000 } ?: false fun Context.isNote(): Boolean = resources?.configuration?.smallestScre.. 더보기
extesion 이용한 custom toast 만들기 fun Any?.showToast(@StringRes stringRes: Int, context: Context? = AppApplication.getInstance(), duration: Int = Toast.LENGTH_SHORT) { val toast = Toast.makeText(context, context?.getString(stringRes), Toast.LENGTH_LONG) toast.setGravity(Gravity.TOP, 0, 68.toPx(context)) toast.show() } 이렇게 해주면 됩니다. setGravity를 통해 위치(gravity.~~, x축 위치, y축 위치 조정)를 지정해주면 됩니다. .toPx는 역시 extesion 으로 사이즈 변환을 위한 것입니다. f.. 더보기
Material Calendar 커스텀하기 (2) 안녕하세요 오늘은 달력 커스텀하기 2번째 시간입니다. 첫번째꺼는 android 에 있는데, 이건 kotlin 에 있는 이유는... 여긴 제가 처음부터 구현했기 때문에 kotlin을 사용해서입니다. 단순한 이유죠.. 여튼 바로 시작할게요!!! 고생좀 하다보니 알게 되는 ... 스트레스가 다 풀렸어요! 화이팅! 우선 1번처럼 https://github.com/Applandeo/Material-Calendar-View 에서 library 만 import 합니다. 그런 다음엔 이제 가져다 쓸 일만 남았죠. 고생하셨습니다. 이러고 끝내고 싶ㄷ... 아니 절대 아니구요...시작하겠습니다. 우선 xml에 아래와 같이 넣어줍니다. 이렇게 넣어준 뒤, 간단한 기능들은 위 주소에서 참고하세요! 이 캘린더는 특이하게, 바로.. 더보기
kotlin 으로 recyclerView 구성하기 안녕하세요 오늘은 kotlin으로 RecyclerView를 만들어보겠습니다. 저는 지금 java로 짜 놓은 것들을 리팩토링 하면서 배우고 있는 상태라 제가 틀린 부분을 지적해주시면 감사하겠습니다!!!! 필요한 구성 1. RecyclerView fragment2. RecyclerVIew Adapter3. RecyclerView ViewHolder4. RecyclerView Item 설명은 싫고 코드를 보면서 이해를 하겠다 하시는 분들은, https://github.com/JC-Choo/JC_Android/tree/master/RecyclerMain_Kotlin/kotlin/com/example/administrator/recyclerview/recycler1/recycler1 를 참고하세요! 1. Recy.. 더보기
기본 fun 만들기 안녕하세요. 오늘은 kotlin에서 fun들을 만들어 테스트 해보던 "기본"에 대해 올려볼까 합니다. 항상 "기초"가 중요하니까요! fun onlyReadMethod() { val list = listOf("a", "b", "c") // 읽기 전용 리스트 val map = mapOf("a" to 1, "b" to 2, "c" to 3) // 읽기 전용 맵 } fun sum(a: Int, b: Int) = a + b // { return a+b } 와 같은 내용 fun comparison(a: Int, b: Int) = if (a > b) a else b /* fun comparison(a:Int, b:Int): Int { return if(a>b) a else b } */ fun getStringLeng.. 더보기
kotlin 사용 이유와 기본 문법 2017년 공식 채택된 "코틀린", 코틀린을 사용하는 이유는 1. 간결하다! -> 문법이 자바에 비해 너무나도 짧고 편하게 사용할 수 있다.2. 안정성이 높다 -> 간단한 처리로 안정성이 높아진다. 등이 있지만, 위의 2가지가 크게 대두된다고 생각합니다. 잡담은 생략하고... 1. 변수 선언 시 val 와 var 의 차이는 무엇일까요? val : 값을 할당하고 나면 그 후에 변경할 수 없는 변수이며, java에서 final을 붙인 변수와 동일var : 값을 할당하고 나면 그 후에 자유자재로 변경할 수 있는 변수이며, java에서 final을 붙이지 않은 변수와 동일 합니다. 즉, final String name="OhNo"; 는val name: String = "OhNo" 와 같습니다.( ";"을 코틀린.. 더보기