<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
   <title>Android アプリ の 研究所 アンドロイド ナビ</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/" />
   <link rel="self" type="application/atom+xml" href="http://www.android-navi.com/atom.xml" />
   <id>tag:www.android-navi.com,2012://8</id>
   <updated>2012-02-29T10:38:47Z+09:00</updated>
   <subtitle>アンドロイド ナビ 公式サイト。 Android （ アンドロイド ） 携帯 の アプリ 情報や Android （ アンドロイド ）関連情報満載の 研究所 サイト。たまにゴシップも。</subtitle>
   <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 5.0</generator>


<entry>
   <title>WebView内の入力フォームでソフトウェアキーボードが出ない</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/android_1/webview_2/" />
   <id>tag:www.android-navi.com,2012://8.1719</id>
   
   <published>2012-02-27T08:50:35Z+09:00</published>
   <updated>2012-02-29T10:38:47Z+09:00</updated>
   
   <summary>WebView（アプリ内ブラウザ）で表示しているページに入力フォームがあった場合...</summary>
   <author>
      <name>管理者</name>
      
   </author>
   
      <category term="Android アプリ 開発 情報" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="2159" label="WebView" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="2163" label="アプリ内ブラウザ" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1290" label="ソフトウェアキーボード" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="2164" label="入力フォーム" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      <![CDATA[WebView（アプリ内ブラウザ）で表示しているページに入力フォームがあった場合、それをクリックしてもソフトウェアキーボードが出てこないことがあります。

ログイン画面でIDやパスワードの入力フォームが表示されているのに、クリックしても何もおこらないと、ログイン画面しか表示されないアプリになっちゃったりします。

これはどうも、WebViewにフォーカスが当たってないことが原因のようです。

「フォーカスが当たる」というのがどういう状態なのかイマイチわかってないところはありますが、次のようにすると解決するようです。

<pre class="java" name="code">
//入力フォーム選択時にフォーカスを当てる
webView2.requestFocus(View.FOCUS_DOWN);
</pre>
　]]>
      <![CDATA[ただし、私の開発しているアプリでは、単純に上記の設定をしても上手くいかなかったので、ページの読み込みが終わった時点で設定するようにしたところ上手く動作しました。

<pre name="code" class="java">
webView.setWebViewClient(new WebViewClient() {
	@Override
	public void onPageStarted(WebView view, String url, Bitmap favicon) {
		super.onPageStarted(view, url, favicon);
	}
　
	@Override
	public void onPageFinished(WebView view, String url) {
		super.onPageFinished(view, url);
　		
		//入力フォーム選択時にフォーカスを当てる
		webView.requestFocus(View.FOCUS_DOWN);
　        		
	}
});
</pre>

　]]>
   </content>
</entry>

<entry>
   <title>WebView内でのレイアウト崩れを回避する方法</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/android_1/webview_1/" />
   <id>tag:www.android-navi.com,2012://8.1718</id>
   
   <published>2012-02-27T08:44:34Z+09:00</published>
   <updated>2012-02-27T08:50:03Z+09:00</updated>
   
   <summary>標準ブラウザで見ると、ちゃんと表示されるのに、 WebView（アプリ内ブラウザ...</summary>
   <author>
      <name>管理者</name>
      
   </author>
   
      <category term="Android アプリ 開発 情報" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="2159" label="WebView" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="559" label="レイアウト" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="2162" label="崩れる" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      <![CDATA[標準ブラウザで見ると、ちゃんと表示されるのに、
WebView（アプリ内ブラウザ）で同じページを閲覧すると
レイアウトが微妙に崩れたりすることがあります。

これはWebViewで表示したときに
右端にスクロールバー用の領域が10px分
自動的に確保されてしまうために起こっているのかもしれません。

これを防ぐ設定は以下の通り。

<pre name="code" class="java">
//右10pxの余白を消す
webView.setVerticalScrollbarOverlay(true);
</pre>

これで10px分の領域が消えるので、正常に表示されるはずです。
　]]>
      
   </content>
</entry>

<entry>
   <title>WebViewのユーザーエージェントを取得・変更する方法</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/android_1/webview/" />
   <id>tag:www.android-navi.com,2012://8.1717</id>
   
   <published>2012-02-27T08:24:53Z+09:00</published>
   <updated>2012-02-27T08:43:38Z+09:00</updated>
   
   <summary>アプリ内ブラウザ WebView のユーザーエージェントは このようにすると取得...</summary>
   <author>
      <name>管理者</name>
      
   </author>
   
      <category term="Android アプリ 開発 情報" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="481" label="Android" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="2159" label="WebView" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="2160" label="ユーザーエージェント" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="711" label="取得" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="2161" label="変更" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      <![CDATA[アプリ内ブラウザ WebView のユーザーエージェントは
このようにすると取得することができます。

<pre class="java" name="code">
String userAgentString = webView.getSettings().getUserAgentString();
Log.v("CHECK", userAgentString);
</pre>
　
　
ちなみに、Xperiaのユーザーエージェントはこんな感じ。

<pre class="xml" name="code">
Mozilla/5.0 (Linux; U; Android 2.1-update1; ja-jp; SO-01B Build/2.0.2.B.0.29) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17
</pre>
　
　
HTC Ariaのユーザーエージェントはこう。

<pre class="xml" name="code">
Mozilla/5.0 (Linux; U; Android 2.2.1; ja-jp; HTC Liberty Build/FRG83) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
</pre>
　
　
Androidなのに『Mobile Safari』なのが面白いところですね。
これはAndroidの標準ブラウザやWebViewが
<a href="http://ja.wikipedia.org/wiki/WebKit" target="_blank">WebKit</a>を元に開発されているからです。
　]]>
      <![CDATA[また、ユーザーエージェントを変更したいときは
.setUserAgentString()
というメソッドが用意されています。

たとえば、ユーザーエージェントの末尾に『AppName』という文字列を追加したければ

<pre class="java" name="code">
String userAgentString = webView.getSettings().getUserAgentString();
Log.v("CHECK", userAgentString);
webView.getSettings().setUserAgentString(userAgentString+" AppName");
userAgentString = webView.getSettings().getUserAgentString();
Log.v("CHECK", userAgentString);
</pre>
とすればOKです。

（参考）<a href="http://www.adakoda.com/adakoda/2009/07/android-api-1.html" target="_blank">ユーザーエージェントに関する非推奨APIが面白い件  - adakoda</a>
　
　
　
上記はアプリ開発時にユーザーエージェントをいじる方法ですが
ユーザーとして標準ブラウザのユーザーエージェントを変更する方法も見つけました。

・<a href="http://d.hatena.ne.jp/pon0927/20120206/1328539617" target="_blank">標準ブラウザのUAを変更する方法</a>

参考までにどーぞ。

　]]>
   </content>
</entry>

<entry>
   <title>[PR] お気に入りのアプリが見つかる！appliko（アプリコ）</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/cat/pr_appliko/" />
   <id>tag:www.android-navi.com,2012://8.1716</id>
   
   <published>2012-02-26T03:28:05Z+09:00</published>
   <updated>2012-02-26T04:21:37Z+09:00</updated>
   
   <summary>AndroidもiPhoneも毎日どんどんアプリが増えてますが ぶっちゃけ、どの...</summary>
   <author>
      <name>管理者</name>
      
   </author>
   
      <category term="アプリ 紹介" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="2155" label="appliko" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="2156" label="アプリコ" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="2157" label="アプリ紹介" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      <![CDATA[AndroidもiPhoneも毎日どんどんアプリが増えてますが
ぶっちゃけ、どのアプリがいいのかわかりません。

iPhoneアプリであればAppStoreがある程度おすすめしてくれますが
Androidマーケットは、正直なところ使いやすいとは言いづらいし・・・。

SNSのコミュニティをのぞいてみても
『おすすめのアプリ教えてください～！』
って書き込みがチラチラ。
（それに対するコメントは開発者による自作アプリのPRばっかりだったりｗ）

みんな、おもしろい・使いやすい・便利なアプリを求めてるんですね。

アプリを探すなら、やっぱりアプリ紹介サイトがいいです。
Androidマーケットにも「スタッフのおすすめ」コーナーがあるけど
第三者がレビューしてるもののほうがわかりやすい。

アプリ紹介サイト<a href="http://appliko.jp/" target="_blank">『appliko （アプリコ）』</a>も、そんなアプリ紹介サイトのひとつです。

公式アプリもあります。
<img alt="appliko01.png" src="http://www.android-navi.com/img/2012/appliko01.png" width="320" height="480" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" />
　　]]>
      <![CDATA[アプリのランキングや特集、カテゴリー分けもあり便利です。
世代・性別ランキングでは、「20代女性」「30代男性」といったカテゴリー別の人気アプリランキングが見られるのがいいですね。
<img alt="appliko02.png" src="http://www.android-navi.com/img/2012/appliko02.png" width="320" height="480" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" />


気になるアプリはブクマのように「お気に入り」にいれておくこともできます。
<img alt="appliko03.png" src="http://www.android-navi.com/img/2012/appliko03.png" width="320" height="480" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" />


また、「端末アクセサリ」で、自分の使っている携帯端末の
スタッフレビューやみんなのレビューも見ることができて、
『あ～、自分のスマホはこんな風に評価されてるのね』ってわかります。
<img alt="appliko04.png" src="http://www.android-navi.com/img/2012/appliko04.png" width="320" height="480" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" />

他の端末のレビューも今後の買い替えで検討したいときに便利ですね。
（新商品は難しいかも？）


このアプリの中で一番目を惹かれてしまったのは<strong>「本日のアプリ娘・男」</strong>
<img alt="appliko05.png" src="http://www.android-navi.com/img/2012/appliko05.png" width="320" height="480" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" />

かわいい女の子や美青年が日替わりで
自分の携帯やおすすめアプリを紹介してくれています。

ただ、惜しむらくは、バックナンバーの数が少ないこと。
執筆現在では4人のアプリ娘しか見ることができません。

アプリコさん、改善アップデートお願いします～！！


■applikoアプリコ公式サイト
　<a href="http://appliko.jp/" target="_blank">http://appliko.jp/</a>

■アプリダウンロードページ（Androidマーケット）
　<a href="https://market.android.com/details?id=jp.appliko" target="_blank">https://market.android.com/details?id=jp.appliko</a>
　
　]]>
   </content>
