안드로이드 개발의 가장 큰 어려움이라 할 수 있는 파편화... 최선의 선택을 위해 파편화의 정도에 대해 파악하고 비중을 고려하여 적절한 판단을 내리는 것이 좋을 것이다. 집중과 선택으로 과감한 포기(?)로 비용을 절감하고 만족감을 높이(?)는 것이 현명한 판단일 듯... 안드로이드 OS 의 버전 차이로 인한 파편화 그래프를 보아하니 최소 사양은 2.1이면 무난할 것 같다. Current Distribution 화면 해상도에 의한 파편화 Screen Sizes and Densities 제조사별 차별화 전략에 의해 다양한 하드웨어 구성에 의한 파편화
헉....충격이다... 앞으로 HTML5가 대세가 될것을 보면서 번거로운 안드로이드 어플 개발에 대한 흥미가 떨어졌었다. 그랬더니 기본적인 것도 다~ 잊어버렸네...ㅋㅋ 웹브라우저 VS 웹뷰 안드로이드에서 웹 페이지를 보여주는 방법은 2가지이다. 웹브라우저 웹뷰(WebView) 간단히 웹 브라우저는 간단히 URL만 사용해서 엡 페이지를 보여줄 때 사용하고, 웹뷰는 하이브리드 방식으로 내부동작에는 안드로이드 내장 컴포넌트를 사용할 때 이용된다. Webview 사용하기 AndroidManifest.xml 에 인터넷 사용 설정하기 레이아웃 XML에 WebView 선언하기 HTML 작성 및 저장 Activity에서 mWebView 사용하기 1. AndroidManifest.xml 에 인터넷 사용 설정하기 2. ..
http://developer.android.com/guide/publishing/versioning.html Setting Application Version 애플리케이션의 버전 정보를 정의하기 위해서는, 메니페스트 파일안에 있는 속성을 설정한다. android:versionCode 정수 값(integer value)으로 애플리케이션 코드의 버전을 대표한다. 이 값은 다른 애플리케이션이 프로그램적으로 평가할 수 있어서 업그레이드나 다운그레이드 관계를 확인할 때 사용할 수 있다. 이 값은 원하는 어떤 값으로도 사용가능하다. 그러나 각각의 연속되는 애플리케이션은 더 큰 값을 사용해야 한다. 시스템은 이 행동에 어떤 강요를 하지 않지만 연속되는 배포의 증가되는 값은 표준으로 정한다. 일반적으로 첫번째로 배포..
애뮬레이터가 실행되지 않아~ 오랜만에 애뮬레이터를 실행하려는 데 ...이건 뭐지??? 에러가 난건지 다름과 같은 메세지가 뜨고 실행되지 않는다. invalid command-line parameter: Files\Android\android-sdk\tools/emulator-arm.exe. Hint: use '@foo' to launch a virtual device named 'foo'. please use -help for more information< Android SDK Tools, revision 12 의 문제 얼마전에 업데이트를 받은 것 같은데...암튼 구글링을 해보니 revision 12 에서 디렉토리으 스페이스를 인식하지 못해 나타나는 현상이라고 한다. 해결책은? 스페이스가 들어가지 않은..
원문 : SampleSyncAdapter - Sample Sync Adapter 이 샘플 코드는 애플리케이션이 클라우드기반 서비스와 통신하는 방법과, 컨텐트 프로바이더에서 기기에 저장한 데이타와 클라우드데이타를 동기화 하는 방법을 보여준다. 샘플은 안드로이드 프레임워크의 두 부분에 연결된다. account manager synchronization manager (through a sync adapter). account manager account manager 은 credentials 을 여러 애플리케이션과 서비스가 공유할 수 있도록 한다. 사용자는 각 계정의 credentials 을 단 한번만 입력한다. - USE_CREDENTIALS 퍼미션을 가진 애플리케이션은 account manager에 계정..
Android Manifest 선언카메라 클래스는 이미지 캡쳐 세팅, 미리보기 시작/종료, 스탭 픽쳐를 세팅하기 위해 사용하거나 비디오 인코딩을 위해 프레임을 가져오기 위해 사용한다. 이 클래스는 실제 카메라 하드웨어를 관리하는 Camera service 의 클리이언트다. The Camera class is used to set image capture settings, start/stop preview, snap pictures, and retrieve frames for encoding for video. This class is a client for the Camera service, which manages the actual camera hardware. 디바이스 카메라에 접근하려면, 반드시 ..
오류발생!!! Custom ListView 를 만들어서 데이타 타입별로 항목뷰를 다르게 생성하려 한다. 내가 사용하려는 뷰의 타입의 2가지(1또는 2)이다. 그래서 아래와 같이 코딩하였다. MemoListAdapter extends BaseAdapter 에서 @Override public int getItemViewType(int position) { Log.i(TAG, "getItemViewType="+items.get(position).type); return items.get(position).type; } /** * getView가 생성하는 뷰의 개수, 3개 이상 넘지 않도록 한다, */ @Override public int getViewTypeCount() { return 2; } 그런데 다음과..
Articles > Speech Input 간단한 메모 입력을 할 때 안드로이드의 speech input 기능을 써봐야 겠다는 생각이 들었다. 시도해 보자~ 고고고 Android 2.1 은 voice-enabled keyboard 를 도입했다. 이것은 연결하는 것을 매우 쉽게 만들어준다. 이제 메시지를 타이핑 하는 대신 구술하여 쓸수 있다. 그냥 새로운 마이크로폰 버튼을 클릭하고 평상시 타이핑하는 것처럼 어떤 문장이든 말하면 된다. Speech input adds another dimension to staying in touch. Google's Voice Search application, which is pre-installed on many Android devices and available i..
리스트 화면이 사라졌어요. 개발할 때 많이 쓰는 것 중 하나인 리스트 뷰 배경은 희색, 글자색은 검정색으로 설정했는데 리스트를 스크롤 하면 리스트뷰가 검은색이 되면서 아무것도 보이지 않는다. 뭐니 이게??? 화면을 유심히 들여다 보니 구분선은 흐릿하게 보였다. 아무래도 스크롤시 배경색이 검은색으로 바뀌는 것 같다... 어찌할꼬??? 음..다행이 이 상황은 많은 사람들이 겪는 문제인가 보다. Android developer 사이트에 이 문제에 대한 해결책이 나와있다. 한 번 살펴보자.^^(난번역...ㅠㅠ;;) ListView Backgrounds: An Optimization ListView 에서 가장 많이 발생되는 공통적인 문제 중 하나는 사용자정의 백그라운드를 사용할 때 이다. 많은 안드로이드 위젯들처..
왜!! 레이아웃이 화면에 꽉 차지 않는 거야??? 나의 스마트폰은 HTC 센세이션~ 어플을 테스트 하려고 보니...어 이상타... 레이아웃이 화면에 꽉 차지 않는것이다... 왜!!! 원인은 고해상도?? HTC 센세이션 해상도는 QHD 960X540 이다. 따라서 고해상도를 맞춰줄 작업이 필요한 것이다. !! 해상도에 따른 확장, 축소 적용하기 /AndroidManifest.xml 결과화면 적용전 적용후 화면 해상도 얻기 DisplayMetrics displayMetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); int width = displayMetrics.widthPixels; ..
타이틀바를 내 취향대로 변경하고 싶다. 안드로이드 3.0부터 제공하는 action bar에서 이것저것 기능을 추가할 수 있는 것 같은데...아무튼 내 개발버전 2.3 에 맞게 커스텀 타이틀바를 만들어 사용하겠다. 타이틀바 레이아웃 그리기어플리케이션 관리자에 공용으로 사용할 커스텀 타이트바 세팅 함수 만들기 액티비티에 커스텀 타이틀바 달기타이틀바에 테마 적용하기 타이틀바 레이아웃 그리기 어플리케이션 관리자에 공용으로 사용할 커스텀 타이트바 세팅 함수 만들기 public void customTitleBar(String title, Activity activity){ activity.getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.sample1..
스마트폰 OS 취약점을 통해 OS영역에 악성코드를 삽입하고 최고 권한을 획득해 스마트폰을 지배 스마트 플랫폼 특성상 동일한 버전의 제품이 대량으로 생산된다는 점에 비춰보았을 때 하나의 스마트 플랫폼만을 대상으로 하더라도 상상을 초월하는 대규모의 사이버 테러가 발생할 가능성이 있다 2011년 6월 17일 방이동 형인타워에서 개최된 POC 세미나 안드로이드 기반 스마트폰 이번 시연의 핵심은 안드로이드가 기본적으로 리눅스 커널을 탑재하고 있기 때문에 기존 리눅스 OS에 나타났던 수많은 커널 악성 코드가 그대로 옮겨져 실행될 가능성이 매우 높다는 것. 아이폰 역시 탑재된 iOS가 BSD 커널을 탑재하고 있기 때문에 커널 악성 코드에 자유로울 수 없다 시연된 커널 취약점은 LKM(Loadable kernel mo..