2011年1月29日土曜日

[PR] 「Wi-Fi sync Screen」が価格.comで紹介

「Wi-Fi sync Screen」が価格.comのクチコミ掲示板で紹介されました。
http://bbs.kakaku.com/bbs/K0000165576/SortID=12565324/
じゅんじゅわさん、ありがとうございます!
LYNX3D SH-03Cはもちろん、IS03とAirstationでもきっとお役に立ちます。

「Wi-Fi sync Screen」の詳細はこちらです
http://fujiu.jp/AndroidApp/app006_wifisyncscreen.shtml

Wi-Fi接続しなくても使えるEye元気!モバイルデータ通信でも使える お天気ロイド
も公開中です

2011年1月28日金曜日

[Application] Wi-Fi sync Screen 公開


Android Application Wi-Fi sync Screen を公開しました。
Wi-Fi sync ScreenはWi-Fiスリープ機能を使わずに、画面のオン/オフに連動してWi-Fiの動作を切り替えバッテリーを長持ちさせます。
LYNX3D SH-03C/IS03 を AirStation(WHR-G301N/WZR-HP-G301NHなど)にWi-Fi接続するとAirStationが再起動する現象を回避し、端末のバッテリーを長持ちさせます。
省電力とルーター再起動防止を両立させます。

ダウンロードはこちらです。
※ダウンロード前にエンドユーザーライセンス契約(EULA)を必ずお読みください。
Android Market (Android Marketの閲覧はAndroid端末でできます)
market://details?id=jp.fujiu.AndroidApp.WifiSyncScreen
※サービス「WifiSyncScreen」をタスクキルしないでください。
※「Wi-Fi sync Screen」のアプリケーションキャッシュを削除しないでください。
※Wi-Fiの動作を自動で切り替える他のサービスと併用しないでください。

詳細はこちらです
http://fujiu.jp/AndroidApp/app006_wifisyncscreen.shtml

Wi-Fi接続しなくても使えるEye元気!モバイルデータ通信でも使える お天気ロイド
も公開中です

2011年1月27日木曜日

2011年1月25日火曜日

[Android] Lynx3DをWi-Fi接続するとAirStationが再起動する

対策アプリを公開しました。こちらをご覧ください。


Lynx3D SH-03Cを買って依頼、ずっと悩んでいたことがあります。
それは「AirStation(WHR-G301N)にWi-Fi接続するとAirStationが勝手に再起動する」という現象です。
必ずしもWi-Fi接続のたびに再起動するわけではありません。
AirStation再起動後はログが消えているので何が起きたのかわかりません。
IS03でも似たような症状が起こるという報告も見かけます。
しかし、SH-03CやIS03と同じシャープ製のIS01でWi-Fi接続してもAirStationが再起動することはありません。
メーカーに問い合わせたら「現在確認中」とのことで対処方法がわかりません。

いくつかの解決方法がインターネットに書き込まれていたので試していました。

1,AirStationの「ANY接続」を許可する
→MtkのAirStationはANY接続を許可していますが再起動してしまいます。

2,SH-03C(IS03)の「Wi-Fiスリープ」をしない設定にする
SH-03CのWi-Fiがスリープ状態から復帰するときにAirStationが再起動するのでWi-Fiスリープの設定を解除します。
[設定]-[無線とネットワーク]-[Wi-Fi設定]を開き、メニューボタンを押すと画面下の方に表示される[詳細設定]をタップします。
次の画面の[Wi-Fiのスリープ設定]-[しない]をタップします。
→この設定をしたらAirStationの再起動は防げましたが、SH-03CのWi-Fiスリープ解除はバッテリーの消耗が激しすぎて1日でバッテリーが上がってしまいました。皆さんはどうですか?

仕方ないのでAirStationの再起動をとバッテリーの消耗を防ぐアプリケーションを開発中です。同じ症状に困っているすべての人に役立つかわかりませんが、完成したら公開する予定です。

Wi-Fi接続しなくても使えるEye元気!モバイルデータ通信でも使える お天気ロイド
どちらも公開中です

2011年1月22日土曜日

[Android] 画面の回転に反応するウィジットアプリケーションを作るには

How to Handle Orientation Changes in AppWidgets

ウィジットアプリケーションはホーム画面に常駐するアプリケーションです。
Activityと比べると様々な制約があります。
そのうちの一つに、Activityに実装されている画面を回転させるたびに呼ばれるメソッド(onConfigurationChanged)を備えていません。
ただし工夫次第で回転に反応させることはできます。

画面の回転に対応する前のソースです。
マニフェスト(AndroidManifest.xml)

レイアウト(res/layout/app_widget.xml)

