여러분들은 다양한 SNS에서 자신의 프로필 이미지가 원형으로 표시되는 것을 본 경험이 있을 것입니다. 기본적으로 이 포스트에서는 RoundImageView.java 라는 클래스를 이용해서 간단히 구현해보겠습니다.
1. RoundImageView.java 클래스를 패키지에 추가하기
RoundImageView.java는 기본적으로 이미지뷰를 변형시킨 클래스입니다. 따라서 간단하게 레이아웃에 추가하고, 손쉽게 BITMAP을 추가할 수 있습니다.
이 클래스를 MainActivty.java가 포함된 폴더에 추가합니다.
( 속성에 관한 설명은 링크 페이지에 포함되어 있습니다 )
2. RoundImageView.java 클래스를 레이아웃에 추가하기.
com.myPackage 부분은 자신의 패키지 이름으로 대체합니다. 이는 AndroidManifest.xml의 package="com.xxx.xxx.xxx" 에서 확인할 수 있습니다.
1 2 3 4 5 | <com.myPackage.RoundImageView android:id="@+id/round_profile_image" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@null" /> | cs |
3. 이미지 불러오기
RoundImageView 에서 불러올 수 있는 이미지는 Bitmap 형식입니다. 따라서 해당 메소드로 쉽게 이미지를 불러올 수 있습니다.
findViewById(R.id.round_profile_image).setImageBitmap(bitmap)
BITMAP은 SNS 로그인 계정의 경우 URL에서 얻을 수 있고 ( URL to BITAMP 메소드 ) 사용자가 카메라에서 촬영 혹은 앨범에서 선택한 사진에서도 얻을 수 있습니다.
4. TIP - 가져온 BITMAP 이미지를 저장하는 방법
이 단계에서는 적절한 BITMAP을 소유하고 있다고 가정하고 진행합니다.
사용자로부터 가져온 데이터를 저장할 수 있는 방법은 외, 내부 DB 혹은 SharedPreference를 사용하는 세 가지가 존재합니다.
선행지식 : SharedPreference
여기서는 SharedPreference를 이용한 저장 방법에 대해서만 다루겠습니다.
SharedPreference에 BITMAP을 저장하기 위해서는 이 데이터를 String 형태로 가공해야합니다.
기본적인 구조는 이렇습니다.
(저장) Bitmap -> String - > SharedPreference
(로드) SharedPreference - > String -> Bitmap
이 과정은 Bitmap을 String으로 바꿔주는 메소드와, 그 반대의 메소드로 쉽게 달성할 수 있는 아주 간단한 과정입니다.
이후의 과정은 SharedPreference 사용법을 참고하시면 되겠습니다.
'안드로이드 > 러닝패스' 카테고리의 다른 글
[#A5 DEPRECATED] SNS 같은 FEED를 만드는 방법 (0) | 2018.12.04 |
---|---|
[#A4 DEPRECATED] 내 앱에서 쉽게 외부와 JSON 데이터를 주고 받는 방법 <Volley> (0) | 2018.11.30 |
[#A3 DEPRECATED] JSON 데이터를 내 앱에 저장하는 방법 (0) | 2018.11.30 |
[#A2 DEPRECATED] 간단한 저장소가 필요할 때, SharedPreference (0) | 2018.11.29 |