사실 가입만 해뒀지 잘 이용하지 않던 서비스였다. 친구 맺은 사람도 몇명 없고...그러나 가끔 들어가때마다 깜짝 놀라는 것이 내가 잘 알지도 못하고 또 알고싶지도 않은 개인들의 사생활이 나에게 마구 보여지는 것이다. 물론 글을 올린 이들이야 자신의 생활을 공유하고 싶었을 테지만 난 별로 알고 싶지 않다. 요즘 TV에서도 맨날 자기 얘기 늘어놓는 프로들만 있다. 첨엔 재미있어 보였는데 문득 내 자신이 바보같고 한심하단 생각이 들었다. 아무 가치도 없는 이야기들을 들어주느라 내 귀한 시간들이 버려진다는 것은 참으로 부끄러운 일이다. 페이스북도 비슷해 보였다. 트위터의 경우는 유명인사들의 트윗 속에서 뼈와 살이 되는 말들로 나에게 위로가 되기도 하고 깨우침이 되기도 하는데 페이스북은 네버~. 그럼 내가 뭐하러..
모델 중심형 개발을 통해 Android 디바이스 및 애플리케이션을 신속하게 전달하기 UML 도구와 안드로이드 개발환경의 조합... http://www.ibm.com/developerworks/kr/rational/library/model-driven-development-speed-delivery/index.html MDD가 출현하면서 개발 프로세스를 가속화할 수 있게 되었다. MDD를 사용하면 소프트웨어 엔지니어가 요구사항을 더 분명하게 이해하고 분석할 수 있을 뿐만 아니라 설계 스펙을 정의할 수도 있다. 또한, 시뮬레이션을 이용하여 시스템의 개념을 테스트할 수 있으며 코드를 자동으로 생성하여 대상 하드웨어에 직접 배치할 수도 있다. Android 소프트웨어 개발자는 두 가지 유형, 즉 플랫폼 벤더와 ..
클라우드 시대의 파놉티콘, 페이스북이 꿈꾸는 세상 김민식 책임연구원 클라우드 파놉티콘 사용자가 원하는 것을 알아내는 것 파놉티콘 : 최소한의 감시(모니터링)로 최대한의 효과를 얻을 수 있도록 모든 것을 한번에 파악할 수 있는 능력 파놉티콘은 클라우드에 저장된 정보를 수익 창출로 이어주는 역할 애플 아이쥰즈에서 흐르는 데이터를 분셕하여 단말기의 수요 분석 및 예측 구글 검색기반의 다양한 서비스를 이용하는 사용자 정보를 분석하여 막대한 광고수익 창출 페이스북 관계 기반 컨텐츠 서비스로 타게팅이 정교한 광고를 제공 페이스북 경쟁력 엄청난 회원 가입자수 : 7억명 돌파 여러 파트너쉽을 통한 서비스 연계 -MS 오피스, 빙 과의 연계 애플과 구글에 없는 컨텐츠 서비스 기업이 페이스북 디지털 생태계의 구성원 좋아요..
이 클래스는 시스템 알람 서비스에 접근하는 것을 제공한다. 이것은 애플리케이션이 미래의 어떤 정해진 시점에 실행될 수 있도록 스케쥴한다. 알람이 시작되면, 이것을 위해 등록했던 인텐트가 시스템에 의해 브로드캐스트 되고, 만약 애플리케이션이 실행 중이 아니라면 자동으로 대상 애플리케이션을 실행한다. 등록된 알람은 기기가 잠들어 있는 동안에 유지되지만 기기를 끄거나 재부팅했다면 삭제된다. 알람 관리자는 CUP wake lock을 가지고 있어서 가능한 오랫동안 알람 receiver의 onReceive() 메소드를 실행한다. 이것은 브로드캐스트를 관리하는 것을 마칠때 까지 전화기가 잠들지 잠들지 않을 것을 보증한다. 그리고 어떤 경우에는 가능한 빨리 onReceive() 메소드를 완료할 것임을 의미한다. 만약 ..
날짜가 변경되면 오늘의 일정도 변해야지.....!! 날짜가 바뀌면 앱 위젯의 내용을 갱신시켜야 한다. 주기적으로 intent를 broadcast 할수 있는 AlarmManager 를 사용해보고자 한다. 애뮬레이터의 시간설정이 야속해~ 작성된 앱을 실행시켰다. 정해진 시간에 알람이 호출되야 하는데...반응이 없었다.... 몇시간의 난(?)투...끝에 알아낸 원인은..크... 애뮬레이터의 시간설정이 현재 시간이 아니었는데 나는 그것을 보지 못하고 계속 현재시간 시준으로 세팅하고 있었던 것이다...ㅠㅠ 알람 등록하기 및 삭제하기 인텐트 설정하기 AlarmManager 인스턴스 얻기 및 알람 등록 알람 수신하기 브로드캐스 수신하기 참고 : [Android/developer.android.com] - [Refer..
이클립스에서 apk파일을 만들고 다시 zipalign 을 실행하는 데 번거로움을 느낀다... bat 파일로 간편화시키자 @echo off ECHO ANGMANG-PRJ-01 APK를 압축합니다. CD C:\Program Files\Android\android-sdk\tools setlocal ::변수 초기화 set apk_version= ::파일명 입력 set /p apk_version=압축할 파일 버전: @echo ON zipalign -f -v 4 C:\Android\myApk\ANGMANG-PRJ-01-V%apk_version%.apk C:\Android\myApk\R_AM-PRJ-01-V%apk_version%.apk @echo off ECHO 압축된 파일은 AM-PRJ-01-V%output_ap..
소소한 바램이... 나의 바램은 소소했다...오늘의 일정 리스트에서 각 항목을 메모 액티비티로 연결하는 것... 간단하지 않은가?? 그러나 간단하지 않았다.... 다음은 나의 뻘짓이다... 실패 1. 리스트의 각 아이템마다 Intent 의 putExtra 에 id값을 넣어서 전달했다. 자연스러운 코딩이었지만...putExtra 값이 사라져서 아무것도 나타나질 않았다. Intent intent_memo = new Intent(context, MemoActivity.class); iintent.putExtra("SID", id); PendingIntent pendingIntent_memo = PendingIntent.getActivity(context, 0, intent_memo, 0); item.setOn..
처음에 앱 위젯을 만들어야쥐~하고 생각했을 땐 쉽게 될 줄 알았다. 이미 작성해논 액비티비 화면을 그대로 불러다 쓰면 될 줄 알았다...그러나 이것은 나의 착각이었으니... 일단 앱 위젯 레이아웃 구성에서부터 막혀버렸다...알고보니 앱 위젯에 쓰일 수 있는 뷰는 한정되어 있었다. 내가 만들어놓은 커스텀 뷰나 리스트뷰같은근 쓰지 못한다. 작업순서 앱 위젯 레이아웃 만들기 AppWidgetProviderInfo Metadata 추가하기 AppWidgetProvider 상속 클래스 구현하기 매니페스트 파일에 등록하기 작업 상세 앱 위젯 레이아웃 만들기 참고 : Creating the App Widget Layout 홈 스크린에 표시될 앱 위젯의 레이아웃을 만든다. AppWidgetProviderInfo Met..
App Widgets 사용자가 새로운 앱 위젯을 추가할 때 세팅을 구성하게 하려면, 앱 위젯 구성 액티비티를 생성한다. 이 액티비티는 자동으로 앱 위젯 호스트에 의해 실행되고 사용자가 앱 위젯의 생성 시점에 가능한 세팅-앱 위젯 색상, 크기, 업데이트 기간 등-을 구성할 수 있도록 한다. 이 구성 액티비티는 보통 액티비티처럼 메니페이스 파일에 선언되어야 한다. 그러나 앱 위젯 호스트가 ACTION_APPWIDGET_CONFIGURE 액션으로 호출되기 때문에 이 인텐트를 받아들이도록 한다. 또한 이 액티비티는 AppWidgetProviderInfo XML 파일의 android:configure 속성에 선언되어야 한다. ※ 이 액티비티는 전체 이름으로 선언해야 한다. 왜냐하면 패키지 영역 밖에서 참조될 수 ..
앱 위젯의 초기 레이아웃을 정의하고 res/layout 디렉토리에 저장해야 한다. 앱 위젯은 아래에 나열된 View 객체를 사용해서 디자인할 수 있지만, 디자인을 시작하기 전에 먼저 App Widget Design Guideline을 읽고 이해하길 바란다. 앱 위젯 레이아웃을 만드는 것은 XML에 레이아웃을 선언하는 것과 비슷하다. 그러나 앱 위젯 레이아웃은 RemoteView 에 기반하다는 것과 모든 종류의 레이아웃을 지원하지 않는다는 것을 알아야 한다. RemoteView 객체는 아래 레이아웃 클래스를 지원한다. FrameLayout LinearLayout RelativeLayout 따라오는 위젯 클래스 : 이 클래수들의 자손 클래스는 지원되지 않는다. AnalogClock Button Chronom..
AppWidgetProvider 클래스는 BroadcastReceiver 를 상속받아서 앱 위젯 브로드캐스트를 처리할수 있는 편리한 클래스이다. onUpdate() AppWidgetProviderInfo 에서 updatePeriodMillis 속성에 정의한 간격대로 앱 위젯을 업데이트하기도록 호출한다. 이 메소드는 사용자가 앱 위젯을 추가할 때 호출되서, 필수적인 셋업이 호출된다. 그러나 만약 구성 액티비티가 선언된다면, 사용자가 앱 위젯을 추가할 때 이 메소드를 호출되지 않고 다음의 업데이트에서 호출된다. 구성을 마칠 때 첫번째 업데이트가 실행되는것은 구성 액티비티의 책임이다. onDeleted(Context, int[]) 앱 위젯은 호스트에서 삭제될때마다 호출된다. onEnabled(Context) ..
App Widgets AppWidgetProviderInfo Metadata 추가하기 AppWidgetProviderInfo 는 앱 위젯의 필수적인 값들-최소 레이아웃 크기, 초기 레이아웃 리소스, 앱 위젯을 업데이트하고 추가적으로 구성 액티비티를 적시에 실행하기 -을 정의한다. appwidget-provider 를 사용해서 XML리소스에서 객체를 정의하고 res/xml/에 정의한다. 속성의 요약 minWidth, minHeight 앱 위젯 레이아웃에서 요구하는 최소하는 공간 기본 홈 스크린 위치 앱 위젯은 윈도우안에서 정의된 높이와 너비를 가진 셀의 그리드에기반한다. 만약 앱 위젯의 최소 너비나 높이가 셀의 크기와 맞지 않는다면, 앱 위젯의 넓이는 거의 셀의 크기로 맞춰진다. 홈 스크린의 레이아웃 방향..
사용자에게 애플리케이션의 설치된 버전을 보여주고 싶다. //버전 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. 안드로이드 애플리케이션을 서명하는 것을 이해하기 위한 중요한 점들 모든 애플리케이션은 반드시 서명되어야 한다..