</entry>

<entry>
   <title>Androidでゲームアプリを作るのに便利なゲームエンジン</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/android_1/android_130/" />
   <id>tag:www.android-navi.com,2012://8.1707</id>
   
   <published>2012-02-25T03:23:00Z+09:00</published>
   <updated>2012-02-25T04:24:51Z+09:00</updated>
   
   <summary>いろんな種類のアプリを開発していますが ゲームアプリだけは別物だよなぁ、なんて思...</summary>
   <author>
      <name>管理者</name>
      
   </author>
   
      <category term="Android アプリ 開発 情報" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="481" label="Android" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="484" label="アプリ" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="537" label="ゲーム" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="2132" label="ゲームエンジン" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="2133" label="ゲームフレームワーク" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      いろんな種類のアプリを開発していますが
ゲームアプリだけは別物だよなぁ、なんて思ってました。

だって、重力計算とか、あたり判定とか、大変じゃないですか。
ゲーム開発会社ならともかく、個人でゲームアプリ出してる人とかいて
「よく作るなー」って感心してました。

そしたら、「ゲームエンジン（ゲームフレームワーク）」なんて便利なものがあるんですね。
知らなかった！（無知）

少しだけ興味が湧いたので、少しだけ調べてみました。
　

      <![CDATA[<strong>【cocos2d-android1】</strong>

2Dゲーム用のフレームワークみたいです。

こんなゲーム↓が作れるみたい。
<img alt="Android ゲームエンジン" src="http://www.android-navi.com/assets_c/2012/02/shooting-thumb-470x314-1941.png" width="470" height="314" class="mt-image-none" style="" />

サンプルコードは<a href="http://dan.clarke.name/2011/04/how-to-make-a-simple-android-game-with-cocos2d/" target="_blank">このサイト</a>の<a href="http://dan.clarke.name/wp-content/uploads/resources/cocos2d/Cocos2DSimpleGameTut1.zip" target="_blank">full source code here</a>からダウンロードできます。
解説も詳しいので非常に参考になります。

ダウンロードは<a href="https://github.com/ZhouWeikuan/cocos2d" target="_blank">github</a>から。

使い方は下記サイトで詳しく解説してくれてます。
・<a href="https://sites.google.com/a/gclue.jp/android-docs-2009/cocos2dno-zumi-rumi" target="_blank">Cocos2Dの組み込み - AndroDocs</a>
・<a href="http://ockhamprobatio.blog75.fc2.com/blog-entry-581.html" target="_blank">cocos2d-android を導入してみる。 - コンピュータと、猫背の甘さ。</a>


<strong>【AndEngine】</strong>

こちらも2Dゲームエンジンですが、
物理計算とかコントロール制御が得意みたいです。

「あのゲームアプリ、これ使ってるのかー」
なんて納得してみたり。

<object data="http://www.youtube.com/v/Wq-XJMJEAnE" type="application/x-shockwave-flash" width="470" height="394"><param name="movie" value="http://www.youtube.com/v/Wq-XJMJEAnE" /><param name="wmode" value="transparent" /></object>

<object data="http://www.youtube.com/v/k4WUfQMjvzg" type="application/x-shockwave-flash" width="470" height="394"><param name="movie" value="http://www.youtube.com/v/k4WUfQMjvzg" /><param name="wmode" value="transparent" /></object>

公式サイトはこちら。
<a href="http://www.andengine.org/" target="_blank">http://www.andengine.org/</a>

サンプルも豊富でフォーラムも活発みたいなので、開発しやすそうです。
サンプルアプリは触ってるだけでも楽しいので
ぜひ触ってみてください。

　
<strong>【その他のゲームエンジン】</strong>

他にもたくさんのゲームエンジンがあるみたいですが
下記にまとまってましたのでご紹介だけ。

・<a href="http://blog.verygoodtown.com/2011/05/open-source-android-game-engines/" target="_blank">Androidで使えるゲームエンジン色々 - Web活メモ帳</a>

　]]>
   </content>
</entry>

<entry>
   <title>incorrect AVA format エラー（署名作成時）</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/android_1/incorrect_ava_format/" />
   <id>tag:www.android-navi.com,2012://8.1706</id>
   
   <published>2012-02-25T03:08:45Z+09:00</published>
   <updated>2012-02-25T03:19:38Z+09:00</updated>
   
   <summary>署名作成時に Keytool-error: java.io.IOExceptio...</summary>
   <author>
      <name>管理者</name>
      
   </author>
   
      <category term="Android アプリ 開発 情報" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="598" label="エラー" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="2131" label="署名" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      <![CDATA[署名作成時に
<span class="bold">Keytool-error: java.io.IOException : Incorrect AVA format</span>
というエラーが出ることがあります。

<img alt="blog003.JPG" src="http://www.android-navi.com/img/2012/blog003.JPG" width="441" height="132" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" />

これは組織名などの欄に
無効な文字が入った時に出るエラーのようです。

「, (カンマ)」あたりが怪しいので、チェックしてみるといいでしょう。
　]]>
      
   </content>
</entry>

<entry>
   <title>アイデアがどんどん湧く！ 9マスメモアプリ</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/cat/_9/" />
   <id>tag:www.android-navi.com,2011://8.1458</id>
   
   <published>2011-11-13T05:34:43Z+09:00</published>
   <updated>2011-11-13T05:59:42Z+09:00</updated>
   
   <summary>先日、2011年11月11日の11時11分。 この100年に一度の１ならび、 し...</summary>
   <author>
      <name>管理者</name>
      
   </author>
   
      <category term="アプリ 紹介" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="1836" label="9マス" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1837" label="アイデア" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1838" label="佐藤伝" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      <![CDATA[先日、2011年11月11日の11時11分。

この100年に一度の１ならび、
しかもエネルギーの高まる満月という奇跡のタイミングに
新しいアプリをリリースすることができました。

リリースしたアプリはこちら。

<span style="color : #ff0000;"><strong>『9マスメモ』</strong></span>
<img alt="map2011_01.png" src="http://www.android-navi.com/img/2011/map2011_01.png" width="320" height="480" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" />
]]>
      <![CDATA[『9マスメモ』アプリは、
全世界で85万部を超えるベストセラー作家であり
9マス日記や習慣の専門家として活躍されている
<a href="http://mandalanikki.com/" target="_blank">佐藤伝さん</a>の公式アプリです。


『9マスメモ』アプリは
すでに発売され大好評の問題解決ツール『9マス付箋』のアプリバージョンです。

9マスの中心に解決したい問題やテーマを記入し
そのまわりのマスを埋めていくことで悩みがみるみる解決していきます。

悩みだけでなく、夢ややりたいことを書き出してもOKです。
<img alt="map2011_02.png" src="http://www.android-navi.com/img/2011/map2011_02.png" width="320" height="480" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" />
明確化は実現への第一歩ですからね。


マスをタップしてどんどん書きこみましょう。
<img alt="map2011_03.png" src="http://www.android-navi.com/img/2011/map2011_03.png" width="320" height="480" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" />


入力に迷った時には、ガイドを使って補助してもらいましょう。
<img alt="map2001_04.png" src="http://www.android-navi.com/img/2011/map2001_04.png" width="320" height="480" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" />


使い方がわからなくなったときのためにマニュアルもついてます。
<img alt="map2011_05.png" src="http://www.android-navi.com/img/2011/map2011_05.png" width="320" height="480" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" />


初期インストール時にはサンプルも付いているので、参考にしてくださいね。
<img alt="map2011_06.png" src="http://www.android-navi.com/img/2011/map2011_06.png" width="320" height="480" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" />


メモは画像でシェア（共有）することができます。
EvernoteやDropboxに入れてどこでも見れるようにしましょう。
<img alt="map2011_07.png" src="http://www.android-navi.com/img/2011/map2011_07.png" width="320" height="480" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" />


カラフルな色使いも脳を刺激し、アイデアが湧きやすくなるように設計してます。

紙と違ってアプリなので、いくらでも使い放題。
このアプリで身の回りのことをどんどん解決しちゃってください。


■9マスアプリ公式サイト
　<a href="http://mandalanikki.com/dmap/" target="_blank">http://mandalanikki.com/dmap/</a>

■Androidマーケット詳細ページ
　<a href="https://market.android.com/details?id=com.iNMAX.MAP" target="_blank">https://market.android.com/details?id=com.iNMAX.MAP</a>

　]]>
   </content>
</entry>

