소소한 바램이... 나의 바램은 소소했다...오늘의 일정 리스트에서 각 항목을 메모 액티비티로 연결하는 것... 간단하지 않은가?? 그러나 간단하지 않았다.... 다음은 나의 뻘짓이다... 실패 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..
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 앱 위젯 레이아웃에서 요구하는 최소하는 공간 기본 홈 스크린 위치 앱 위젯은 윈도우안에서 정의된 높이와 너비를 가진 셀의 그리드에기반한다. 만약 앱 위젯의 최소 너비나 높이가 셀의 크기와 맞지 않는다면, 앱 위젯의 넓이는 거의 셀의 크기로 맞춰진다. 홈 스크린의 레이아웃 방향..