사용자에게 애플리케이션의 설치된 버전을 보여주고 싶다. //버전 tv_version= (TextView)findViewById(R.id.settings_program_version_desc); try { String versionName = getPackageManager().getPackageInfo(getPackageName(), 0).versionName ; tv_version.setText(versionName); } catch (NameNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }
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; } 그런데 다음과..