<entry>
   <title>Androidで電子書籍</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/android/android_129/" />
   <id>tag:www.android-navi.com,2011://8.1429</id>
   
   <published>2011-11-05T03:37:39Z+09:00</published>
   <updated>2011-11-05T04:17:56Z+09:00</updated>
   
   <summary>Androidアプリの開発者として また純粋にAndroidのファンとして 日夜...</summary>
   <author>
      <name>管理者</name>
      
   </author>
   
      <category term="Android関連" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="481" label="Android" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1813" label="PuBooks" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="484" label="アプリ" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1814" label="電子書籍" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      <![CDATA[Androidアプリの開発者として
また純粋にAndroidのファンとして
日夜いろんなアプリに触れたりしてるわけですが、
実は一番重宝しているのは <span style="color : #ff0000;"><strong>電子書籍</strong></span> だったりします。

けっこう増えてきましたよね、電子書籍アプリ。

私はそこそこ本を読むほうなんですが
電子書籍アプリの便利さに感動してます。
　]]>
      <![CDATA[一般の紙の書籍もいいんですが
持ち歩くのが大変だったり、本棚がすぐにいっぱいになってしまったり・・・。

電子書籍は、購入も保存も簡単なので
Android携帯の中に保存しておいて読みたいときにサッと読めるのが気に入ってます。

Android携帯ならだいたいいつも身につけているので
待ち時間や電車の中、トイレ中とか、
ちょっとしたタイミングで読めるのが心地いい♪

アプリなので10冊とか20冊とか持ってても重くないし。

しかも紙の書籍に比べて安いんですよね～

1500円とかする書籍が、内容は変わらないのに
電子書籍アプリだと数百円で買えちゃったりします。

セールとかやってると、さらにお得だったり。

そんなこんなで、気になった電子書籍は、ポコポコ買ってたりします。


そんな便利な電子書籍ですが、1つだけ難点が。

まだ編集社も手探り状態だからでしょうか、
本の種類が圧倒的に少ない・・・。

欲しい本の電子書籍アプリが必ずしもあるとは限りません。
というか、むしろ無いほうが多い・・・。


だから、一般の書店並に、タイトルがずらーーっっっと並んでる
電子書籍ショップがあったらいいなーと思ってました。


そしたら出てきましたよ。

最近見つけた電子書籍ストアです▼
<script type="text/javascript" src="http://www.pubooks.jp/sitetop.js"></script><a href="http://www.pubooks.jp/" onclick="return sitetop(1981);">ドキドキワクワク電子書籍ストア-PuBooks-パブックス</a>

まぁまだラインナップは少なめなんですが、
普通のジャンル検索のほかに
『元気になりたいときに読む本』とか『パワーがもらえる本』とか
感情での検索ができたりして、ちょっとおもしろいストアです。

これからどんどんタイトルが増えて行くことを期待してます。


あとこのストア、アフィリエイトもやっているようで
アフィリエイター登録をして自己アフィリで購入できる書籍も多いみたいです。

たとえば、ちょっと気になってたこの本。
<script type="text/javascript" src="http://www.pubooks.jp/click.js"></script><a href="http://www.pubooks.jp/img/limited/s_yaruki.html" onClick="return clickCount(1981, 201);"><img src="http://www.pubooks.jp/img/sp_201.jpg" border="0" width="90" height="90" /></a>

購入価格は500円なんですが、
自己アフィリOKで報酬が400円なので
実質100円で購入できました。

書籍版は定価1365円なので、超お得です。

アフィリエイター登録は<script type="text/javascript" src="http://www.pubooks.jp/two.js"></script><a href="http://www.pubooks.jp/" onclick="return two(1981);">こちらから行なえます。</a>


<span style="color : #ff0000;">【※注意※】</span>

Android携帯で読もうと思って買ったんですが、
電子書籍のファイル形式が通常のPDFではなく
KRPDFというファイル形式でした。
（全てのタイトルがKRPDF形式かはわかりませんが）

この形式のファイルは
サイトからダウンロードできるソフトがないと閲覧できないらしく
さらにそのソフトはAndroidにもiOSにも未対応とのこと・・・。

つまりAndroid携帯では読めませんでした・・・orz

でもPCではちゃんと読めますので、
PCで読むので問題ない方にはオススメです。
（ブラウザでも読めます）

早くスマホ対応してもらえることを願います。

<script type="text/javascript" src="http://www.pubooks.jp/sitetop.js"></script>
<a href="http://www.pubooks.jp/" onclick="return sitetop(1981);"><img src="http://www.pubooks.jp/pb/img/banner/banner5.gif" border="0" /></a>
　]]>
   </content>
</entry>

<entry>
   <title>Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/android_1/installation_error_install_failed_insufficient_storage/" />
   <id>tag:www.android-navi.com,2011://8.1428</id>
   
   <published>2011-11-05T00:56:16Z+09:00</published>
   <updated>2011-11-05T01:05:24Z+09:00</updated>
   
   <summary>Eclipse から実機にアプリをインストールするときに 下記のエラーが出ました...</summary>
   <author>
      <name>管理者</name>
      
   </author>
   
      <category term="Android アプリ 開発 情報" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="1811" label="INSTALL_FAILED_INSUFFICIENT_STORAGE" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      <![CDATA[Eclipse から実機にアプリをインストールするときに
下記のエラーが出ました。

<pre name="code" class="java">
[2011-11-04 11:35:57 - MAP] Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
[2011-11-04 11:35:57 - MAP] Please check logcat output for more details.
[2011-11-04 11:35:57 - MAP] 起動はキャンセルされました!
</pre>
　]]>
      INSTALL_FAILED_INSUFFICIENT_STORAGE
をキーワードに検索してみるといくつか記事がヒットしたんですが
どうも容量不足のときに起こりやすいエラーのようです。

でも見つけた記事ではエミュレーターで起こってる様子。

私のは実機で、
しかも容量は余ってるんだけどなぁ・・・。


「不要なアプリを削除したら直った」
との記述が多かったので
とにかく該当のアプリを一度アンインストールしてみたり
不要なアプリをいくつか削除してみたら確かに直りました。

原因はわかりませんが、解決したのでメモ。
　
   </content>
</entry>

<entry>
   <title>iPhone4S へ iPhone3GS のデータが移行されない時の対処方法</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/iphone/iphone4s_iphone3gs/" />
   <id>tag:www.android-navi.com,2011://8.1351</id>
   
   <published>2011-10-23T14:11:57Z+09:00</published>
   <updated>2011-10-23T14:19:03Z+09:00</updated>
   
   <summary>iPhone4Sをやっと手に入れることができました。 購入したのは、64GB の...</summary>
   <author>
      <name>たま</name>
      
   </author>
   
      <category term="iPhone ネタ" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="1769" label="iPhone3GS" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1740" label="iPhone4S" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1770" label="対処" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1771" label="移行" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      iPhone4Sをやっと手に入れることができました。
購入したのは、64GB のブラックです。
キャリアはソフトバンクです。

予約してたので、発売当日に手に入れることも可能でしたが、
バタバタしてたこともあり、昨日やっとのことで手に入れました。

私はもともと iPhone3GS ユーザーでしたので、
帰宅してから早速 iPhone3GS から iPhone4S へデータ移行を行いました。

iTunesに繋げてウィザード通りにポチポチしていざ移行開始！
順調にデータ移行されていると思いきや、ふと進捗を確認してみると、
あれれ？
な、なんとこれまでダウンロードしてきた全アプリを iPhone4S へ同期しようとしてるじゃありませんか！
3GSには全体の1/3 くらいのアプリしか同期してなかったのに。。。
どうやら 3GS の情報が正しく引き継がれていないようです。

      途中で中止すると更に面倒になると嫌だったので、
この状態で一旦同期させることにしました。

同期完了後に確認してみると、やはり 3GS の情報は引き継がれてませんでした。
システム設定もダメ、アプリ格納フォルダ構成もダメでした。
結局、ダウンロードしたアプリが iPhone4S に同期されただけでした。

ということで、この後どのようにして
iPhone4S に iPhone3GS の情報を引き継いだかを共有したいと思います。

[対処1 ]
１．iPhone3GS を iTunes に繋げてバックアップを取得
２．iPhone4S を iTunes に繋げて復元ボタンをクリック
３．どの時点でのバックアップを元に復元するかを聞かれるので、
　　上記１．で取得したバックアップを指定する

これで無事ほとんどの情報の同期をとることができました！
ただ、システム設定情報であるプロファイル情報が引き継がれてませんでした。
プロファイルとは、ソフトバンクのWi-FiスポットおよびソフトバンクのiPhone専用(i)メールアドレスを
設定するものです。
こちらに関しては、以下の手順で対応しました。

[対処2 ]
１．iPhone4S の Safari を起動する
２．ブックマーク等から My SoftBank にアクセス
３．ソフトバンクWi-Fiスポットをタップ
４．「一括設定」アイコンをタップ

私はこのような手順でなんとか 3GS と同じ環境にすることができましたが、
上記[ 対処1 ]の２．の時に接続した iPhone4S のアイコンを右クリック＞バックアップから復元でもできるということを聞きました。(この方法で問題ないかは試してませんのであしからず。)
時既に遅し。ちょっと回り道しちゃいましたかね。。。

   </content>
</entry>

<entry>
   <title>たーかーのーつーめー</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/cat/post_66/" />
   <id>tag:www.android-navi.com,2011://8.1333</id>
   
   <published>2011-10-22T01:18:57Z+09:00</published>
   <updated>2011-10-22T01:44:07Z+09:00</updated>
   
   <summary>「たーかーのーつーめー」 でおなじみの『鷹の爪団』。 その中で活躍する『吉田くん...</summary>
   <author>
      <name>管理者</name>
      
   </author>
   
      <category term="アプリ 紹介" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="484" label="アプリ" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1761" label="代弁" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1762" label="吉田くん" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1763" label="鷹の爪団" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      <![CDATA[「たーかーのーつーめー」
でおなじみの『鷹の爪団』。

その中で活躍する『吉田くん』のアプリが登場しました。

『吉田の代弁』
<a href="http://www.android-navi.com/img/2011/ss-854-0-0.jpg"><img alt="ss-854-0-0.jpg" src="http://www.android-navi.com/assets_c/2011/10/ss-854-0-0-thumb-470x264-1142.jpg" width="470" height="264" class="mt-image-none" style="" /></a>
]]>
      <![CDATA[使い方はカンタン。

吉田くんに代弁して欲しい言葉を選び
Android端末を口元にあてるだけ。

そうすると吉田くんの口元がパクパク動いて
あなたの代りにいいたいことを代弁してくれます。

<a href="http://www.android-navi.com/img/2011/ss-854-1-0.jpg"><img alt="ss-854-1-0.jpg" src="http://www.android-navi.com/assets_c/2011/10/ss-854-1-0-thumb-470x264-1144.jpg" width="470" height="264" class="mt-image-none" style="" /></a>

<a href="http://www.android-navi.com/img/2011/ss-854-2-0.png"><img alt="ss-854-2-0.png" src="http://www.android-navi.com/assets_c/2011/10/ss-854-2-0-thumb-470x264-1146.png" width="470" height="264" class="mt-image-none" style="" /></a>

『あの～もう帰ってもいいですか？』
『今度デートしてください！』
などのちょっと言いにくい言葉も代弁してくれます。
（※結果は自己責任でお願いします）


吉田くんは『しまねSuper大使』にも任命されているため
つぶやけるセリフの中には

『島根ではよくあることです』
『島根は鳥取の左側です』

などの島根発言が含まれているのも特徴的。


もちろん
『たーかーのーつーめー』
とつぶやくこともできます。

これであなたも鷹の爪団の一員！？


アプリのダウンロードはこちらから。
<a href="https://market.android.com/details?id=com.loopsessions.yoshida" target="_blank">『吉田の代弁』</a>

　]]>
   </content>
</entry>

