본문 바로가기

프로그래밍/안드로이드

[안드로이드/Android] Bitmap Drawable 변환 크기 [안드로이드/Android] Bitmap Drawable 변환 크기 안녕하세요. 초보플밍지기 입니다. 프로그램을 하다보면 애니매니션이나 View의 배경으로 사용하기 위해 비트맵을 Drawable의 하위 클래스로 변환해서 써야할 때가 있는데요. 대부분 아래 코드와 같이 사용하실 겁니다. Bitmap bitmap = BitmapFactory.decodeFile(“/sdcard/test.jpg”);Drawable drawable = new BitmapDrawable(bitmap); 근데....그런데!!!! 비트맵을 그대로 배경으로 적용했을때는 이미지도 선명하고 잘보이실텐데 이상하게 동일한 녀석을 Drawable로 바꾸면 영~~~~ 구려 집니다. 왜!!! 그럴까요? BitmapDrawable은 다양한 생성자를 .. 더보기
SQLite Android Database Cursor window allocation of 2048 kb failed SQLite Android Database Cursor window allocation of 2048 kb failed 가끔씩 Cursor관련하여 개발을 할때면 아래와 같은 문제가 종종 올라 옵니다. SQLite Android Database Cursor window allocation of 2048 kb failed 이녀석의 해결법은 생각보다 간단합니다.기존에 사용하던 Cursor가 close가 되지 않아 발생하는 문제입니다. 코드상에서 Cursor를 사용하시고 close() 하지 않는 곳이 있다면 모두 닫으면 아마 위와 같은 에러는 발생하지 않을 겁니다. 참고다 아시는 내용이겠지만 혹시나 ListView나 GridView같이 Adapter에 Cursor로 넘어 간 녀석을 close() 하지면 화면이 .. 더보기
안드로이드 버튼으로 메뉴호출 하기 안드로이드 버튼으로 메뉴호출 하기 안드로이드 버튼으로 메뉴호출하는 것은 굉장히 간단합니다. 기본적으로 안드로이드에서는 물리적으로 메뉴키를 눌러야지만 메뉴가 호출되지만 화면안에 버튼이나 다른 View에서 이벤트를 통해서도 호출할 수가 있습니다. Activity 클래스 안에 있는 openOptionsMenu() 메소드를 호출하시면 됩니다. 더보기
토스트 알림(Toast Notifications) 토스트 알림(Toast Notifications)토스트 알림은 윈도우 표면(안드로이드 폰 화면)에 나타나는 팝업 메시지 입니다. 토스트 화면은 자동적으로 나타났다가 사라지며 사용자의 이벤트를 받지는 않는 단순 메시지 형태 입니다. 토스트는 서비스에서 생성 및 표시가 가능합니다. 서비스에서 간단한 알림을 사용하고자 할때 현재 보여지는 화면 앞에 나타나게 됩니다. 만약 화면에 보고주고 난뒤 사용자로 부터 이벤트를 받기 원한다면(사용자의 선택을 통한 확인 및 취소 선택) 상태 표시줄 알림을 사용하시기 바랍니다. 토스트(Toast) 기본 사용법 먼저 토스트를 만들기 위해서는 makeText() 메소드중의 하나를 선택하여 토스트 객체를 인스턴스화 시킵니다. 이 메소드는 3개의 매개변수를 요구합니다.응용 프로그램의.. 더보기
[안드로이드/Android] 안드로이드 노티피케이션(Notifications) 안드로이드 노티피케이션(Notifications) 노티피케이션(Notifications) 프로그램을 개발하다 보면 개발한 응용프로그램에서 발생하는 이벤트에대해 사용자에게 알려주기 위한 상황이 종종 발생하고는 합니다. 어떤 이벤트들은 사용자들에게 응답을 요구하기도 합니다. 예를 들면 아래와 같은 상황들이 있겠죠.1. 파일저장이 완료 되었을때 사용자에게 메세지를 통해 "파일 저장이 완료 되었습니다." 라는 메세 지를 띄워주는 경우 2. 백그라운드에서 어플리케이션이 실행되고 있고 사용자의 주의가 필요한 경우 응용프로그램은 사용자가 대응할 수 있도록 노티피케이션을 만들어야 합니다.3. 응용프로그램이 사용자가 기다려야되는 상황(ex : 파일 다운로드 등)이라면 사용자에게 진행상황을 보여주어야 합니다. 이러한 상황.. 더보기
안드로이드 타이틀바 없애기 안드로이드 타이틀바 없애기 안드로이드 타이틀바 없애기는 아주 간단합니다. 안드로이드 타이틀바를 없애기위해 한가지만 주의 하시면 큰문제는 없습니다. 간편하게 사용가능한 2가지 방법에 대해 알려드릴께요. 1. 자바 코드상에서 타이틀바 없애기 requestWindowFeature(Window.FEATURE_NO_TITLE);이부분만 적용해 주시면 됩니다. 주의 사항] onCreate() 메소드 안에서 setContentView()를 호출하기 전에 해당 메소드를 호출하여 설정하셔야 합니다.해당 메시지가 액티비티 자체창에 대한 속성 변경이기 때문에 액티비티 안에 뷰를 셋팅하기 전에 반드시 설정해주셔야 한다는 점~~~~~ 잊지 마세요. 2. 매티페스트 파일에서 타이틀바 없애기. manifest.xml 에서 아래와 .. 더보기
안드로이드 리스트뷰 비트맵 성능 최적화 안드로이드 리스트뷰 비트맵 성능 최적화 안드로이드 리스트뷰 비트맵 성능 최적화를 위한 방법입니다.리스트뷰는 안드로이드로 개발을 하다보면 아주 많이 사용되는 녀석중 하나 입니다.몇개 되지 않는 녀석들은 문제가 되지 않지만 많은 양의 데이터 또는 다수의 이미지(Bitmap)가 들어 간다면 성능은 미춰버릴 정도로 느려지거나 버벅일 때가 발생합니다. 그럴때 사용하면 좋은 녀석이 SoftReference 라는 녀석이 있습니다. 사용법은 간단하니 걱정하지마세요. public class BitmapCache extends HashMap{ Bitmap cacheImg = BitmapFactory.decodeResource(getResources(), R.drawable.noimage); public SoftRefere.. 더보기
안드로이드 ProgressBar 배경 안드로이드 ProgressBar 배경 안드로이드 ProgressBar 배경은 일반적인 안드로이드 레이아웃에서 설정하는 것과는 약간의 차이가 있습니다. 하지만 ProgressBar 배경 설정하는 것도 그리 어려운 것이 아니니 슬퍼하지는 마세요. 구현 방법에 따라 달라지겠지만 저는 일단 아래와 같이 파일을 구성하도록 하겠습니다. 1. ProgressBar 레이아웃 ( res/layout/progressbar_test.xml )2. ProgressBar 배경 레이아웃 ( res/drawable/progressbar_custom.xml )3. ProgressBar에 적용될 색상 ( res/values/colors.xml ) res/layout/progressbar_test.xml 기본 화면 구성과 동일합니다.가.. 더보기