본문 바로가기
[Android/안드로이드] Custom Attribute 정의해서 사용하기. 참조 링크 : [android] custom attribute format ( type ) 안녕하세요 돼지왕 왕돼지입니다. Custom Class 를 만들어 사용 하던 중, Custom Attribute 를 정의해서 사용할 일이 생겼습니다. 그냥 쓰면 되는 줄 알았더니 아니더군요. 자, 이제부터 차근차근 custom attribute 를 정의해서 사용하는 방법을 알아볼까요? 준비물 1. /values/attr.xml 파일 2. custom attribute 를 사용할 xml 파일에 namespace 정의 3. custom class 에서 custom attribute 받아오는 코드. 1. /values/attr.xml 파일 /values/attr.xml 에는 사용할 custom attribute 를 정의.. 2012. 2. 17.
[Android/안드로이드] String ( 문자열 ) 로 Resource 의 id 구하는 방법. 안녕하세요 돼지왕 왕돼지입니다. 오늘은 String(문자열) 로 Resource의 id 를 구하는 방법에 대해 알아보고자 합니다. 우리는 보통 R.layot.main 과 같이 gen\R.java 에 자동생성된 ID 를 static 의 형태로 주로 접속해서 쓰고 있죠. 하지만, 가~끔 resource 의 string 을 가지고 ID 를 구하고 싶을 때가 있습니다. 그럴떄는 다음 API 를 이용하면 됩니다. context.getResources().getIdentifier(String name, String defType, String defPackage); name : resource name defType : resource definition type defPackage : resource define.. 2012. 2. 17.
[Android/안드로이드] Media ( Audio, Video ) Recording APIs. 안녕하세요 돼지왕 왕돼지입니다. 오늘은 Media (Audio, Video) Recording 에 관련된 APIs 에 대해서 간단히 알아보겠습니다. MediaRecorder.class void setAudioSource (int audio_source) void setVideoSource (int video_source) audio_source contstant : MediaRecorder.AudioSource.MIC void setOutputFormat (int output_format) output_format constant : MediaRecorder.OutputFormat.THREE_GPP void setAudioEncoder (int audio_encoder) void setVideoEncod.. 2012. 2. 16.
[Android/안드로이드] Media DB 의 Table과 Column 정보들. 안녕하세요 돼지왕 왕돼지입니다. Gallery 와 같이 MediaStore 에 있는 사진 또는 동영상을 참조하는 프로그램을 만들 때, Media DB 의 Table 과 Column 에 대해 잘 모르면 답답하기 쉽죠. 그래서 살짝 정리해보았습니다. 참조하여 빠른 코딩 하시길~ Base Column 필드명 상수( 필드명 value ) 필드 타입 설명 _COUNT (_count) int 레코드 개수 _ID (_id) long 레코드의 id DATA (_data) DATA_STREAM 데이터 스크림, 파일의 경로 SIZE (_size) long 파일 크기 DISPLAY_NAME (_display_name) text 표시되는 파일명 MIME_TYPE (mime_type) text 마임 타입 TITLE (title.. 2012. 2. 16.
[Android/안드로이드] ImageViewer Sample Code. 안녕하세요 돼지왕 왕돼지입니다. 오늘은 MediaStore 에 Scan 이 완료된 녀석들을 기준으로, Image 를 보여주는, 아주 심플한 ImageView 에 대한 Sample Code를 올려봅니다. public class SimpleImageViewer extends Activity { private ImageView mImage; private Cursor mCursor; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.imageviewer); ListView list = (ListView)findViewById(R.id.listview); mImage.. 2012. 2. 16.
[Android/안드로이드] App Widget 제작시 updatePeriodMillis 의 오작동 or 사기. 안녕하세요 돼지왕 왕돼지입니다. 오늘은 App Widget 제작시 updatePeriodMillis 의 오작동? 혹은 사기에 대해 알아보고, 이에 대한 대처방법에 대해 알아보고자 합니다. 진실 규명 - App widget 을 만들면서 한가지 놀라운 사실을 알아냈습니다. updatePeriodMillis 이것이 사기 attribute 라는 걸 알아냈죠. Developer 에서 AppWidget 이라는 검색어로 정보를 얻어 본 결과는 별 내용이 없었습니다. (단지, 정확한 시간에 work 하지 않을 수도, 또는 전달하지 않을 수도 있다는 것은 명시했더군요.. ) 하지만, 검색의 영장, googling 을 통해, 그리고 developer.android.com을 통해 알아낸 사실은.. ==============.. 2012. 2. 16.
[Android/안드로이드] Timer 를 이용한 App Widget Update Example 안녕하세요 돼지왕 왕돼지입니다. 오늘은 Timer 를 이용하여 App Widget 을 Update 하는 방법에 대해 알아보겠습니다. 이 방법은 지난번에 알아본 Service 를 이용한 방법도 매우 유사합니다. 2012/02/16 - [프로그래밍 놀이터/안드로이드] - [Android/안드로이드] Service 를 이용한 App Widget Update 왜 Timer 를 이용하여 update 하나요? - Service 를 이용하는 이유와 같습니다. 위의 링크를 참조하세요~ :) - 기본적으로 Timer 는 Timer 자체의 Thread 를 이용한다는 것을 참조하시면, 코딩하는 데 더 수월하겠습니다. Sample Code Service 를 이용한 방법과 마찬가지로, Idea 만을 제공하고 있습니다. @App.. 2012. 2. 16.
[Android/안드로이드] Service 를 이용한 App Widget Update 안녕하세요 돼지왕 왕돼지입니다. 오늘은 Service 를 이용한 App Widget Update 방법에 대해 알아 보겠습니다. 왜 Service 를 이용하나요? - 기본적으로 Provider 내에서의 작업 수행은 10초 이내로 끝나야 합니다. 간혹가다가 위젯 update 를 위해서 많은 계산을 필요로 하던가, DB 에서 정보를 얻어오는 등의 긴 작업을 요하는 경우가 있는데요. 이런 경우에는 widget update 중 ANR 을 초래할 수 있기 때문에, Service 를 이용하는 것이 좋습니다. - 두번 째 이유는, android app widget 의 경우 30분 이내의 updatePeriodMillis 를 보장하지 않습니다. 따라서 30분 이내에 지속적인 Update 가 필요할 경우에는 Service.. 2012. 2. 16.
[Android/안드로이드] AppWidget Sample Code ( Example ). 안녕하세요 돼지왕 왕돼지입니다. AppWidget 을 빠르게 만들 수 있게, 그리고 쉽게 학습할 수 있도록 Sample Code 올립니다. Test Widget 은 View 로 Button 하나를 가지는 위젯입니다. @manifest @AppWidgetProvider public class ButtonWidget extends AppWidgetProvider { public static String ACTION_WIDGET_CONFIGURE = "ConfigureWidget"; public static String ACTION_WIDGET_RECEIVER = "ActionReceiverWidget"; @Override public void onUpdate(Context context, AppWidgetM.. 2012. 2. 15.
반응형