<entry>
   <title>iPhone4S の新音声機能である Siri がすごいらしい</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/iphone/iphone4s_siri/" />
   <id>tag:www.android-navi.com,2011://8.1323</id>
   
   <published>2011-10-12T15:17:03Z+09:00</published>
   <updated>2011-10-12T15:22:59Z+09:00</updated>
   
   <summary>iPhone4S のみで使える新機能である Siri がすごいと話題です。 ちな...</summary>
   <author>
      <name>たま</name>
      
   </author>
   
      <category term="iPhone ネタ" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="1740" label="iPhone4S" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1749" label="Siri" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      iPhone4S のみで使える新機能である Siri がすごいと話題です。
ちなみに、Siri は大変CPUを使う為、
iPhone4S でしか使うことができないらしく、
それまでの iPhone では利用ができないという制限があるそうです。

この機能に関しては、以前にも記事に書きましたが、Twitter でもあまりにも評判が良いので、再度書いてみたいと思います。

Siri は、人と話すかのように iPhone4S と話すことができる機能ですが、これが予想以上に心地良く会話ができるそうです。
自然に話す言葉、例えば「今日の天気は？」と話しかけると「天気情報を表示します」と答え、天気情報が表示されたりします。
メールがくれば、「メールを読んで」と伝えればメールを読みあげてくれたりもするそうです。
      Siri は、他にも様々な質問に答えてくれるそうで、「君は何者なんですか？」という質問にも答えてくれ、
本当に人と会話しているかのようだとのことです。

ただただ、本当に残念なんですが、
この iPhone4S の Siri は、今現在、日本語には対応しておりません。
対応している言語は、英語、ドイツ語、フランス語のみとのことです。

そこまで心地が良いなら、いっそのことこの機会に英語を勉強するのもありかもです。
そして、Siri で英会話の実践練習をする。
なんかすごくカッコいい感じがしませんか？
間違った英語であれば、多分 Siri さんには通じないでしょうし、
英語の勉強に利用するのはありな感じがしています。

そしていつの間にか、Siri を使いこなすようになり、
その頃には英会話も上達する！
これはあり得る！と思うのは私だけでしょうか。。。

iPhone4S が手に入ったら、是非とも使いこなしたいと思いますので、
英語を駆使して試してみたいと思います。
みなさんも是非！

   </content>
</entry>

<entry>
   <title>iPhone4S を買うなら SoftBank ? au ?</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/iphone/iphone4s_softbank_au/" />
   <id>tag:www.android-navi.com,2011://8.1317</id>
   
   <published>2011-10-10T14:38:33Z+09:00</published>
   <updated>2011-10-10T14:49:53Z+09:00</updated>
   
   <summary>ついに iPhone4S の予約が SoftBank と au から10/7(金...</summary>
   <author>
      <name>たま</name>
      
   </author>
   
      <category term="iPhone ネタ" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="682" label="au" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1740" label="iPhone4S" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1738" label="SfotBank" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="666" label="比較" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      ついに iPhone4S の予約が SoftBank と au から10/7(金)に開始されました！

なんと驚くことに、 iPhone4S 予約数が24時間で100万件を突破したそうですよ！！
スティーブ・ジョブズさんの最後の遺作にもなるからでしょうか。
ちなみに、iPhone4 の時は60万件だったので、40万件も多いことになります。

iPhone4S、皆さんは予約されましたでしょうか？
私は、予約受付開始日に早速 SoftBank でブラック64GBを予約しちゃいました！

今回からは iPhone4Sが、 SoftBank と au から発売されるということですので、
新規に iPhone4S を購入する方を対象として、両社の比較をしてみたいと思います。
キャリア選択の参考になれば幸いです。

      ■料金比較
下記の通り、料金設定では SoftBank が2年使う前提の場合には有利なようです。
ただ、 au はMNPを使って iPhone4S を新規契約すると1万円がキャッシュバックされるそうですので、これも魅力ではありますね。
- 端末代金
	16GB	両社とも0円
	32GB	au が1万320円で SoftBankより1,200円安い
	64GB	au が2万540円で SoftBankより580円安い
- 月額通信料
	SoftBank が au より570円安い (2年利用だと1万3,680円安い)

■ネットワーク
これに関しては、場所や時間帯等で変わってきますので判断し辛いところですが、これまでの評判を考えると au でしょうか。
ちなみに私は SoftBank を主に都内で利用していますが、これまでに繋がらなくて困ったことはないです。

■サービス
SoftBank は、既に iPhone を発売している実績があり、いろいろと手が打てていますが、
au は、MMSが検討中とのことや、CDMAの仕様上で、音声とデータ通信を同時にできないというデメリットがあることから、SoftBank に軍配が上がりそうです。


総合して考えますと、今の段階では、ネットワークのつながりやすさ、信頼性で選ぶとすると au、
料金やサービスで選ぶとすると SoftBank になりそうです。

SoftBank と au、みなさんはどちらを選ばれるでしょうか。
日本での iPhone のシェアがどのように分散されるのか、結果がすごく気になる今日この頃です。
   </content>
</entry>

<entry>
   <title>画面サイズとVGAとかの対応表</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/android_1/vga/" />
   <id>tag:www.android-navi.com,2011://8.1311</id>
   
   <published>2011-10-07T06:16:31Z+09:00</published>
   <updated>2011-10-07T06:24:39Z+09:00</updated>
   
   <summary>Andoridの端末には様々な画面サイズがあります。 それぞれの画面サイズに最適...</summary>
   <author>
      <name>管理者</name>
      
   </author>
   
      <category term="Android アプリ 開発 情報" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="1725" label="HVGA" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1727" label="VGA" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1729" label="WVGA" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1730" label="ピクセル" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1731" label="画面サイズ" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1732" label="解像度" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      <![CDATA[Andoridの端末には様々な画面サイズがあります。

それぞれの画面サイズに最適化されたアプリを作ろうと思うと、開発者はけっこう大変です。

解像度でいうと、VGA だの HVGA だの WVGA だのいろいろな略語が出てきて、知っている人には当たり前なんだろうけど、どれがどのサイズを表しているのかわからず、かなりストレスでした。

どっかにまとまってないのかなと思って探してみたら、Wikiに画像でまとまってました。
<a href="http://upload.wikimedia.org/wikipedia/commons/e/e5/Vector_Video_Standards2.svg" target="_blank"><img src="http://upload.wikimedia.org/wikipedia/commons/e/e5/Vector_Video_Standards2.svg" width="470" /></a>
　
ソースはこちら。
<a href="http://ja.wikipedia.org/wiki/%E7%94%BB%E9%9D%A2%E8%A7%A3%E5%83%8F%E5%BA%A6" target="_blank">画面解像度</a>
<a href="http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:Vector_Video_Standards2.svg" target="_blank">ファイル:Vector Video Standards2.svg</a>
　
　]]>
      
   </content>
</entry>

<entry>
   <title>iPhone のように指にくっついてスライドするUI</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/android_1/iphone_ui/" />
   <id>tag:www.android-navi.com,2011://8.1310</id>
   
   <published>2011-10-07T05:26:34Z+09:00</published>
   <updated>2011-10-07T06:04:59Z+09:00</updated>
   
   <summary>iPhone では、画面に表示されている写真などを入れ替えるとき、指で左右にフリ...</summary>
   <author>
      <name>管理者</name>
      
   </author>
   
      <category term="Android アプリ 開発 情報" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="531" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1718" label="ViewFlipper" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1720" label="ViewSwitcher" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="596" label="サンプルコード" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1721" label="スライド" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1722" label="フリック" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1723" label="指につく" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      iPhone では、画面に表示されている写真などを入れ替えるとき、指で左右にフリックすると、とても綺麗にスライドされます。

Androidでも、ViewFlipper や ViewSwitcher あたりを使えばスライドは実装できるんですが、フリックしたあと一瞬の間が空いて画面の切り替えが行なわれるので、指に追随する感じがなくてどうもモッサリ感が漂ってしまいます。

どうにか気持ちよく切り替えできないかなーと思ってネット上を探してみたんですが、同じようなことを考える人はいるようで、多くの人が試行錯誤しているようでした。
　
      <![CDATA[そんな中見つけたのが<strong>『ViewPager』</strong>という機能。

<a href="http://developer.android.com/intl/ja/sdk/compatibility-library.html" target="_blank">Android Compatibility package</a> の中に含まれています。

このライブラリを使うと、iPhone 並に軽快なスライド切り替えが実現します。

ライブラリの使い方は
<a href="http://developer.android.com/intl/ja/sdk/compatibility-library.html" target="_blank">Android Compatibility package</a> 
に、
サンプルコードは
<a href="http://developer.android.com/intl/ja/resources/samples/Support4Demos/src/com/example/android/supportv4/app/FragmentPagerSupport.html" target="_blank">FragmentPagerSupport.java</a>
にあるので、ぜひ試してみてください。


ちなみに、サンプルコードのコンパイル済みアプリは<a href="http://www.android-navi.com/img/2011/ViewPagerTest01.apk" target="_blank">こちら</a>。
野良アプリです。
横フリックで ListView が切り替わります。


（参考）<a href="http://www.adakoda.com/adakoda/2011/07/android-37.html" target="_blank">"びゅーぶいーんぶいーん"がやってきた！</a>
　
　]]>
   </content>
</entry>

<entry>
   <title>スティーブ・ジョブズ氏 逝去</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/iphone/post_65/" />
   <id>tag:www.android-navi.com,2011://8.1297</id>
   
   <published>2011-10-06T03:04:49Z+09:00</published>
   <updated>2011-10-06T03:26:18Z+09:00</updated>
   
   <summary>今日は朝から驚きのニュースが入ってきました。 Appleの創業者にして会長の ス...</summary>
   <author>
      <name>管理者</name>
      
   </author>
   
      <category term="iPhone ネタ" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="1715" label="スティーブ・ジョブズ" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="739" label="死亡" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1716" label="逝去" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      <![CDATA[今日は朝から驚きのニュースが入ってきました。

Appleの創業者にして会長の スティーブ・ジョブズ 氏が亡くなったというニュースです。

<a href="http://www.android-navi.com/img/2011/blog002.JPG"><img alt="blog002.JPG" src="http://www.android-navi.com/assets_c/2011/10/blog002-thumb-470x352-1068.jpg" width="470" height="352" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a>

