ViewPager에 표시할 내용을 정의하려면 어댑터가 필요하다. 어댑터는 아이템의 목록 정보를 가진 객체이다. 프래그먼트를 아이템으로 가지면서 ViewPager에 설정하는 어댑터는 다음 두 가지가 있다. FragmentPagerAdapter : 페이지 내용이 영구적일 때 적합. 한 번 로딩한 페이지는 메모리에 보관하기 때문에 빠르다. 그래서 페이지가 많으면 많은 메모리를 사용한다. FragmentStatePagerAdapter : 많은 수의 페이지가 있을 때 적합하다. 보이지 않는 페이지를 메모리에서 …
Category: DEVELOPMENT
GLIDE Library 이미지리소스 사용 편의성
setImageURI 메서드로 이미지를 이미지뷰에 표시할 수도 있지만 Glide 라이브러리를 이용하는 것이 더 편리하고 효율적이다.미사용 리소스를 자동으로 해제하고 메모리를 효율적으로 관리해주기 때문이다.또한 이미지를 비동기로 로딩하므로 UI의 끊김이 없다.app수준의 gradle의 dependencies에 다음과 같이 추가해준다. File – Project Structure를 클릭하여 추가해도 된다.
권한 확인 및 요청
사용자가 권한을 요청하면 시스템은 onRequestPermissionsResult() 메서드를 호출하고 사용자의 응답을 전달한다. 따라서 권한이 부여되었는지 확인하려면 이 메서드를 오버라이드 해야한다. 위의 예제는 하나의 권한만 요청하였으므로 grantResults의 [0]번째 인덱스 값만 확인한다.여러 권한을 요청시 해당 갯수만큼의 인덱스를 확인할 수 있으며, 권한이 승인되면 PERMISSION_GRANTED를거부되면 PERMISSION_DENIED를 반환한다.
안드로이드 주요 위험권한
Storage관련 READ_EXTERNAL_STORAGE WRITE_EXTERNAL_STORAGE LOCATION 관련 ACCESS_FILE_LOCATION ACCESS_COARSE_LOCATION SMS 관련 SEND_SMS RECEIVE_SMS CAMERA CAMERA
Android에서 모든 사진정보 가져오기
사진정보 가져오기는 위험 권한이라 manifest에 권한추가 외에 실행 시점에 사용자에게 권한 요청을 해야한다. 사진에 접근하기 전 사용자에게 권한을 요청해야한다.아래 링크 참조!
Anko Library 적용
프로젝트 gradle 모듈 gradle Sync Now!!
View 의 사이즈 구하기
View 를 상속받은 클래스 내부에서onSizeChanged() 메소드를 override한다. 위의 인자값은 각각 다음을 의미한다 w : 변경된 가로길이 h : 변경된 세로길이 oldw : 변경 전 가로 길이 oldh : 변경 전 세로 길이
그래픽 API 다루기
Canvas : 도화지 (뷰의 표면ㄴ) Paint : 붓 (색, 굵기, 스타일 정의 먼저 커스텀 뷰에 onDraw 메서드를 오버라이드 해서 Canvas 객체를 받는다.여기서 원하는 그림을 그리면 된다.
화면이 꺼지지 않게 하기
onCreate()내에 다음과 같이 설정한다.
화면 가로로 고정시키기
onCreate()내에서 super클래스 호출 전에 다음 코드를 호출한다. 혹은 다음과 같이 manifest파일에서 activity의 속성을 지정해도 된다.