서론리사이클러뷰에서 밀어서 아이템 삭제 기능을 구현하고 싶어서 샘플을 만들어 보았다.ListView에서 해당기능을 이용하기위한 여러가지 라이브러리들이 존재하는데RecyclerView에서는 compile sdk 22버전부터는 기본적으로 제공해주는 기능을 이용해서 해당 기능을 구현할 수 있다.관련 샘플소스는 깃헙에 공개해두었다.https://github.com/karrel84/SwipeToDeleteSample.git 구현// setup swipe to remove item ItemTouchHelper itemTouchHelper = new ItemTouchHelper(simpleItemTouchCallback); itemTouchHelper.attachToRecyclerView(mBinding.recycl..
이 라이브러리는고객의 서명을 받아서 비트맵으로 가져와 서버에 전송하는 역할을 하기위한 과정중에 서명을 비트맵으로 가져오는 역할을 한다.서명한 이미지만이 아니라 약정내역등과같은 글자도 같이 비트맵으로 만든다해당 소스와 샘플은 https://github.com/karrel84/RellSignView에 있다 환경설정JITPACK을 통해 이용할 수 있으며 JITPACK을 이용하기 위해프로젝트 build.gradle에서 아래와같이 저장소의 주소를 추가해주어야한다.기본적으로 프로젝트를 생성할때는 jcenter()가 적혀있다. allprojects { repositories { ... maven { url 'https://jitpack.io' } } }그리고 app.gradle의 dependencies 안에다가 아래..
TimePickerDialog 다이얼로그의 경우 앱을 개발하다 보면 은근히 사용할 일이 많다.그런데 기본적으로 제공하는 TimePickerDialog를 사용하면 한글의 오전, 오후의 글자가 잘리는 현상이 있었다.또한 커스텀 테마를 이용할 때 매번 까먹어서 사용법을 찾아 다시 적용해야 하는 번거로움이 있었기에내가 혼자 사용하려고 간단하게 만들어서 JITPACK에 배포해서 사용하기로 했다. 소스는 깃허브에 올려두었으며, jitpack을 통해 다운받아 사용할 수 있다.https://github.com/karrel84/RellTimePicker ◎ 환경설정JITPACK을 통해 이용할 수 있으며 JITPACK을 이용하기 위해프로젝트 build.gradle에서 아래와같이 저장소의 주소를 추가해주어야한다.기본적으로 ..
커스텀 데이트 피커 다이얼로그 팝업을 만들어보았다.원래는 확인 취소 버튼 없이 날짜를 선택하면 바로 선택된 값이 콜백으로 전달되게 하려는 의도였는데버전에 따라서 그와같은 구조가 이상행동을 할 수 있는걸 발견하고그냥 확인과 취소버튼을 구현해서 만들게되었다.빌더패턴으로 구현하였으며 보다 간단하게 데이트 피커를 사용하자는 취지로 만들었다. 소스는 깃허브에 올려두었으며, jitpack을 통해 다운받아 사용할 수 있다.https://github.com/karrel84/RellDatePicker ※ 사용법JITPACK을 통해 이용할 수 있으며 JITPACK을 이용하기 위해프로젝트 build.gradle에서 아래와같이 저장소의 주소를 추가해주어야한다.기본적으로 프로젝트를 생성할때는 jcenter()가 적혀있다. al..
오늘은 jitpack에 라이브러리를 배포하는 방법에 포스팅하도록 하겠습니다. 뭐 거창하게 제이크왓슨형님이나 박상권님처럼 세상을 널리이롭게하는 라이브러리 정도는 아니지만개인적으로 여러개의 프로젝트를 진행할때 공통적인 모듈을 사용하기위한 라이브러리를 배포하기위해 찾아보던중jitpack을 통해 배포하면 배포가 편리하다는 얘기를 들어서 커니님이나 꿈많은개발자가 되자님의 블로그를 참고해서 배포를 진행해봤지만 쉽지않았습니다.그래서 저와같이 jitpack을 이용해서 라이브러리를 배포하고싶은분들이 더욱 쉽게 하실 수 있도록 포스팅을 작성합니다. 1. 배포할 대상이 되는 모듈 만들기 일단 프로젝트의 좌측에 app폴더에서 우클릭을해서 Module을 만듭니다.이 Module은 배포할 라이브러리가 될거에요 그리고 Androi..
현재 어플리케이션의 테스크와 액티비티들을 가져오는 소스이다. // 현재 이 어플리케이션의 테스크와 액티비티들을 가져온다. private void getTaskAndActivities() { ActivityManager m = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE); List runningTaskInfoList = m.getRunningTasks(10); Iterator itr = runningTaskInfoList.iterator(); while (itr.hasNext()) { ActivityManager.RunningTaskInfo runningTaskInfo = itr.next(); int id = runningTa..
안드로이드에서 자바 1.8 버전을 사용하기 위해서는 jack 컴파일러를 이용하거나레트로람다를 이용하는 방법등이 있습니다. jack컴파일러를 이용하게되면 안드로이드의 DataBinding을 사용할 수 없게됩니다.그러므로jack컴파일러에서 람다&스트림을 지원해 줄때까지는 레트로람다를 사용해야할거같습니다. 1. 환경설정 레트로람다를 이용하는 방법에는 여러가지가 있는것같습니다만 제가 이용한 방법은 위와 같습니다.build.gradle(app)파일에서최상단에buildscript { repositories { jcenter() } dependencies { classpath 'me.tatarka:gradle-retrolambda:3.3.0-beta3' } }를 추가해주고apply plugin: 'me.tatarka..
구글 맵을 이용해서 지도에 특정 주소를 마커로 표시해줘야하는 프로젝트가 있었습니다. 위도와 경도를 갖고 있지 않아서한글 주소(도로명또는 구주소)를 가지고 위도와 경도를 구해야 했습니다. 구글의 Geocoder를 이용했는데, 한글주소가 안나오는 경우가 있었습니다.그래서 안나오는 주소의 경우 네이버맵 API를 이용해서 주소를 갖고 오게됐습니다. 관련 코드를 포스팅 합니다. /** * 지오코더(구글꺼)에서 좌표를 가져온다. */ private Point getPointFromGeoCoder(String addr) { Point point = new Point(); point.addr = addr; Geocoder geocoder = new Geocoder(context); List listAddress; tr..
1. 문제VCS의 폴더구조도 정리하고프로젝트의 저장소의 위치도 정리를 한 후에 프로젝트를 빌드하니 아래와같은 에러가 발생했다. 2. 해결책을 찾음구글링을해보니build.gradle에 build의 디렉토리를 지정해주면 문제가 해결된다는 말이 있었다.http://stackoverflow.com/questions/33905687/error-file-path-too-long-on-windows-keep-below-240-characters/34680168#34680168 3. 해결책을 내 환경에 맞게 반영근데 여기서 주의할점은 buildDir의 경로를 기존의 프로젝트 경로로 지정하는것이아니고. tmp, 즉 임시 경로를 설정해주어야한다.※ 주의!! 프로젝트 경로로 지정하고 빌드하면 프로젝트 파일들 삭제됨아래와같이..
- Total
- Today
- Yesterday