米Appleの公式サイトでは、ジョブズ氏の写真と冥福を祈るメッセージが掲載されています。
　]]>
      <![CDATA[スティーブ・ジョブズ 氏は、iPhoneやiPad生みの親ともいえる存在であり、Apple社の時価総額をMicrosoft社を抜いて世界1位にした立役者でもあります。

また、スタンフォード大学での卒業式で行なったスピーチは多くの人に感動を与えた『伝説のスピーチ』として有名です。
まだ見たことのない方は、ぜひ見てみてください。
<iframe width="470" height="239" src="http://www.youtube.com/embed/OaMT8fZpEXA?rel=0" frameborder="0" allowfullscreen></iframe>

IT関係企業のみならず、世界に大きな影響を与えた人物といえるでしょう。

享年は56歳。英雄の旅立ちとしては少し早い気がして、淋しいです。

スティーブ・ジョブズ氏のご冥福をお祈りいたします。


<a href="http://www.amazon.co.jp/gp/product/4062171260/ref=as_li_ss_il?ie=UTF8&tag=chuaffili8-22&linkCode=as2&camp=247&creative=7399&creativeASIN=4062171260"><img border="0" src="http://ws.assoc-amazon.jp/widgets/q?_encoding=UTF8&Format=_SL110_&ASIN=4062171260&MarketPlace=JP&ID=AsinImage&WS=1&tag=chuaffili8-22&ServiceVersion=20070822" ></a><img src="http://www.assoc-amazon.jp/e/ir?t=chuaffili8-22&l=as2&o=9&a=4062171260" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />　<a href="http://www.amazon.co.jp/gp/product/4062171279/ref=as_li_ss_il?ie=UTF8&tag=chuaffili8-22&linkCode=as2&camp=247&creative=7399&creativeASIN=4062171279"><img border="0" src="http://ws.assoc-amazon.jp/widgets/q?_encoding=UTF8&Format=_SL110_&ASIN=4062171279&MarketPlace=JP&ID=AsinImage&WS=1&tag=chuaffili8-22&ServiceVersion=20070822" ></a><img src="http://www.assoc-amazon.jp/e/ir?t=chuaffili8-22&l=as2&o=9&a=4062171279" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />　<a href="http://www.amazon.co.jp/gp/product/482224816X/ref=as_li_ss_il?ie=UTF8&tag=chuaffili8-22&linkCode=as2&camp=247&creative=7399&creativeASIN=482224816X"><img border="0" src="http://ws.assoc-amazon.jp/widgets/q?_encoding=UTF8&Format=_SL110_&ASIN=482224816X&MarketPlace=JP&ID=AsinImage&WS=1&tag=chuaffili8-22&ServiceVersion=20070822" ></a><img src="http://www.assoc-amazon.jp/e/ir?t=chuaffili8-22&l=as2&o=9&a=482224816X" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />　<a href="http://www.amazon.co.jp/gp/product/4822248569/ref=as_li_ss_il?ie=UTF8&tag=chuaffili8-22&linkCode=as2&camp=247&creative=7399&creativeASIN=4822248569"><img border="0" src="http://ws.assoc-amazon.jp/widgets/q?_encoding=UTF8&Format=_SL110_&ASIN=4822248569&MarketPlace=JP&ID=AsinImage&WS=1&tag=chuaffili8-22&ServiceVersion=20070822" ></a><img src="http://www.assoc-amazon.jp/e/ir?t=chuaffili8-22&l=as2&o=9&a=4822248569" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />　<a href="http://www.amazon.co.jp/gp/product/4569675204/ref=as_li_ss_il?ie=UTF8&tag=chuaffili8-22&linkCode=as2&camp=247&creative=7399&creativeASIN=4569675204"><img border="0" src="http://ws.assoc-amazon.jp/widgets/q?_encoding=UTF8&Format=_SL110_&ASIN=4569675204&MarketPlace=JP&ID=AsinImage&WS=1&tag=chuaffili8-22&ServiceVersion=20070822" ></a><img src="http://www.assoc-amazon.jp/e/ir?t=chuaffili8-22&l=as2&o=9&a=4569675204" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />


]]>
   </content>
</entry>

<entry>
   <title>幻に終わったiPhone5</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/iphone/iphone5_1/" />
   <id>tag:www.android-navi.com,2011://8.1296</id>
   
   <published>2011-10-05T13:25:28Z+09:00</published>
   <updated>2011-10-05T13:38:24Z+09:00</updated>
   
   <summary>本日、アップルがiPhoneの新モデルである「iPhone4S」を発表しました。...</summary>
   <author>
      <name>たま</name>
      
   </author>
   
      <category term="iPhone ネタ" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="682" label="au" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1714" label="iPhone4" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1678" label="iPhone5" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      本日、アップルがiPhoneの新モデルである「iPhone4S」を発表しました。
が、iPhone5の発表はありませんでした。。。
iPhone5ネタで盛り上がっていただけに、残念な方も多いことでしょう。
何を隠そう、私も残念で仕方ありません。

しかし、見た目は変わらないものの、
iPhone4Sは、パワーが2倍、グラフィックスの速さも7倍となり、
カメラの起動も格段に早くなるそうで、
思い立ったら即行動ということがより可能となるようです。

「Let&apos;s talk iPhone」のメッセージは、やはり音声でコントロールする、
「音声アシスト」機能（=Siri(シリ)）のことを指していたようですが、
こちらは残念ながら日本語には現時点では対応していないようで、
魅力ある機能とはなりませんでした。

そして、auユーザーには嬉しいニュースが入ってきましたね！

      ついにauからもiPhoneが発売されるとのことになりました！！
ただ、以前の記事にも書きましたが、auはまだ実績がない為、
購入にあたっては、慎重にしたほうがよさそうですね。

SoftBankの孫さんも下記の情報をTwitterで言っていたことも気になります。
鵜呑みにする必要はないですが、ちゃんと確認をしておいた方が良さそうですね。

----------------------------------------------
iPhone4S
＜SoftBank版＞
W-CDMA（HSDPA）
下り最大14.4Mbps
上り最大5.76Mbps
＜au版＞
CDMA版（CDMA EV-DO Rev. A）
下り最大3.1Mbps
上り最大1.8Mbps
----------------------------------------------

さて、新型iPhoneの購入を検討されていた方々はどのような行動に出るのでしょうか。

SoftBankとauがどのような料金体系で勝負してくるのかも気になります。
個人的には、両社で競ってもらって、
利用料金を下げるとか、インフラをレベルアップするとかしてもらいたいです。

今後の動向が気になりますね。

   </content>
</entry>

<entry>
   <title>Eclipse で エミュレーター が 起動しない</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/android_1/eclipse/" />
   <id>tag:www.android-navi.com,2011://8.1295</id>
   
   <published>2011-10-03T14:40:48Z+09:00</published>
   <updated>2011-10-03T15:01:43Z+09:00</updated>
   
   <summary>いつのころからか Eclipse で エミュレーター が 起動しなくなってしまい...</summary>
   <author>
      <name>管理者</name>
      
   </author>
   
      <category term="Android アプリ 開発 情報" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="1711" label="AVD" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="483" label="Eclipse" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="597" label="エミュレーター" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1712" label="起動しない" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      <![CDATA[いつのころからか
Eclipse で エミュレーター が 起動しなくなってしまいました。

手持ちのAndroid端末も増えて実機確認ができるようになっていたので
あまり気にしなくなっていましたが、
久しぶりにエミュレーターが必要な事態になり
本腰を入れて調査してみました。

Logcat のエラーログにはこう表示されます。

<pre name="code" class="java">
[2011-10-03 23:48:21 - Emulator] invalid command-line parameter: Files\android-sdk-windows\tools/emulator-arm.exe.
[2011-10-03 23:48:21 - Emulator] ヒント: use '@foo' to launch a virtual device named 'foo'.
[2011-10-03 23:48:21 - Emulator] please use -help for more information
</pre>
　]]>
      <![CDATA[【解決方法】

「ウィンドウ＞設定＞Android」 の 「SDK ロケーション」 のファイルパスを
　・C:\Program Files\android-sdk-windows
から
　・C:\PROGRA~1\android-sdk-windows
に変更します。

<a href="http://www.android-navi.com/img/2011/blog001.JPG"><img alt="blog001.JPG" src="http://www.android-navi.com/assets_c/2011/10/blog001-thumb-470x157-1066.jpg" width="470" height="157" class="mt-image-none" style="" /></a>

どうも『Program Files』の半角スペースがよくないみたいです。


プロジェクトによっては、変更後にビルドエラーが出るかもしれないので、
その場合はEclipseを再起動してみてください。


つか、これでハマってる人、多そうだなぁ・・・。

前にApp Inventor が起動しなくなったのも、これが原因だったのかなぁ・・・？

　]]>
   </content>
</entry>

<entry>
   <title>この本が素晴らしい！『Android SDK 逆引きハンドブック』</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/android_4/android_sdk/" />
   <id>tag:www.android-navi.com,2011://8.1293</id>
   
   <published>2011-10-03T12:32:23Z+09:00</published>
   <updated>2011-10-03T12:47:17Z+09:00</updated>
   
   <summary>Android でアプリを開発するのに 公式リファレンスが読めるに越したことはな...</summary>
   <author>
      <name>管理者</name>
      
   </author>
   
      <category term="Android 関連書籍" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="1705" label="Android SDK 逆引きハンドブック" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      <![CDATA[Android でアプリを開発するのに
公式リファレンスが読めるに越したことはないですが、
リファレンスはクラスやメソッドの解説が主なので
『Androidではどんなことができるのか？』
『こんなことをしたいのだけど、どうやったらいいのか？』
ということを調べるのはちょっと弱いです。

そんなときはネットを漁ってみたりするのですが
『情報がまとまってたらなー』
と思うことはよくあります。

そんな思いを叶えてくれる一冊がこれ。

<a href="http://www.amazon.co.jp/gp/product/4863540523/ref=as_li_ss_tl?ie=UTF8&tag=chuaffili8-22&linkCode=as2&camp=247&creative=7399&creativeASIN=4863540523">Android SDK逆引きハンドブック</a><img src="http://www.assoc-amazon.jp/e/ir?t=chuaffili8-22&l=as2&o=9&a=4863540523" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
<a href="http://www.amazon.co.jp/gp/product/4863540523/ref=as_li_ss_il?ie=UTF8&tag=chuaffili8-22&linkCode=as2&camp=247&creative=7399&creativeASIN=4863540523"><img border="0" src="http://ws.assoc-amazon.jp/widgets/q?_encoding=UTF8&Format=_SL160_&ASIN=4863540523&MarketPlace=JP&ID=AsinImage&WS=1&tag=chuaffili8-22&ServiceVersion=20070822" ></a><img src="http://www.assoc-amazon.jp/e/ir?t=chuaffili8-22&l=as2&o=9&a=4863540523" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
　]]>
      <![CDATA[『あれ？これってどうやるんだっけ？』
と思ったときに、この本の目次を開くとたいていのことは解決します。

目次をながめて気になるページを読んでみるだけでも勉強になります。

アプリ開発中級者以上には必携の1冊といえます。

ちなみに『Android SDK 開発のレシピ』という書籍もオススメですが、
こちらの本のほうが情報量が多いです。

まぁ両方手元にあるのが一番いいと思いますけどｗ

<iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=FFFFFF&IS2=1&npa=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=chuaffili8-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4863540523" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>　<iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=FFFFFF&IS2=1&npa=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=chuaffili8-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4798027049" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
]]>
   </content>
