<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3396652205920008850</id><updated>2024-09-12T01:59:37.728+09:00</updated><category term="開発"/><category term="OpenStatusBar"/><title type='text'>Capricornus Developers</title><subtitle type='html'>Android アプリの開発を中心としたブログです。</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://capricornus-developers.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3396652205920008850/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://capricornus-developers.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Capricornus</name><uri>http://www.blogger.com/profile/14665425469761012803</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3396652205920008850.post-7356797101637630209</id><published>2011-05-10T13:01:00.000+09:00</published><updated>2011-05-10T13:01:09.410+09:00</updated><title type='text'>XMLからメニューを作成する方法</title><content type='html'>XMLからメニューを作成する方法&lt;br /&gt;
android.view.MenuInflater の &lt;a href=&quot;http://developer.android.com/reference/android/view/MenuInflater.html#inflate(int, android.view.Menu)&quot;&gt;inflate&lt;/a&gt; を使用することで実装できます。&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;res\menu に作成したいメニューのXMLファイルを作成します。&lt;/div&gt;&lt;ul&gt;&lt;li&gt;id はメニューを識別するユニークなキーを設定&lt;/li&gt;
&lt;li&gt;title はメニューに表示されるテキストを指定&lt;/li&gt;
&lt;li&gt;icon はメニューに表示されるアイコンを指定&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
[setting.xml]&lt;br /&gt;
&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;&lt;br /&gt;
&amp;lt;menu xmlns:android=&quot;&lt;a href=&quot;http://schemas.android.com/apk/res/android&quot;&gt;http://schemas.android.com/apk/res/android&lt;/a&gt;&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;item &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id=&quot;@+id/SettingAboutMenuItem&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:title=&quot;@string/menu_item_about&quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:icon=&quot;@android:drawable/ic_menu_info_details&quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/menu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
表示したい Activity の onCreateOptionsMenu をオーバーライドします。&lt;br /&gt;
inflater.inflate で前述のメニューXMLのリソースIDを指定します。&lt;br /&gt;
onOptionsItemSelected をオーバーライドすることでイベントを処理します。&lt;br /&gt;
&lt;br /&gt;
[SettingActivity.java]&lt;br /&gt;
package jp.co.capricornus.sample;&lt;br /&gt;
&lt;br /&gt;
// import 部分は省略&lt;br /&gt;
&lt;br /&gt;
public class SettingActivity extends Activity {&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public boolean onCreateOptionsMenu(Menu menu) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MenuInflater inflater = getMenuInflater();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; inflater.inflate(R.menu.setting, menu);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public boolean onOptionsItemSelected(MenuItem item) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (item.getItemId()) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case R.id.SettingAboutMenuItem:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 処理内容は省略&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}</content><link rel='replies' type='application/atom+xml' href='http://capricornus-developers.blogspot.com/feeds/7356797101637630209/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://capricornus-developers.blogspot.com/2011/05/xml.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3396652205920008850/posts/default/7356797101637630209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3396652205920008850/posts/default/7356797101637630209'/><link rel='alternate' type='text/html' href='http://capricornus-developers.blogspot.com/2011/05/xml.html' title='XMLからメニューを作成する方法'/><author><name>Capricornus</name><uri>http://www.blogger.com/profile/14665425469761012803</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3396652205920008850.post-911980418212105612</id><published>2011-05-10T12:40:00.000+09:00</published><updated>2011-05-10T12:40:35.337+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="開発"/><title type='text'>IDを指定してリソースを取得する方法</title><content type='html'>android.content.res.Resources クラスの &lt;a href=&quot;http://developer.android.com/reference/android/content/res/Resources.html#getIdentifier(java.lang.String, java.lang.String, java.lang.String)&quot;&gt;getIdentifier()&lt;/a&gt; を使用することで取得可能です。&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;（メソッド）&lt;br /&gt;
public int getIdentifier (String name, String defType, String defPackage) &lt;br /&gt;
&lt;ul&gt;&lt;li&gt;name&amp;nbsp; リソース名&lt;/li&gt;
&lt;li&gt;defType&amp;nbsp; drawableなどの種類&lt;/li&gt;
&lt;li&gt;defPackage&amp;nbsp; パッケージ名&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
（使い方）&lt;br /&gt;
int id = context.getResources().getIdentifier(&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;app_name&quot;, &quot;string&quot;, context.getPackageName());</content><link rel='replies' type='application/atom+xml' href='http://capricornus-developers.blogspot.com/feeds/911980418212105612/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://capricornus-developers.blogspot.com/2011/05/id.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3396652205920008850/posts/default/911980418212105612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3396652205920008850/posts/default/911980418212105612'/><link rel='alternate' type='text/html' href='http://capricornus-developers.blogspot.com/2011/05/id.html' title='IDを指定してリソースを取得する方法'/><author><name>Capricornus</name><uri>http://www.blogger.com/profile/14665425469761012803</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3396652205920008850.post-1565743403409711178</id><published>2011-05-10T12:39:00.000+09:00</published><updated>2011-05-10T12:39:26.464+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="開発"/><title type='text'>複数のサイズを持つウィジェットの作り方</title><content type='html'>あまり情報が載っていなかったのでメモしておきます。&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;登録したいウィジェットを AndroidManifest.xml に追加します。&lt;br /&gt;
変更するポイントは次の通りです。&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;receiver の android:name は AppWidgetProvider を継承したクラスを記述する&lt;/li&gt;
&lt;li&gt;android:label はウィジェット選択時に表示されるメッセージを設定する&lt;/li&gt;
&lt;li&gt;meta-data には res\xml に作成する appwidget-provider リソースを指定する&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;[AndroidManifest.xml]&lt;br /&gt;
&amp;lt;application &lt;br /&gt;
&amp;nbsp;android:icon=&quot;@drawable/icon&quot;&lt;br /&gt;
&amp;nbsp;android:label=&quot;@string/app_name&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;lt;receiver&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:name=&quot;.Widget1x1Provider&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;android:label=&quot;@string/widget_1x1_name&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;intent-filter&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;action android:name=&quot;android.appwidget.action.APPWIDGET_UPDATE&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/intent-filter&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta-data&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:name=&quot;android.appwidget.provider&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:resource=&quot;@xml/widget_1x1&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/receiver&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;lt;receiver&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:name=&quot;.Widget2x2Provider&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;android:label=&quot;@string/widget_2x2_name&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;intent-filter&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;action android:name=&quot;android.appwidget.action.APPWIDGET_UPDATE&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/intent-filter&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta-data&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:name=&quot;android.appwidget.provider&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:resource=&quot;@xml/widget_2x2&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/receiver&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;lt;receiver&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:name=&quot;.Widget4x4Provider&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;android:label=&quot;@string/widget_4x4_name&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;intent-filter&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;action android:name=&quot;android.appwidget.action.APPWIDGET_UPDATE&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/intent-filter&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta-data&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:name=&quot;android.appwidget.provider&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:resource=&quot;@xml/widget_4x4&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/receiver&amp;gt;&lt;br /&gt;
&amp;lt;/application&amp;gt;&lt;br /&gt;
&lt;br /&gt;
android:resource で指定するXMLは以下のような感じです。&lt;br /&gt;
ウィジェット別にレイアウトが変わる場合は android:initialLayout を変更します。&lt;br /&gt;
なお、今回はサイズに関わらず同じレイアウトを使う前提です。&lt;br /&gt;
&lt;br /&gt;
[widget_2x2.xml]&lt;br /&gt;
&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;&lt;br /&gt;
&amp;lt;appwidget-provider &lt;br /&gt;
&amp;nbsp;xmlns:android=&quot;&lt;a href=&quot;http://schemas.android.com/apk/res/android&quot;&gt;http://schemas.android.com/apk/res/android&lt;/a&gt;&quot;&lt;br /&gt;
&amp;nbsp;android:initialLayout=&quot;@layout/widget&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; android:minWidth=&quot;146dp&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; android:minHeight=&quot;146dp&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; android:updatePeriodMillis=&quot;0&quot;&amp;gt;&lt;br /&gt;
&amp;lt;/appwidget-provider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
各ウィジェットの別に処理を記述するのもいいのですが、&lt;br /&gt;
クラスの宣言に abstract を指定することでコーディングを減らすことが可能です。&lt;br /&gt;
意味がわからない方は java 抽象クラス&amp;nbsp;で検索してみてください。&lt;br /&gt;
&lt;br /&gt;
[WidgetProviderBase.java]&lt;br /&gt;
package jp.co.capricornus.sample;&lt;br /&gt;
&lt;br /&gt;
// import 部分は省略&lt;br /&gt;
&lt;br /&gt;
public abstract class WidgetProviderBase extends AppWidgetProvider {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; super.onUpdate(context, appWidgetManager, appWidgetIds);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 処理内容は省略&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
AndroidManifest.xml の receiver android:name で指定されたクラスを追加します。&lt;br /&gt;
レイアウトが同じでウィジェットの処理が変わらない場合は特に記述する必要はありません。&lt;br /&gt;
&lt;br /&gt;
package jp.co.capricornus.sanskrittattoo;&lt;br /&gt;
public class Widget1x1Provider extends WidgetProviderBase {&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
AndroidManifest&amp;nbsp;の指定だけで実装できると簡単でいいのですが、&lt;br /&gt;
receiver で同一の android:name は無視されてしまうようです。&lt;br /&gt;
SDK のコードを確認したほうがいいのかも…</content><link rel='replies' type='application/atom+xml' href='http://capricornus-developers.blogspot.com/feeds/1565743403409711178/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://capricornus-developers.blogspot.com/2011/05/blog-post_10.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3396652205920008850/posts/default/1565743403409711178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3396652205920008850/posts/default/1565743403409711178'/><link rel='alternate' type='text/html' href='http://capricornus-developers.blogspot.com/2011/05/blog-post_10.html' title='複数のサイズを持つウィジェットの作り方'/><author><name>Capricornus</name><uri>http://www.blogger.com/profile/14665425469761012803</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3396652205920008850.post-129119357010977948</id><published>2011-05-07T20:37:00.000+09:00</published><updated>2011-05-07T20:37:03.214+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="開発"/><title type='text'>ブロードキャストメッセージのデバッグ方法</title><content type='html'>&lt;a href=&quot;http://d.hatena.ne.jp/rmiya/comment?date=20100930&quot;&gt;にゃんだふる日記&lt;/a&gt;さんのところに詳しい解説がありますが、&lt;br /&gt;
最近物忘れが激しいのでメモしておきます。&lt;br /&gt;
&lt;br /&gt;
adb shell&lt;br /&gt;
am broadcast -a android.intent.action.BOOT_COMPLETED</content><link rel='replies' type='application/atom+xml' href='http://capricornus-developers.blogspot.com/feeds/129119357010977948/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://capricornus-developers.blogspot.com/2011/05/blog-post_07.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3396652205920008850/posts/default/129119357010977948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3396652205920008850/posts/default/129119357010977948'/><link rel='alternate' type='text/html' href='http://capricornus-developers.blogspot.com/2011/05/blog-post_07.html' title='ブロードキャストメッセージのデバッグ方法'/><author><name>Capricornus</name><uri>http://www.blogger.com/profile/14665425469761012803</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3396652205920008850.post-7441270639716557049</id><published>2011-05-07T20:10:00.001+09:00</published><updated>2011-05-10T12:39:01.480+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="開発"/><title type='text'>リフレクションでステータスバーを展開する</title><content type='html'>OpenStatusBar で実装している方法は以下のとおりです。&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;[Source]&lt;br /&gt;
// リフレクションでステータスバーを展開する&lt;br /&gt;
Class&amp;lt;?&amp;gt; managerClass = Class.forName(&quot;android.app.StatusBarManager&quot;);&lt;br /&gt;
Method methodExpand = managerClass.getMethod(&quot;expand&quot;);&lt;br /&gt;
Object statusbarService = context.getSystemService(&quot;statusbar&quot;);&lt;br /&gt;
methodExpand.invoke(statusbarService);&lt;br /&gt;
&lt;br /&gt;
[AndroidManifest.xml]&lt;br /&gt;
&amp;lt;uses-permission android:name=&quot;android.permission.EXPAND_STATUS_BAR&quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.androidjavadoc.com/&quot;&gt;Android JavaDoc&lt;/a&gt; を見てみると &lt;a href=&quot;http://www.androidjavadoc.com/1.1_r1_src/android/app/StatusBarManager.html#collapse()&quot;&gt;collapse&lt;/a&gt; や &lt;a href=&quot;http://www.androidjavadoc.com/1.1_r1_src/android/app/StatusBarManager.html#toggle()&quot;&gt;toggle&lt;/a&gt; といったメソッドも隠れています。&lt;br /&gt;
ただ使える場所は通知領域くらいしか思いつきませんが…</content><link rel='replies' type='application/atom+xml' href='http://capricornus-developers.blogspot.com/feeds/7441270639716557049/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://capricornus-developers.blogspot.com/2011/05/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3396652205920008850/posts/default/7441270639716557049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3396652205920008850/posts/default/7441270639716557049'/><link rel='alternate' type='text/html' href='http://capricornus-developers.blogspot.com/2011/05/blog-post.html' title='リフレクションでステータスバーを展開する'/><author><name>Capricornus</name><uri>http://www.blogger.com/profile/14665425469761012803</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3396652205920008850.post-7046433429900745005</id><published>2011-05-07T13:56:00.001+09:00</published><updated>2011-05-10T12:38:41.107+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="OpenStatusBar"/><title type='text'>OpenStatuBar をバージョンアップ</title><content type='html'>今回はマーケットのアップグレード方法の調査を兼ねて修正版を公開しました。&lt;br /&gt;
といっても単純にウィジェットのイメージ配置を中央に変更しただけだったり…&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;アプリのレイアウト指定は次のような感じになっています。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ImageView &lt;br /&gt;
&amp;nbsp;android:layout_width=&quot;fill_parent&quot;&lt;br /&gt;
&amp;nbsp;android:layout_height=&quot;fill_parent&quot;&lt;br /&gt;
&amp;nbsp;android:scaleType=&quot;center&quot;&lt;br /&gt;
&amp;nbsp;android:src=&quot;@drawable/icon&quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Android Wiki* さんの UIコンポーネント/ImageView を参考にさせて頂きました。&lt;br /&gt;
&lt;a href=&quot;http://wikiwiki.jp/android/?UI%A5%B3%A5%F3%A5%DD%A1%BC%A5%CD%A5%F3%A5%C8%2FImageView&quot;&gt;http://wikiwiki.jp/android/?UI%A5%B3%A5%F3%A5%DD%A1%BC%A5%CD%A5%F3%A5%C8%2FImageView&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://capricornus-developers.blogspot.com/feeds/7046433429900745005/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://capricornus-developers.blogspot.com/2011/05/openstatubar.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3396652205920008850/posts/default/7046433429900745005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3396652205920008850/posts/default/7046433429900745005'/><link rel='alternate' type='text/html' href='http://capricornus-developers.blogspot.com/2011/05/openstatubar.html' title='OpenStatuBar をバージョンアップ'/><author><name>Capricornus</name><uri>http://www.blogger.com/profile/14665425469761012803</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3396652205920008850.post-3575577115950279358</id><published>2011-05-07T01:53:00.001+09:00</published><updated>2011-05-10T12:37:28.887+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="OpenStatusBar"/><title type='text'>OpenStatusBar Androidマーケットへ公開</title><content type='html'>アプリ開発から公開までの検証を行うために簡単なツールを作成してみました。&lt;br /&gt;
ウィジェットをクリックすることで通知バーを開くことができます。&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://market.android.com/details?id=jp.co.capricornus.openstatusbar&quot;&gt;https://market.android.com/details?id=jp.co.capricornus.openstatusbar&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;margin: 0px;&quot;&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;実際のところ「HelloStatusBar」で十分だったりするのですが、&lt;/div&gt;&lt;div style=&quot;margin: 0px;&quot;&gt;ホーム画面のカスタマイズでアイコン差し替えが面倒というのもあり、&lt;/div&gt;&lt;div style=&quot;margin: 0px;&quot;&gt;それなら自前で作ってしまえばいいじゃないかと思ったのが始まりです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;ただ、ウィジェットの配置エリア内のイメージ表示が左上になっているとか&lt;br /&gt;
イメージの変更ができないとか改良する余地はあるので次回への課題とします。</content><link rel='replies' type='application/atom+xml' href='http://capricornus-developers.blogspot.com/feeds/3575577115950279358/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://capricornus-developers.blogspot.com/2011/05/openstatusbar-android.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3396652205920008850/posts/default/3575577115950279358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3396652205920008850/posts/default/3575577115950279358'/><link rel='alternate' type='text/html' href='http://capricornus-developers.blogspot.com/2011/05/openstatusbar-android.html' title='OpenStatusBar Androidマーケットへ公開'/><author><name>Capricornus</name><uri>http://www.blogger.com/profile/14665425469761012803</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>