목록Android/Tip&Tech (399)
오늘도 공부
출처 : http://spitfire.tistory.com/78 안드로이드 기본 SDK에서 제공하는 widget... MSDN수준의 문서화를 기대하는 건 아니지만 아무래도 API설명이 좀 부실하다 보니 있는 기능을 몰라서 안 쓰거나 없는 기능인데 찾느라 한참 헤메는 경우가 있는 것 같더군요. 뭐, 기본제공하는 ImageView에 없는 기능인 Touch Scroll/ Pinch to zoom 되게 하느라 좀 헤메서 결과물은 아무도 안 오는 블로그에라도 좀 올려놓으면 편할 듯 하네요. ImgViewTouch.java 아무런 설명 없이 달랑 클래스만 올려놓기는 그러니 조금 설명하자면... 일단 android.widget.ImageView 클래스를 상속받아 만든 클래스입니다. 당연히 ImageView의 속성들은..
출처 : http://taehoonkoo.tistory.com/143 오늘 제가 해볼 것은 Preference Category를 Customizing 해보는것입니다. 우선 결과 부터 보여드리면, 이런식으로 Category Title을 변경해보는것이죠. 위와 같은 Layout의 Preference XML은 아래와 같습니다. PreferenceScreen에 PreferenceCategory를 추가하고, PreferenceCategory에 Preference Item이 하나 있는 형태 이지요, 여기서, PreferenceCategory의 Layout을 Customizing하는게 목적입니다. Preference Item의 Layout을 변경할때 사용하는것은, android:layout 속성을 정의 하는것입니다...
출처 : http://blog.naver.com/man8408?Redirect=Log&logNo=110104491800 안드로이드의 스크린 가로, 세로 모드를 고정시키는 방법은 2가지입니다. 1. source에서 수정 - Activity를 상속받은 클래스에서 onCreate() 안에 super.onCreate()전에 다음 함수를 실행시켜주면 간단하게 고정이 됩니다. setRequestedOrientation(Activity.SCREEN_ORIENTATION_LANDSCAPE); 2. AndroidManifest.xml에서 수정 - 가로 : landscape, 세로 : portrait 둘중 하나로 설정하면 된다. 3. 결과화면
출처 : http://mylovely1004.tistory.com/11
ListView의 배경색을 변경 하였을때, 스크롤 할 경우 배경색이 검은색으로 변하게 됩니다. 이럴 경우 아래 항목을 xml 내에 추가하면 됩니다. android:cacheColorHint="#00000000" 위와 같이 하면 스크롤 할 떄 배경색이 변하지 않습니다.
출처 : http://androidside.com/bbs/board.php?bo_table=B46&wr_id=13459 TITLE : Android Simple Comic Book App Date : 2010/06/24 Writen by Dayyoung Description : This is Source that make Comic book App by extends Webview. Download Link : CustomWebView Reference Site: http://nocivus.posterous.com/double-clicktap-detection-on-a 안드로이드 에서 확대/축소를 가진 기능의 일반View가 없는 것으로 알고있다. ImageView 같은 경우도 확대 축소에 대해서 Draw..
이미지 버튼 작성시 그냥 src하면 뒤에 테두리가 보인다.. 그래서 지금까진 백그라운드로 걍 처리했었지만.. 누르는 효과나 그런걸 기대못했기 때문에 짜증났었는데.. 왠걸...걍 뒤에 투명색으로 하면 된다네...우왕..짜증남..ㅋㅋ src="이미지 주소" background = "#00000000" 난 바보였어...T.T
출처 : http://godofcode.tistory.com/305 public class MyCustomButton extends ImageButton { final static int DEFAULT_IMAGE = R.drawable.default_button; final static int DEFAULT_CLICK_IMAGE = R.drawable.default_button_click; Drawable buttonImage;// 버튼 기본 이미지 Drawable clickImage;// 클릭 모션 이미지 public MyCustomButton(Context context, AttributeSet attrs) { super(context, attrs); buttonImage = getResources(..
출처 : http://mygirl2.blog.me/40105201905 출처 : http://androidcore.com/index.php?option=com_content&view=article&id=235&Itemid=106 Making a custom Android button using a custom view Creating a custom view is as simple as inheriting from the View class and overriding the methods that need to be overridden. In this example, a custom button is implemented in this way. The button shall feature a labell..
private Bitmap overlayMark(Bitmap bmp1, Bitmap bmp2) { Bitmap bmOverlay = Bitmap.createBitmap(bmp1.getWidth(), bmp1.getHeight(), bmp1.getConfig()); Canvas canvas = new Canvas(bmOverlay); canvas.drawBitmap(bmp1, 0, 0, null); canvas.drawBitmap(bmp2, distanceLeft, distanceTop, null); return bmOverlay; }
http://modian.tistory.com/entry/Gallery-Camera-%EC%82%AC%EC%9A%A9
출처 : http://susemi99.tistory.com/683 C2DM 소개 http://code.google.com/intl/ko-KR/android/c2dm/ 등록 http://code.google.com/intl/ko-KR/android/c2dm/signup.html 에서 가입을 하고나면 해당 메일 주소로 메일이 하나 온다. AUTH 정보 받기 ? Auth_android.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 import java.io.Bu..
출처 : http://lomohome.com/316 원래 하나은행 스마트폰 뱅킹의 위치기반(LBS) 지점찾기는 WebView 에서 Google Map API 를 통하여 구현이 되어있었다. 아이폰에서는 이게 잘 돌아가는데... 안드로이드에서는 기계마다 되는것도 있고, 안되는것도 있고.. 영 껄쩍지근 했다. (사실 이번에 출시한 갤럭시 S 에서 안돌아가는 이유가 가장 컸지..) 그래서 내친김에 WebView 에서 구현하지말고 MapView 로 구현해버리기로 했다. 이틀정도 작업한거라 고쳐야할 부분도 많고 (특히 Runnable 로 구현한 길게 누르기는...) 버그도 좀 있지만 일단 돌아가니, 이제까지 한것을 까먹지 않으려고 블로그에 정리를 해 둔다. * OSX 의 Pages 를 이용하여 블로그 글을 정리했는..
구글맵용 파라미터를 만들어서 (http://www.querystring.org/google-maps/google-maps-query-string-parametersprivate )List params; params.add(new BasicNameValuePair("near", "서울특별시 어쩌구 저쩌동"); params.add(new BasicNameValuePair("q", "철물점")); params.add(new BasicNameValuePair("radius", "2.485484")); //마일로 표시된 반경 params.add(new BasicNameValuePair("mrt", "yp")); //검색오션. 업체 params.add(new BasicNameValuePair("start", sta..
출처 : http://moonset.tistory.com/102 이번 Project를 하면서 Open Source를 많이 이용하게 됐다. ( = 저가의 생산비용으로 개발자 힘들게 하는 일.) Linux , Apache, Weblogic, Oracle 파일 업로드 컴포넌트도 없고, 에디터 또한 FCKEditor라는 처음 들어본 것을 사용했다. 이러한 상황에서... 지도 및 차트를 그리는 부분이 있었는데.. 고객같은 PM님께서 꼭 Google Code API를 사용해야 한다고 주장하셨다. Map API는 네이버, 다음, 구글 등에서 제공하고 있다. 구글은 오래되긴 했지만, 영어라는 한계가 있고, 로컬(미국)에서만 되는 기능들이 있다. (place.AddressDetails.Country.Administrat..
출처 : http://gxgsung.blog.me/140120805038 안드로이드 SDK 를 이용하여 GPS 위치정보를 쉽게 구하는 방법입니다. LocationManager 를 호출하여 GPS와 기지국에서 제공하는 위치정보를 얻어옵니다. Geocoder 를 활용하여 주소를 가져옵니다. 이 예제는 소스코드가 첨부되어 있습니다. Java 소스 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // LocationListener의 핸들을 얻음 locManager = (LocationManager) getSystemService(Context.LOCAT..
출처 : http://blog.naver.com/hyuki0920?Redirect=Log&logNo=140111581692 이번 안드로이드 프로젝트를 진행하면서 필요한 기능 중 하나가 사용자 주변검색을 하는 기능이다. 이 기능을 구현하기 위해 목표로 한 것이 구글에서 제공하는 지역검색을 사용하여 지역정보를 얻어 오는 것이 였다. 그래서 발견한 사이트가 http://stackoverflow.com/questions/2499324/google-search-api-for-android-systems 여기다 사실 구글에서 android google search api 라고 치면 가장 위에 나오는 사이트다. ㅎ 사이트를 URL을 이용하여 google 서비스에 접근해서 원하는 결과(주변검색결과)를 받아 오는 예제를..
모바일 디바이스와 플랫폼은 매번 새로운 제품이 나올 때마다 더욱 다양한 기능으로 시선을 끌며 업계를 선도하는 모바일 벤더에서는 단지 몇 달 만에 중요한 발표를 하곤 한다. 헤드라인에는 대부분 멀티터치 기능 및 Adobe® Flash® 기술과 같은 UI 기능과 프로세서 속도 및 스토리지 용량과 같은 하드웨어 개선사항에 관한 내용을 채워진다. 그러나 중요한 점은 컨텐츠가 핵심이라는 사실이다. 애플리케이션과 서버, 모바일 디바이스 그리고 사용자 간에는 계속해서 컨텐츠 즉, 데이터의 교환이 이루어진다. 데이터를 처리할 수 있는 기능이 없으면 Apple의 iPhone이나 Google의 Android와 같은 스마트폰은 값은 비싸지만 성능은 이에 미치지 못하는 일반적인 휴대전화가 된다. 자주 사용하는 약어 API: ..
출처 : http://cafe.naver.com/aphone.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=8044& TextView내 글자가 TextView 영역을 넘치는 경우, 흐르는 효과(marquee)을 줄수가 있는 다음과 같이 하면 된다. 1) 마퀴효과 TextView tv; tv.setSingleLine(true); tv.setEllipsize(TruncateAt.MARQUEE); // 마퀴 효과주기 tv.setSelected(true); // 원래 포커스가 가야 마퀴가 동작하는데, 대신 선택시키면 동작함 2) ... 효과 TextView tv; tv.setSingleLine(true); tv.setEllipsize(TextUtils.TruncateAt.END);
Android screen size is different for different phone models. There are some screen resolutions already defined in Android. They are: QVGA (240×320, low density, small screen) WQVGA (240×400, low density, normal screen) FWQVGA (240×432, low density, normal screen) HVGA (320×480, medium density, normal screen) WVGA800 (480×800, high density, normal screen) WVGA854 (480×854 high density, normal scr..
TextView에 링크 문자열만 있다면 click event를 처리할 수도 있지만 아래의 방법이 HTML 링크처럼 색상 변경및 밑줄까지 있으므로 훨씬 편하고 강력하다. TextView link = (TextView) findViewById(R.id.link); link.setText(Html.fromHtml("google")); link.setMovementMethod(LinkMovementMethod.getInstance()); 단 link.setText(Html.fromHtml(this.getString(R.string.url)); 처럼 HTML 포함한 String을 getString을 통해 가져올 때는 String id를 인코딩을 하기 때문에 string.xml 파일에 직접 쓰지말고 Layout 입..
태스크란? (Task, Activity Stack) 어피니티란? (Android Affinity) 플래그란? (Android Flag) 출처: http://blog.naver.com/oklmg?Redirect=Log&logNo=70105002506 안드로이드 태스크란? (Android Task, Activity Stack) - Task는 어플리케이션에서 실행되는 액티비티를 보관하고 관리하며 Stack형태의 연속된 Activity로 이루어진다 - 선입후출(First In Last Out)형태로 나중에 적재된 액티비티일 수록 가장 먼저 사용된다 만약 1페이지>2페이지>3페이지 순으로 액티비티를 이동했을때 실행순서대로 Task에 push해 놓았다가 back버튼을 누르면 3페이지>2페이지>1페이지순으로 Task..
have an activity group containing 3 activities. When a button is pressed, I enter into this activity group and show the 1st activity. From the 1st activity I can goto 2nd activity and from 2nd activity I can goto 3rd activity. I have a spinner in this 3rd activity layout. Problem is I am not able to click on that spinner. Error gets displayed showing: 12-31 11:29:41.082: ERROR/AndroidRuntime(474..
Android에서 Spinner를 사용하는 경우 Spinner에서 선택된 아이템을 가져오는 방법을 제시한다. 가장 간단한 String Array type을 기준으로 설명한다. 우선 Spinner에 Event Listener를 달자. (Event Listener를 다는 방법은 각자 원하는 방식으로~) spinner.setOnItemSelectedListener(mOnItemSelectedListener); 그리고 Event Listener를 정의한다. /** * @brief OnItemSelectedListener - OnItemSeleted event listener */ private OnItemSelectedListener mOnItemSelectedListener = new OnItemSelecte..
Tabs can be a difficult component when you first start building Android applications. To do something as simple as change the height of the tabs you need to build a view and pass it to setIndicator in the TabSpec. It might sound confusing but hopefully this code sample helps. It uses custom tab backgrounds, tab height, and programmatic tab creation. Image Files: Custom Tab Images MyActivity.java..
스피너의 외관 및 확장을 원하는 분에게 권장하고 싶은 사이트의 모음입니다. 1. http://www.gersic.com/blog.php?id=57 2. http://androidapps.org.ua/i_sect14_d1e12819.html 3. http://www.codeweblog.com/popupwindow-use-and-extend/ 4. http://www.codeweblog.com/custom-spinner-five-steps-away/ 5. http://www.codeweblog.com/department-of-famous-gate-android-8/ 6. http://www.codeweblog.com/android-study-notes-one-of-the-commonly-used-contro..
출처 : http://skyswim42.egloos.com/3354981 equestWindowFeature(Window.FEATURE_CUSTOM_TITLE) title bar 를 user 입맛에 맞도록 수정할 수 있다. 간단한 예제: 1. onCreate 에서 requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main); // setContentView 가 반드시 이 위치에 있어야 정상 동작함. getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title); // title bar 에 사용자 정의된 것들임. imageview = (ImageV..
src="http://extremecnc.co.kr/board_data/z_product/1297766177_98262_8.jpg" onload="resize(this);" />
안드로이드_개발_팁 출처 : http://blog.naver.com/q1q3q5?Redirect=Log&logNo=10099574011 태그 설명 (android:sharedUserId) 하나의 프로세스에서 여러 애플리케이션 실행하기 (showDialog 사용중) is not valid is your activity running (링크) 안드로이드 샘플로 들어 있는 NodePad (DB 사용예등..) (링크) 안드로이드 스터디 Jni 발표 자료... [번역] 안드로이드 2.0 Service API 변화 [번역] 안드로이드 Drawable Mutations AccountManager 관련 내용 Activity Launch Mode Activity가 화면에 보여질때 발생하는 이벤트 Activity내 배경을..