</entry>

<entry>
   <title>DB への INSERT 処理の高速化</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/android_1/db_insert/" />
   <id>tag:www.android-navi.com,2011://8.1291</id>
   
   <published>2011-10-03T12:11:59Z+09:00</published>
   <updated>2011-10-03T12:30:47Z+09:00</updated>
   
   <summary>最近、サーバーからXMLやJSONでデータリストを取ってきて、アプリ内の SQL...</summary>
   <author>
      <name>管理者</name>
      
   </author>
   
      <category term="Android アプリ 開発 情報" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="1701" label="beginTransaction()" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1697" label="DB" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1699" label="INSERT" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1192" label="SQLite" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1702" label="高速化" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      <![CDATA[最近、サーバーからXMLやJSONでデータリストを取ってきて、アプリ内の SQLite のデータベースに挿入処理をするアプリを作ることが多くなってきました。

最初は取得してきたデータ一件一件に対して INSERT 処理を行なっていたんですが、件数が多くなるとどうも処理が重い・・・。

どうにかして INSERT処理を高速化できないか探していたんですが、どうも <strong>beginTransaction() </strong> を使って一括挿入をすると早いようです。

db.insert() とかを使うと、一件ごとにコミット処理が行なわれ、それが遅くなる原因となるみたいなんですが、 beginTransaction() を使うと全体でまとめて1回のコミット処理になるらしく、高速化が見込めるようです。
　]]>
      <![CDATA[＜INSERT処理の高速化のサンプル＞

<pre name="code" class="java">
	//SEARCH_TABLEのバルクインサート
	public static void bulkInsertSearchData(
			SQLiteDatabase db,
			ArrayList&lt;SearchItem&gt; searchData) {
		
		db.beginTransaction();
		try {
		    SQLiteStatement stmt = db.compileStatement("INSERT INTO "+DB_SEARCH_TABLE+" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?);");
		    for (int i=0; i&lt;searchData.size(); i++) {
		    	SearchItem item = searchData.get(i);
		    	
		    	stmt.bindString(2, item.getFirstCatId());
		    	stmt.bindString(3, item.getFirstCatName());
		    	stmt.bindString(4, item.getSecoundCatId());
		    	stmt.bindString(5, item.getSecoundCatName());
		    	stmt.bindString(6, item.getSecoundCatUrl());
		    	stmt.bindString(7, item.getThirdCatId());
		    	stmt.bindString(8, item.getThirdCatName());
		    	stmt.bindString(9, item.getThirdCatUrl());
		    	stmt.bindString(10, item.getThirdText());
		        
		        stmt.executeInsert();
		    }
		    db.setTransactionSuccessful();
		    Log.v("CHECK", "Bulk insert is succeeded.");
		} finally {
		    db.endTransaction();
		}
		
	}
</pre>

まず db.beginTransaction() でトランザクションを開始し、
db.compileStatement() で INSERT の処理文を記述します。

処理件数分だけループを回して
bindString() で挿入する値をバインドし、
executeInsert() で挿入処理を行います。

挿入処理がうまく終了したら
setTransactionSuccessful() でトランザクションの成功を通知し
endTransaction() でトランザクションを終了します。


単なる INSERT処理からこの一括処理に変えたら、かなり速くなりました。

大量のデータを INSERT する時には使ってみてください。
ユーザーのストレスも軽減です。

　]]>
   </content>
</entry>

<entry>
   <title>画像付き ListView で特定の画像だけダウンロードできない問題</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/android_1/_listview/" />
   <id>tag:www.android-navi.com,2011://8.1289</id>
   
   <published>2011-10-03T10:22:03Z+09:00</published>
   <updated>2011-11-05T01:00:13Z+09:00</updated>
   
   <summary>インターネット経由で画像をダウンロードし、ListView で表示するアプリを作...</summary>
   <author>
      <name>管理者</name>
      
   </author>
   
      <category term="Android アプリ 開発 情報" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="834" label="ListView" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1695" label="ダウンロードできない" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="566" label="画像" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      <![CDATA[インターネット経由で画像をダウンロードし、ListView で表示するアプリを作っているときに、特定の画像だけダウンロードができないという現象に出くわしました。

<img alt="monthly04.png" src="http://www.android-navi.com/img/2011/monthly04.png" width="320" height="480" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 0px;" />
こんな感じで、特定の画像だけ読み込みが終わりません。

Logcat にはこんなメッセージが。

<pre name="code" class="java">
08-21 20:59:11.663: DEBUG/skia(2053): --- decoder->decode returned false
</pre>

