공부/Android 18

[Android] 웹 이미지를 ImageView에 적용시키기

이미지 URL을 안드로이드 ImageView에 적용시키기 위해서는 HTTP통신이 필요합니다. 아래 소스는 HttpURLConnection을 사용해 커넥션을 열고 Bitmap이미지를 받아오는 방법입니다. HTTP통신을 하기 위해서는 메인 스레드가 아닌 별도의 스레드를 만들어서 작업해야합니다. 자주 필요할 것 같아 함수로 만들었습니다. * 매니페스트에 INTERNET 권한 설정 추가해줘야 합니다.//URL을 통해 비트맵 파일을 return public Bitmap bitmapFromUrl(final String sUrl){ final Bitmap[] bitmap = new Bitmap[1]; //안드로이드에서 네트워크 관련 작업을 할 땐 별도의 스레드를 생성해서 작업해야 함. Thread mThread = ..

공부/Android 2016.10.09

Content Provider

보통의 경우에는 다른앱에 있는 데이터들을 가져 올 수 없는데 콘텐트 프로바이더를 이용하면 가져 올 수 있다. 이게 필요한 이유는 안전성?이라는 면도 있다고 한다. 나에겐 아직 납득이 안갔는데 그 외에도 안드로이드 제공 콘텐트 프로바이더를 이용하면 안드로이드 외장,내장 데이터들(사진,소리 등), 전화목록, 북마크 등을 가져올 수 있다. 이것들은 유용한 것 같다. 참고 블로그 : http://aroundck.tistory.com/236

공부/Android 2015.11.03

Android ListView 최적화방법 세가지

ListView를 최적화시키려면 getView를 최적화시켜야한다. 첫번째 방법은 item xml을 최적화시키는건데 LinearLayout을 여러개 사용한다면 RelativeLayout을 사용해서 레이아웃의 숫자를 줄이는것이다. 두번째 방법은 뷰의 재사용이다. getView에 이런 [View itemLayout = inflater.inflate(R.layout.list_view_item_layout,null); item이 생성될 때 마다 실행되니 이런걸 줄여서 속도를 상승시킨다. view가 얼마나 생성되는지 보는 방법 D:\Users\Jang\AppData\Local\Android\Sdk\platform-tools>adb shell dumpsys meminfo 16361(앱의 시스템번호임) 해결방법 >> ..

공부/Android 2015.11.03

Listview의 setOnItemClickListener가 안먹힌다면?

간혹가다 Listview의 setOnItemClickListener가 안먹힐때가 있습니다. Listview가 xml에있는 다른 view에 focus를 뺏길 경우에 발생하는데 Button이나 ImageButton이 xml에 있을 경우 listview의 focus를 뺏습니다. 제가 아는 해결방법은 두가지가 있는데 첫번째, Button,ImageButton등 focus를 뺏는 항목을 ImageView,TextView 등으로 바꿔준다. 두번째로 그래도 Button등을 사용하고 싶다면. xml에서 버튼 등의 속성을 android:focusable="false"로 바꿔주시고 Onclick속성을 추가해줍니다. 그리고 온클릭 함수 안에 코딩을 해줍니다. (삭제 버튼을 예를 들겠습니다) public void delete..

공부/Android 2015.10.30

GoogleMap을 ViewPager에 fragment에 추가하기.

구글맵을 액티비티에 추가할 땐 간단하게 됐는데 뷰페이저 안에 있는 프레그먼트에 추가할때는 간단히 안되네요.. 검색을 좀 해서 해결했습니다. 1. JAVAprivate SupportMapFragment fragment; private GoogleMap mMap;@Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); FragmentManager fm = getChildFragmentManager(); fragment = (SupportMapFragment) fm.findFragmentById(R.id.signMap); if (fragment == null) { ..

공부/Android 2015.10.24

google Map Clustering + Drawer로 마커를 모으고 리스트뷰에 리스트 띄우기 성공

지도를 일정 크기로 축소시키면 설정된 그리드 안에 포함된 마커들이 합쳐지는 클러스터를 API따라서 만들어봤습니다. 그 후에 드로워를 이용해서 클러스터를 터치시 해당 마커들의 정보를 리스트뷰로 띄워주도록 했습니다. 1. 등록된 마커를 보여주는 google Map 2. 지도를 축소하면 설정된 그리드 안에 있는 마커들이 합쳐짐 (cluster) cluster를 터치하면 클러스터 안에 포함된 마커들의 정보를 drawer를 이용해 listview에 표시 참고사이트 : https://developers.google.com/maps/documentation/android-api/utility/marker-clustering

공부/Android 2015.10.22