Overview 안드로이드 시스템은 설치된 모든 애플리케이션의디지털로 서명된 인증서를 가질 것을 요구한다. 이 인증서는 사설키(private key)로 애플리케이션 개발자의 소유다. 애플리케이션 시스템은 인증서를 사용하여 애플리케이션의 권한을 확인하고 애플리캐이션 사이의 신뢰할 만한 관계를 만든다. 이 인증서는 사용자가 설치할 수 있는 애플리케이션을 통제하는데는 사용하지 않는다. 인증서는 인증서 권한으로 서명될 필요는 없다. it is perfectly allowable, and typical, for Android applications to use self-signed certificates. 안드로이드 애플리케이션을 서명하는 것을 이해하기 위한 중요한 점들 모든 애플리케이션은 반드시 서명되어야 한다..
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 에서 디렉토리으 스페이스를 인식하지 못해 나타나는 현상이라고 한다. 해결책은? 스페이스가 들어가지 않은..
http://proguard.sourceforge.net/ 안드로이드는 애플리케이션 크기가 매우 중요하다. 그래서 배포 버전을 만들때 ProGuard를 사용한다. 이것은 매우 눈에 띄는 사이즈 축소를 볼 수 있다. 사용되지 않는 클래스, 필드, 메소드, 속성등을 찾아내어 없앤다. 사용법 default.properties 에 다음의 내용을 추가 proguard.config=proguard.cfg proguard.cfg 파일 추가 처리 단계 Input jars Shrunk code Optim. code Output jars - shrink → - optimize → - obfuscate → Obfusc. code - preverify → Library jars ------------------------- ..
원문보기 public class android.accounts.AccountManager extends Object Class Overview 이 클래스는 사용자의오라인 계정의 중앙 레지스트리로 접근을 지원한다. 사용자는 credentials (사용자이름과 비밀번호)를 계정당 한번만 입력하고, 애플리케이션에 "one-click"로 올라인 리소스에 접근할 수 있는 권한을 준다. 서로다른 온라인 서비스는 계정과 인증의 처리방법을 다르게 갖는다. 그래서 account manager는 플러그인형 인증 모듈 ( pluggable authenticator modules)로 여러가지 계정 타입을 사용한다. 인증서(Authenticators -써드 파티에서 작성)는 유효한 계증 credentials 의 실제 상세내역을..
원문 : SampleSyncAdapter - Sample Sync Adapter 이 샘플 코드는 애플리케이션이 클라우드기반 서비스와 통신하는 방법과, 컨텐트 프로바이더에서 기기에 저장한 데이타와 클라우드데이타를 동기화 하는 방법을 보여준다. 샘플은 안드로이드 프레임워크의 두 부분에 연결된다. account manager synchronization manager (through a sync adapter). account manager account manager 은 credentials 을 여러 애플리케이션과 서비스가 공유할 수 있도록 한다. 사용자는 각 계정의 credentials 을 단 한번만 입력한다. - USE_CREDENTIALS 퍼미션을 가진 애플리케이션은 account manager에 계정..
Widget Design Guidelines 위젯은 Android 1.5에서 소개된 특징이다. 위젯은 애플리케이션의 가장 중요하거나, 한눈에 필요한 정보를 사용자의 홈 스크린에 보여준다. 기본적인 안드로이드 시스템 이미지는 여러 샘픔의 위젯을 포함하고 있다. Widgets are a feature introduced in Android 1.5. A widget displays an application's most important or timely information at a glance, on a user's Home screen. The standard Android system image includes several examples of widgets, including widgets for ..
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..
뒤로가기 버튼이 내 앱을 죽인다!! 이상한 현상이다. 액티비티가 전환된 후 뒤로가기 버튼을 누르면 앱이 종료된다. 그런데 앱 안에 만들어논 뒤로가기 버튼을 누르면 별 이상이 없는 것이다. 분명히 제대로 잘 동작하던 기능이었는데 무엇이 문제일까?? 난 아무잘못이 없다고....(정말?) 일단 뒤로가기 버튼을 막아보자 이유는 뭔지 잘 모르겠고 앱이 죽어버리는 건 짜증이 나고...일단은 뒤로가기 버튼 기능을 막던지 수정하던지 해봐야 겠다. @Override public void onBackPressed() { //super.onBackPressed(); setResult(RESULT_OK, callIntent); finish(); } onBackPressed()를 오버라이드 하고, super.onBackPres..