しかも不可解なことに、
Xperia では発生しないのに
IS05 と HTC Aria では発生してました。
　]]>
      <![CDATA[結局たどりついたのは、画像をダウンロードするメソッド。
どうやらこの中で使っている InputStream のバグみたい。

修正前のNGメソッド↓

<pre name="code" class="java">
	// URLからBitmapへの変換
	public static Bitmap getBitmapFromURL(String src) {
	    try {
	        URL url = new URL(src);
	        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
	        connection.setDoInput(true);
	        connection.connect();
	        InputStream input = connection.getInputStream();
	        Bitmap myBitmap = BitmapFactory.decodeStream(input);
	        return myBitmap;
	    } catch (IOException e) {
	        e.printStackTrace();
	        return null;
	    }
	}
</pre>


修正後のOKメソッド↓

<pre name="code" class="java">
	// URLからBitmapへの変換
	public static Bitmap getBitmapFromURL(String src) {
		
		HttpGet httpRequest =  new HttpGet(src);
		HttpClient httpclient = new DefaultHttpClient(); 
		HttpResponse response;
        
		try {
			response = (HttpResponse) httpclient.execute(httpRequest);
			HttpEntity entity = response.getEntity(); 
			BufferedHttpEntity bufHttpEntity = new BufferedHttpEntity(entity); 
			InputStream instream = bufHttpEntity.getContent(); 
			Bitmap bm = BitmapFactory.decodeStream(instream); 
			return bm;
		} catch (ClientProtocolException e) {
			e.printStackTrace();
			Log.v("CHECK", "failed! "+src);
			return null;
		} catch (IOException e) {
			e.printStackTrace();
			Log.v("CHECK", "failed! "+src);
			return null;
		} 
</pre>

Xperia だけで開発していたら気づけなかったな・・・。

　]]>
   </content>
</entry>

<entry>
   <title>1つのアプリでMapViewを２つ使ってはダメ？</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/android_1/1mapview/" />
   <id>tag:www.android-navi.com,2011://8.1288</id>
   
   <published>2011-10-03T09:29:40Z+09:00</published>
   <updated>2011-10-03T10:20:53Z+09:00</updated>
   
   <summary>MapView を使用するアプリを開発していたら、以下のようなエラーが発生しまし...</summary>
   <author>
      <name>管理者</name>
      
   </author>
   
      <category term="Android アプリ 開発 情報" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="1278" label="MapView" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="598" label="エラー" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      <![CDATA[MapView を使用するアプリを開発していたら、以下のようなエラーが発生しました。

<pre name="code" class="java">
08-13 15:39:40.975: ERROR/ActivityThread(9174): Activity com.chu.android.KaitekiMonthly.SearchMap has leaked IntentReceiver com.google.android.maps.NetworkConnectivityListener$ConnectivityBroadcastReceiver@44b382a8 that was originally registered here. Are you missing a call to unregisterReceiver()?
</pre>

現象としては、
１．ActivityA から MapViewActivity1 に遷移
２．MapViewActivity1 から ActivityB に遷移
３．ActivityB から MapViewActivity2 に遷移
４．端末のバックボタンで ActivityA まで戻るとエラー発生
という感じです。

ちなみに、画面上は MapView は正しく表示されてました。
　
エラー文中に IntentReceiver とか BroadcastReceiver がどうとかの記載があったのでそこらへんを中心に調査してみたんですが、意外なところに原因がありました。
　]]>
      MapView を使うアプリはいくつか作ったことがあったのですが、実はこのアプリでは MapView を２つ使用していました。

そしてどうやら、１つのアプリで2つ以上の MapView を使用すると、上記のようなエラーが発生するようです。

「バグなんじゃないのか？」とも思いましたが、そんなことをいってもどうしようもないので、開発中のアプリは１つの MapView を使い回すことにして解決しました。

（早く直してほしい・・・）

　
   </content>
</entry>

<entry>
   <title>ボタンの上下左右に画像を配置する方法</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/android_1/post_64/" />
   <id>tag:www.android-navi.com,2011://8.1287</id>
   
   <published>2011-10-03T08:20:20Z+09:00</published>
   <updated>2011-10-03T08:43:11Z+09:00</updated>
   
   <summary>Androidのボタンに背景画像を設置する方法をご存じの方は多いと思いますが、 ...</summary>
   <author>
      <name>管理者</name>
      
   </author>
   
      <category term="Android アプリ 開発 情報" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="1617" label="ボタン" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1693" label="上下左右" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="566" label="画像" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1694" label="配置" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      <![CDATA[Androidのボタンに背景画像を設置する方法をご存じの方は多いと思いますが、
ボタンの上下左右に画像を配置する方法はあまり知られてないかもしれません。

たとえばこんなかんじに。
<img alt="monthly02.png" src="http://www.android-navi.com/img/2011/monthly02.png" width="320" height="97" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" />

最初は、背景として画像を用意してうまく位置やサイズを調整しないといけないのかと思って、めんどくさかったんですが、実はそういう属性が用意されてたんですね。
　]]>
      <![CDATA[ボタンの上下左右に画像を配置するのは簡単です。

レイアウトファイルのButtonの属性に、以下のようにリソースIDを設定してください。

<pre name="code" class="java">
android:drawableTop="@drawable/icon_top"
android:drawableBottom="@drawable/icon_bottom"
android:drawableRIght="@drawable/icon_right"
android:drawableLeft="@drawable/icon_left"
</pre>

画像の場所はボタンの縁から一定の距離で、ボタンの幅が変わると文字との間隔が変わります。
ボタン縁からの距離を変えたいときは、Button の Padding の設定を変えてください。

ちなみに上記画像のボタンは、
背景にオレンジの画像を設定し、
android:drawableLeft でアイコン画像を配置しています。


ほかの適用例はこんな感じ。
<img alt="monthly03.png" src="http://www.android-navi.com/img/2011/monthly03.png" width="320" height="480" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" />

ここらへんのことは<a href="http://www.amazon.co.jp/gp/product/4844329871/ref=as_li_ss_tl?ie=UTF8&tag=chuaffili8-22&linkCode=as2&camp=247&creative=7399&creativeASIN=4844329871">『 Android Layout Cookbook 』</a><img src="http://www.assoc-amazon.jp/e/ir?t=chuaffili8-22&l=as2&o=9&a=4844329871" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />のP78～82に詳しくかいてあります。

<a href="http://www.amazon.co.jp/gp/product/4844329871/ref=as_li_ss_tl?ie=UTF8&tag=chuaffili8-22&linkCode=as2&camp=247&creative=7399&creativeASIN=4844329871">Android Layout Cookbook 
アプリの価値を高める開発テクニック</a><img src="http://www.assoc-amazon.jp/e/ir?t=chuaffili8-22&l=as2&o=9&a=4844329871" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
<a href="http://www.amazon.co.jp/gp/product/4844329871/ref=as_li_ss_il?ie=UTF8&tag=chuaffili8-22&linkCode=as2&camp=247&creative=7399&creativeASIN=4844329871"><img border="0" src="http://ws.assoc-amazon.jp/widgets/q?_encoding=UTF8&Format=_SL160_&ASIN=4844329871&MarketPlace=JP&ID=AsinImage&WS=1&tag=chuaffili8-22&ServiceVersion=20070822" ></a><img src="http://www.assoc-amazon.jp/e/ir?t=chuaffili8-22&l=as2&o=9&a=4844329871" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />

UIまわりに関して、買って損のない一冊なので、よければどうぞ。

　]]>
   </content>
</entry>

<entry>
   <title>iPhoneイベントの「Let&apos;s talk iPhone」の謎 </title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/iphone/iphonelets_talk_iphone/" />
   <id>tag:www.android-navi.com,2011://8.1280</id>
   
   <published>2011-09-30T14:14:53Z+09:00</published>
   <updated>2011-09-30T14:21:01Z+09:00</updated>
   
   <summary>今回のAppleのイベント招待状のフレーズは、「Let&apos;s talk iPhon...</summary>
   <author>
      <name>たま</name>
      
   </author>
   
      <category term="iPhone ネタ" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="1678" label="iPhone5" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1040" label="イベント" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1690" label="音声コントロール" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      今回のAppleのイベント招待状のフレーズは、「Let&apos;s talk iPhone」。

一体何を示唆しているのでしょうか。
大変気になりますよね。

一番有力なのは、 Appleの音声コントロールテクノロジを使った何かであることです。

それは一体どのようなことなのか気になるところですが、
な、なんとiPhone5に話しかけるだけで何でもできてしまう機能みたいです！

例えば、iPhoneに「○時にAさんとレストランで会うアポイントメントを入れて」と話しかけるだけで、この予定をカレンダーに入れてくれたり、

GPS連動機能を利用して、「○○スーパーに着いたらビール買うようにリマインドして」と依頼したり、


      メールもiPhoneに話しかけるだけで送ることもできてしまうんだとか。

しかも、質問を投げるとその回答もしてくれるようになるという噂もあります。

なんか、夢のような話ですね。

ですが、、、

機能としてはすごいことですが、
仮にこのような機能があったとしても、音声認識機能がどれほど正確なのかや、そもそもiPhoneに話しかけること自体、抵抗があるように思われることから、果たしてどこまで使われるかということが疑問でもあります。

実際、この機能が搭載された場合にみなさん使いますか？
なんとなく、友達にネタとして見せるだけで終わってしまいそうな気がしてるのは私だけでしょうか。。。

まぁ、「Let&apos;s talk iPhone」が何を意味しているのかはもう時間の問題です。

米国太平洋時間の10月4日午前10時からのイベントで判明しますので、みなさんその日まで想像を膨らましまくって、ワクワク感をマックス状態にして発表を待ちましょう！！

   </content>
</entry>

<entry>
   <title>au版iPhone5に思うこと</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/iphone/iphone5/" />
   <id>tag:www.android-navi.com,2011://8.1266</id>
   
   <published>2011-09-28T13:40:13Z+09:00</published>
   <updated>2011-09-28T13:41:50Z+09:00</updated>
   
   <summary>最近になって、iPhone5ネタの情報が飛び交うようになってきましたね。 巷では...</summary>
   <author>
      <name>たま</name>
      
   </author>
   
      <category term="iPhone ネタ" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="682" label="au" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="531" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1678" label="iPhone5" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      最近になって、iPhone5ネタの情報が飛び交うようになってきましたね。
巷では、10/4にiPhone5発表、そして10/14に発売と噂されているように、
いよいよ、iPhone5の発売も間近なようですね。

そういうこともあり、最近iPhoneに機種変更したいという人に対しては、
もう少し待ったほうがいいよと伝えてます。
どうせ買うなら最新のものと比べて納得して買ったほうがいいと
思ってますので。

さて、iPhone5ネタで今一番ホットであろう話題、
皆さんも気になっているであろう、
auからiPhone5が発売される！という情報についてです。
先日、日経に記載されてTwitterのタイムラインがそのネタで
埋めつくされた方も多いのではないでしょうか。
      auから発売されることで、
iPhoneにしようという方もいらっしゃると思いますが、
いざ発売となってもすぐに飛びつかないほうが良さそうです。

理由は下のようなことが噂されているからです。

　・現状、キャリアメール(〜@ezweb.ne.jp)が使えない。

　・CDMA2000の仕様上、着信時にネットが切断される、
　　通話中はiPhoneの他の機能が使えない等の機能制限がある。

　・auの通信トラフィックが逼迫する。
　　 (SBのようにWiFiルーター抱き合わせ&amp;WiFi環境充実化?)

　・auの方がSoftBankより繋がりやすいとは限らない。

auはまだ販売実績がないので、SoftBankと比べると
上記以外にも不安要素は多いのではないかと思います。

また、iPhoneの初期ロットは不具合がある可能性もあることから、
少し様子を見てから購入を検討するというのでも
遅くないのかもしれません。

そうは言っても、入手できるなら早く入手したいもの。
後悔しない為にも、十分にリサーチ＆納得した後に購入したいものです。

今後もiPhone5の動向が気になりますね。
   </content>
</entry>

<entry>
   <title>この本が素晴らしい！『Android Layout Cookbook』</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/android_4/android_layout_cookbook/" />
   <id>tag:www.android-navi.com,2011://8.1269</id>
   
   <published>2011-09-27T15:42:35Z+09:00</published>
   <updated>2011-09-27T16:08:24Z+09:00</updated>
   
   <summary>1年ちょっと前は数えるほどしかなかった Androidのアプリ関係の書籍も、 だ...</summary>
   <author>
      <name>管理者</name>
      
   </author>
   
      <category term="Android 関連書籍" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="1684" label="Android Layou Cookbook" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1686" label="UI" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1687" label="あんざいゆき" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="183" label="デザイン" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="559" label="レイアウト" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      <![CDATA[1年ちょっと前は数えるほどしかなかった
Androidのアプリ関係の書籍も、
だいぶいろいろ見かけるようになりました。
（あの頃は大変だった！）

でもその多くは、
開発環境の整え方とか
「こうやればアプリ作れますよー」的なもので、
バリエーションはあれど内容的には同じようなものが多いです。

そんな中で、非常に有意義だったのがこの一冊。

<a href="http://www.amazon.co.jp/gp/product/4844329871/ref=as_li_ss_tl?ie=UTF8&tag=chuaffili8-22&linkCode=as2&camp=247&creative=7399&creativeASIN=4844329871">Android Layout Cookbook 
アプリの価値を高める開発テクニック</a><img src="http://www.assoc-amazon.jp/e/ir?t=chuaffili8-22&l=as2&o=9&a=4844329871" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
<a href="http://www.amazon.co.jp/gp/product/4844329871/ref=as_li_ss_il?ie=UTF8&tag=chuaffili8-22&linkCode=as2&camp=247&creative=7399&creativeASIN=4844329871"><img border="0" src="http://ws.assoc-amazon.jp/widgets/q?_encoding=UTF8&Format=_SL160_&ASIN=4844329871&MarketPlace=JP&ID=AsinImage&WS=1&tag=chuaffili8-22&ServiceVersion=20070822" ></a><img src="http://www.assoc-amazon.jp/e/ir?t=chuaffili8-22&l=as2&o=9&a=4844329871" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />

これは素晴らしかったですね。
　]]>
      <![CDATA[Android SDK に用意されている標準のUIパーツを使うと
なんか見た目がパッとしないアプリになりがちなんですが、
この本に書かれているテクニックを使えば
ちょっとイケてるアプリが作れそうです。

というか、そもそもUI周りについて詳しく解説されている書籍が少ないので
この本はとても重宝します。

私はどちらかというとデザイン面は得意ではないんですが
この本のおかげである程度思い通りのレイアウトができるようになりました。

本に掲載されているテクニックが確認できる
サンプルアプリもダウンロードできます。

実際に手にとって動かしてみると、すごくわかりやすいです。


たとえば・・・

標準UIで作成した ExpandableListView↓
<img alt="yam02.png" src="http://www.android-navi.com/img/2011/yam02.png" width="320" height="480" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" />

これが、サンプルアプリではこうなります↓
<img alt="yam01.png" src="http://www.android-navi.com/img/2011/yam01.png" width="320" height="480" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" />

『えー！？これ同じ ExpandableListView なの？？？』
って思っちゃいませんか？

まぁ、さすがに、
自分で作るアプリではこんなに凝ったことはしないですが・・・。

しかしレイアウトテクニックは確実にアップすると思います。


『アプリの作り方本』ではないので
初心者の方にはとっつきにくいかもしれませんが、
ひととおりのことができるようになった中級者以上の方は
必携の1冊だと思います。

<iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=FFFFFF&IS2=1&npa=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=chuaffili8-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4844329871" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>

　]]>
   </content>
</entry>

<entry>
   <title>Androidアプリからメールを起動する方法</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/android_1/android_128/" />
   <id>tag:www.android-navi.com,2011://8.1268</id>
   
   <published>2011-09-27T15:24:38Z+09:00</published>
   <updated>2011-09-27T15:41:37Z+09:00</updated>
   
   <summary>Androidアプリからメーラーを起動する方法です。 起動したメーラーには 件名...</summary>
   <author>
      <name>管理者</name>
      
   </author>
   
      <category term="Android アプリ 開発 情報" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="481" label="Android" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1680" label="Intent" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="484" label="アプリ" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1681" label="インテント" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="812" label="メール" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1293" label="起動" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      <![CDATA[Androidアプリからメーラーを起動する方法です。

<img alt="kaiteki02.png" src="http://www.android-navi.com/img/2011/kaiteki02.png" width="320" height="480" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" />

起動したメーラーには
件名や本文を設定することもできます。

コードはこちら。

<pre name="code" class="java">
Uri uri = Uri.parse ("mailto:info@hogehoge.com");
Intent intent = new Intent(Intent.ACTION_SENDTO, uri); 
intent.putExtra(Intent.EXTRA_SUBJECT, "メールの件名");
intent.putExtra(Intent.EXTRA_TEXT, "メールの本文");
activity.startActivity(intent); 
</pre>

インテントが発行されると、
端末で使用可能なメーラーの選択ダイアログが立ちあがります。

<img alt="kaiteki03.png" src="http://www.android-navi.com/img/2011/kaiteki03.png" width="320" height="480" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" />
　
]]>
      <![CDATA[共有メソッド化したものはこちら。

<pre name="code" class="java">
//メールで問い合わせ
public static void contactByMail(final Activity activity) {
	AlertDialog.Builder ad=new AlertDialog.Builder(activity);
	ad.setMessage("メールで問い合わせますか？");
	ad.setPositiveButton("OK", new DialogInterface.OnClickListener() {
		public void onClick(DialogInterface dialog,int whichButton) {
			//メールの起動
			Uri uri = Uri.parse ("mailto:"+activity.getString(R.string.mail));
			Intent intent = new Intent(Intent.ACTION_SENDTO, uri); 
			intent.putExtra(Intent.EXTRA_SUBJECT, "メールの件名");
			intent.putExtra(Intent.EXTRA_TEXT, "メールの本文");
			activity.startActivity(intent); 
		}	
	});
	ad.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
		public void onClick(DialogInterface dialog,int whichButton) {
			
		}	
	});
	ad.create();
	ad.show();		
}
</pre>