appwidget-provider設定ファイル(res/xml/app_widget.xml.xml)
(resフォルダー配下に手動でxmlフォルダーを作ります)

ソース(AppWidget.java)


画面を回転するたびに、このウィジットアプリケーションの「TextView01」の表示内容を変化させます。2つの方法をあげてみます。

1.ブロードキャストレシーバーを使う
2.サービスを使う

1.ブロードキャストレシーバーを使う
この方法はAppWidget.javaのみを改造します。

これで回転するたびに表示内容を変えることができました。

2.サービスを使う
ServiceクラスはonConfigurationChangedメソッドを持っているので、Activityと同じように画面の回転に対応できます。
この方法はAppWidget.javaの改造ととマニフェストの追記が必要です。
マニフェスト(AndroidManifest.xml)

AppWidget.java

この改造も同じように回転するたびに表示内容が変わります。

キーワード
AppWidgetProvider onConfigurationChanged AppWidgetProvider onConfigurationChanged Intent.ACTION_CONFIGURATION_CHANGED

以上、参考になれば幸いです。

画面に天気予報を常駐させるウィジットアプリ「お天気ロイド
画面回転にも対応する「Eye元気!
どちらも公開中です

[PR] Eye元気!に鏡音リン/レン追加

Vigorous eyes! has appended Kagamine Rin, Kagamine Len

Eye元気!/Vigorous eyes! に鏡音リン/レンを追加し、バージョン1.01として公開しました。
既にご利用中の方も、まだインストールされていない方もせひ最新版をお試しください。
Eye元気!/Vigorous eyes!の詳細はこちらです。
http://fujiu.jp/AndroidApp/app005_eyegenki.shtml

ダウンロードはこちら
※ダウンロード前にエンドユーザーライセンス契約(EULA)を必ずお読みください。
Android Market (Android Marketの閲覧はAndroid端末でできます)
market://details?id=jp.fujiu.AndroidApp.EyeGenki
バージョン1.01は男性のキャラクターを追加したかったのでリンとレンを追加しました。
Android Marketのコメントはすべて読ませて頂いております。
追加キャラクターのご要望はバージョンアップの参考にさせて頂きます。

2011年1月15日土曜日

[Firefox] AndroLibをブラウザーで表示できない

How to solve the problem with browsing "AndroLib"

androlib.comをFirefox3.6で表示しようと思ったらエラーが出てしまいました。
内容符号化(Content-Encoding)に問題があります
内容符号化(Content-Encoding)に問題があります
パケットをモニターしたところ、特定のファイアウォール(プロキシサーバー)内からアクセスするとgzipで圧縮された内容が正常に送受信できないことがわかりました。
このファイアウォールはCookie文字列が長いと途中で勝手に改行して502エラーを起こすなど癖のある製品です。
シェアがほとんどないプロプライエタリーなので、お目にかかる機会はないと思います。

gzipが原因なのでFirefoxがgzipを使用しない設定します
手順はを次の通りです。
  1. URLに about:config と入力
  2. 「細心の注意を払って使用する」ボタンをクリック
  3. フィルタ欄に「gzip」を入力すると network.http.accept-encoding という設定名が出てくるのでダブルクリックし、値を消してOKボタンをクリック
  4. network.http.accept-encoding
これで正常にandrolib.comを表示できるようになりました。
ところが、この設定をしたらプラグインのChaikaが正常に動作しなくなりました。他にも問題があるかもしれません。
結局、androlib.comを見終わったら設定を元に戻すことにしました。
(右クリックして「リセット」をクリックすれば元に戻せます)

以上、参考になれば幸いです。

インターネットを見すぎて目が疲れたらEye元気!/Vigorous eyes!で眼球ストレッチしましょう!

2011年1月12日水曜日

[PR] 「slコマンド for Android」がアンドロイダーに掲載されました

http://androider.jp/?p=27196
ドロシー様、ロイダーさん、ありがとうございます!

「slコマンド for Android」の詳細はこちらでご覧いただけます。
http://fujiu.jp/AndroidApp/app003_sl.shtml
つたない出来ですがソースも公開しています。

「slコマンド for Android」のソースを元に開発した Eye元気!/Vigorous eyes!もよろしくお願いします

2011年1月11日火曜日

[Android] PrintStream#printfの最適化(SDK r08でのエラーを別の方法で解決する)

How to solve the problem that "Multiple annotations found at this line" by a better method

[Android] SDKをバージョンアップしたらエラーだらけになったについて TwitterでJiroさんから別の解決方法を教えてもらいました。
http://twitter.com/#!/jiro_aqua/status/24100488370720769
Jiroさん、ありがとうございました。