引数は Activity のみ取るようになってますが
メール件名や本文を引数にとってもいいかもしれません。
　
　]]>
   </content>
</entry>

<entry>
   <title>Androidアプリから電話をかける方法</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/android_1/android_127/" />
   <id>tag:www.android-navi.com,2011://8.1267</id>
   
   <published>2011-09-27T14:51:33Z+09:00</published>
   <updated>2011-09-27T15:18:41Z+09:00</updated>
   
   <summary>Androidアプリから電話をかける方法です。 アプリから電話を起動する方法は2...</summary>
   <author>
      <name>管理者</name>
      
   </author>
   
      <category term="Android アプリ 開発 情報" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="481" label="Android" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1680" label="Intent" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="484" label="アプリ" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1681" label="インテント" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1293" label="起動" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1682" label="電話" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      <![CDATA[Androidアプリから電話をかける方法です。

アプリから電話を起動する方法は2つあって
　１．発信する直前の画面（ダイアル画面）へ遷移する
　２．いきなり発信する
なんですが、
私が今回作りたかったのは顧客問い合せ用の機能だったので
１の方法で実装しました。

<img alt="kaiteki01.png" src="http://www.android-navi.com/img/2011/kaiteki01.png" width="320" height="480" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" />

２の方法だと、問い合せボタンを押した瞬間に電話がかかるので
ユーザーがビックリしちゃいますからね。


１の実装はこのとおり。

<pre name="code" class="java">
Uri uri = Uri.parse("tel:0123456789");
Intent intent = new Intent(Intent.ACTION_DIAL, uri);
startActivity(intent);
</pre>

tel: のあとに電話番号を入れるだけでOKです。
あとはインテントを発行するだけ。
　]]>
      <![CDATA[今回はインテントを発行する前に
電話をかけるか確認するダイアログを表示したかったので
こんな感じにしました。

<pre name="code" class="java">
public static void contactByTel(final Activity activity) {
	AlertDialog.Builder ad=new AlertDialog.Builder(activity);
	ad.setMessage("電話で問い合わせますか？");
	ad.setPositiveButton("OK", new DialogInterface.OnClickListener() {
		public void onClick(DialogInterface dialog, int whichButton) {
			//電話の起動
			Uri uri = Uri.parse("tel:0123456789");
			Intent intent = new Intent(Intent.ACTION_DIAL, uri);
			activity.startActivity(intent);
		}	
	});
	ad.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
		public void onClick(DialogInterface dialog,int whichButton) {
			
			}	
	});
	ad.create();
	ad.show();
}
</pre>
（複数Activityで共有できるように、Activityを引数に取るメソッド化しています。）


ちなみに、２の直接発信する方法は

<pre name="code" class="java">
Uri uri = Uri.parse("tel:0123456789");
Intent intent = new Intent(Intent.ACTION_CALL, uri);
startActivity(intent);
</pre>

とします。

Intent に設定するのが <strong>Intent.ACTION_CALL</strong> になります。

こちらの方法の場合は、
<strong>android.permission.CALL_PHONE</strong>
を設定するのを忘れずに。
　]]>
   </content>
</entry>

<entry>
   <title>改行 を含む 正規表現 （ Java ）</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/android_1/_java/" />
   <id>tag:www.android-navi.com,2011://8.1265</id>
   
   <published>2011-09-27T14:18:34Z+09:00</published>
   <updated>2011-09-27T14:40:56Z+09:00</updated>
   
   <summary>青空文庫の作品データを使ったアプリを作ってたんですが 作品データの中には不要な文...</summary>
   <author>
      <name>管理者</name>
      
   </author>
   
      <category term="Android アプリ 開発 情報" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="1257" label="Java" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1675" label="改行" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1676" label="正規表現" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      青空文庫の作品データを使ったアプリを作ってたんですが
作品データの中には不要な文字列が含まれてたりします。

こういうのとか↓
-------------------------------------------------------
【テキスト中に現れる記号について】

《》：ルビ
（例）我邦《わがくに》
-------------------------------------------------------


------で囲まれてる部分をごっそり削除したかったんで
正規表現を使ってマッチングさせようと思ったんですが、
 . （ピリオド：任意に一文字）って、改行文字を含まないんですね・・・。

けっこうハマりました。

      <![CDATA[こうやったら、ごっそり削除できました。

<pre name="code" class="java">
str.replaceAll("----------(.|\n)+----------", "");
</pre>

ということで、正規表現で
<strong>『改行を含む任意の一文字@Java』</strong> は <strong>『(.|\n)』</strong> となるみたいです。


まー、わかってみれば、そのままんまなんですが。
けっこーハマってしまったので、メモです。
　
　]]>
   </content>
</entry>

<entry>
   <title>Reached MAX size for compiled-sql statement cache for database</title>
   <link rel="alternate" type="text/html" href="http://www.android-navi.com/archives/android_1/reached_max_size_for_compiled-sql_statement_cache_for_database/" />
   <id>tag:www.android-navi.com,2011://8.1264</id>
   
   <published>2011-09-27T13:52:54Z+09:00</published>
   <updated>2011-09-27T14:07:08Z+09:00</updated>
   
   <summary>SQLite を使用するアプリを作っていたら こんな エラー が出ました。 09...</summary>
   <author>
      <name>管理者</name>
      
   </author>
   
      <category term="Android アプリ 開発 情報" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="1673" label="Reached MAX size" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1190" label="SQL" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="598" label="エラー" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="1674" label="バインド変数" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.android-navi.com/">
      <![CDATA[SQLite を使用するアプリを作っていたら
こんな エラー が出ました。

<pre name="code" class="java">
09-20 21:34:30.889: WARN/Database(779): Reached MAX size for compiled-sql statement cache for database /data/data/com.hoge.packagename/databases/DBname.db; i.e., NO space for this sql statement in cache: SELECT * FROM downloaded_table WHERE author_id = '000129' AND book_id = '000673'. Please change your sql statements to use '?' for bindargs, instead of using actual values
</pre>

エラー をよく読んでみたら
『データベースキャッシュの上限に達した』
とかなんとか。

そんな特別なことしてないんですがね・・・。

で、
『SQL文をバインド変数を使う形に書きなおせ』
的なことが書いてあるので、そのとおりにしたら無事解決しました。
　]]>
      <![CDATA[≪修正前SQL文≫
・WHERE文の中で直接条件指定をしている

<pre name="code" class="java">
String sqlstr = "SELECT * FROM "+DB_DOWNLOADED_TABLE+" WHERE author_id = '"+author_id+"' AND book_id = '"+book_id+"'";
Cursor c = db.rawQuery(sqlstr, null);
</pre>


≪修正後SQL文≫
・WHERE文をバインド変数（?）を使用する形

<pre name="code" class="java">
String sqlstr = "SELECT * FROM "+DB_DOWNLOADED_TABLE+" WHERE author_id = ? AND book_id = ?";
String selectArgs[] = {author_id, book_id};
Cursor c = db.rawQuery(sqlstr, selectArgs);
</pre>


直接指定したほうが効率よさそうな気がするんですが
そうじゃないんですね。

奥が深い。

　]]>
   </content>
</entry>

</feed>