変換指定文字についてjava.sun.comのリファレンスを調べたところ、書式文字列には引数リスト内での引数の位置を整数で示すように解説されています。

エラーが起きた書式です。
<string name="YourSelection">%s %s が選択されました</string>

この書式に引数の位置を加えます。
<string name="YourSelection">%1$s %2$s が選択されました</string>
これでエラーはなくなりました。

エラーメッセージの Multiple substitutions specified in non-positional format は「変換指定文字が複数あるのに引数の位置が指定されてない」ということでした。
変換指定文字が一つしかなければエラーにならないわけです。

引数の位置を指定するメリットはアプリケーションを多言語に対応させるときに発揮します。
日付の書式を日本語と日本語以外に対応させたサンプルを作ってみます。
サンプルの内容はActivityを起動すると日付をToastで表示するというものです。

日本語の年月日の書式を res/values-ja/string.xml に
<string name="date">%1$d年 %2$d月 %3$d日</string>
と設定します。

日本語以外の端末では日月年の順に表示するように res/values-eng/string.xml に
<string name="date">day:%3$d month:%2$d year:%1$d</string>
と設定します。

Activity(Main.java)のコードはこのようになります。


端末の設定が日本語の場合
端末の設定が日本語以外の場合

言語ごとの書式に引数の位置を指定しておけばJavaコードを変更することなく意図した内容を表示できるわけです。

以上、参考になれば幸いです。

変換指定文字を使っている Eye元気!/Vigorous eyes!お天気ロイド/Weatheroid(JP) どちらも公開中です!

2011年1月9日日曜日

[Android] SDKをバージョンアップしたらエラーだらけになった

How to solve the problem that "Multiple annotations found at this line"

※もっといい方法がありましたので http://blog.fujiu.jp/2011/01/android-sdk-r08.html をご覧ください

Eclipseで開発していますが、Android SDKをr08にバージョンアップしたらエラーを示す赤いバツ印だらけになりました。
たくさん表示されますが、原因はstring.xmlにあることがわかりました。
バージョンアップ前はstring.xmlにエラーはありませんでした。

<string name="YourSelection">%s %s が選択されました</string>
の行にエラーが出てます。

マウスポインターを重ねるとこんなメッセージが表示されます。


エラーが発生した箇所をこのように修正したところ赤いバツ印はなくなりました。

<string name="YourSelection" formatted="false">%s %s が選択されました</string>

%s や %d の変換指定文字を使うとこのエラーが発生することがあるようですが、変換指定文字を使ってもエラーにならない箇所もあります。
string.xmlの中で同じエラーが発生している箇所すべてにformatted="false"を追記したところ、エラーはなくなりました。
string.xmlのエラーのを修正したらlayoutの赤いバツ印も消えました。
Android SDK r08はこの症状に加えてadb.exeの格納フォルダーがtoolsからplatform-toolsに変わってるので最初はちょっと戸惑います。

以上、参考になれば幸いです。

変換指定文字を使っている Eye元気!/Vigorous eyes!お天気ロイド/Weatheroid(JP) どちらも公開中です!

2011年1月3日月曜日

[Android] スマートフォン料金(パケット代)の節約術

How to save the packet communication fees

あけましておめでとうございます。

「データ通信」を遮断するとパケット料金を節約することができます。設定方法は次の通りです。

[設定]-[無線とネットワーク]-[モバイルネットワーク]-[データ通信]-[データ通信を有効にする]のチェックを外す
(Androidのバージョンや機種によって表現が異なるかもしれません)

ただしデータ通信をオフにすると多くの制限があるので注意が必要です。

データ通信をオフにするとできないこと
  • spメールやEZメールの送信・受信
  • 3G接続によるアクセスを必要とするアプリケーション
3G接続によるアクセスを必要とするサービスは、OSのアップデートやクーポン発行サービスなど多数存在します。
また、移動中にデータ通信が必要なアプリ(ナビやプレイスなど)も使えなくなります。

データ通信をオフにしてもできること
  • 通話の発信・着信
  • spメールやEZメールの新着を通知を受け取ること
  • Wifiに接続していればブラウザー・Android Market・Gメールの利用は可能

MtkはSIMカードを装着したままspメールやEZメールを送受信する瞬間とケータイアップデートするときだけデータ通信を利用し、それ以外はWifiで利用するという操作をしてみました。
その結果、1ヶ月あたりのパケット料金は400円未満でした。
節約はできたけど面倒です。
複数台のAndroidスマートフォンを所有している方におすすめします。

契約次第では3G回線を使わなければ1ヶ月の料金を2000円以下に抑えることができます
(2013年8月24日追記)

以上、参考になれば幸いです。