2014年1月25日土曜日

[Firefox] 消えてしまったブログのHTMLソースを復元するには

How to restore the deleted web contents
当ブログはBlogger.com(blogspot.com)を利用しています。
ブログを投稿するためのWebブラウザーはFirefoxを利用しています。

Blogger.comには「下書き」という機能があり、未完成のブログを保存することができます。
下書きはとても便利なのですが、ごくたまにブログの下書きが消えていることがあります。
ブラウザーで投稿画面を2つ以上開いていると消えてしまうことがあるようですが詳細は不明です。
先日も下書きが消えてしまうことがありました。

Firefoxは表示したWebの内容をキャッシュに保存しています。
プレビューしたときのキャッシュが残っていればキャッシュから復元することができます。
Firefoxで一度でも表示したことがあれば復元できる可能性があります
Firefoxのこの機能のおかげで何とか復元することができました。

1.
ナビゲーションバーを右クリックし、メニューの「カスタマイズ」を表示させます。
「ツールバーのカスタマイズ」の中にある「履歴ボタン」をナビゲーションバーにドラッグ・ドロップします。

2.
Altキーを押してメニューを表示させます。
ファイル - オフライン作業
をクリックします。

3.
1.で表示させた履歴ボタンをクリックします。
履歴を検索するためのサブウインドウが表示されるのでキーワードを入力して探り当てます。

4.
履歴をクリックすると、キャッシュが残っていればプレビューした当時のブログが表示されます。
Ctrlキーを押しながらSキーでページを丸ごと保存するか、右クリックの「ページのソースを表示」でHMTLソースをコピーするなどの方法で取り戻しましょう。


条件によってはキャッシュがなくなっていることがあります。
(最後に閲覧してから日が経ちすぎている、キャッシュの容量が制限を超えた、コンテンツがキャッシュ禁止にされているなど)
キャッシュがなければFirefoxの履歴から復元することはできません。


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

2014年1月18日土曜日

[Android] アナログ時計アプリをライブ壁紙に改造する

The analog clock on the live wallpaper
前回 SurfaceViewで作成したアナログ時計アプリをライブ壁紙として改造てみました。
ライブ壁紙のAPIはSurfaceViewにそっくりです。
ソースコードを丸ごと流用できるわけではありませんが、SurfaceViewで開発したアプリはライブ壁紙に移植しやすいです。

針の画像です。128×128ピクセルです。
左から秒針、分針、時針のつもりです。
針の画像それぞれのピクセル数は32×128です。一番右の黒い塗りつぶしの領域は使用しません。

Eclipseのパッケージ・エクスプローラーで、プロジェクトの res フォルダーの下に
drawable-nodpi
というフォルダーを作り針の画像を配置します。

解像度ごとに大きさを合せた針の画像を用意したほうがいいかもしれません。

今回の開発環境は次の通りです。
・64bit版 Windows8
・32bit版 Eclipse3.7 (Windows XPモードで使用)
・Android-SDK r22.3

ライブ壁紙の対応OSはAndroid2.1以上なのでSDKの最小バージョンは7以上にする必要があります。

ライブ壁紙はXMLによるメタデータが必要です。
Eclipseのパッケージ・エクスプローラーで res フォルダーの下に xml というフォルダーを作り、メタデータのファイルを保存します。
メタデータファイル(res/xml/wallpaper.xml)

ライブ壁紙のソース(WallpaperSasmple.java)

マニフェスト(AndroidManifest.xml)

エミュレーターで動作させたスクリーンショットです。
動作保証は出来ませんがこのようになると思います。
ライブ壁紙なので、ショートカットアイコンやウィジットより後ろに重ねて表示されます。

関連ブログ
[Android] SurfaceViewのアナログ時計アプリ
[Android] アナログ時計のアプリを作ってみました
[Android] アナログ時計のアプリをC/C++で改良
[Android] ストップウォッチアプリを作ってみました
[Android] ストップウォッチアプリの表示をC言語でスムーズに改造する
[Android] 方位センサーを使ってコンパスアプリを作る
[Android] Javaのstaticクラスから非sataticメソッドを呼び出すには
[Android] OpenGLの簡易画像ビュアーにSDカード内の画像を表示する
[Windows8][Android] EclipseをXP互換モードで起動する理由(Can't bind to local 8600 for debugger)
[Android] Android-SDKでやってはいけないこと
[Android] Toastに画像やボタンを表示するには
[Android] ライブ壁紙の作り方
[Android] Activityに時計を表示する(Activityの非同期更新)
[Android] Webコンテンツを強制的に表示するには
[Android] Toastをcancelするには

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

2014年1月11日土曜日

[Android] SurfaceViewのアナログ時計アプリを作ってみました

The analog clock application on SurfaceView
前々回 前回 のアナログ時計のアプリをSurfaceViewで表示するように作り直してみました。
OpenGLよりSurfaceViewのほうがずっと簡単です。

今回の開発環境は次の通りです。
・64bit版 Windows8
・32bit版 Eclipse3.7 (Windows XPモードで使用)
・Android-SDK r22.3

針の画像です。
左から秒針、分針、時針のつもりです。
針の画像それぞれのピクセル数は32×128です。一番右の黒い塗りつぶしの領域は使用しません。

Eclipseのパッケージ・エクスプローラーで、プロジェクトの res フォルダーの下に
drawable-nodpi
というフォルダーを作り針の画像を配置します。

以下ソースです。

アクティビティ(MainActivity.java)

MyHandlerクラスでループ処理の頻度を制御しています。
設定次第でループ処理を減らせるのでOpenGLで作った場合にに比べるとバッテリーの持ちをよくする効果が期待できます。
MyHandlerクラスのINTERVALという定数の数値を大きくすればループ処理を減らせます。
ただし、INTERVALの数値を大きくしすぎると針が指す時刻と実際の時刻の誤差が大きくなります。

320×480ピクセルのエミュレーターで実行するとこんな感じになります。

OpenGLのアプリは画像の大きさを画面サイズに対して相対的に指定できましたが、SurfaceViewは絶対値で指定する必要があります。
1024×640の画面で実行すると下のようになります。
各針の画像の絶対的な大きさは変わらないのですが、画面が広くなった分小さく見えてしまいます。
解像度ごとに大きさを合せた針の画像を用意するか、Canvasクラスのscaleメソッドで画面サイズに合わせて拡大するといいかもしれません。

関連ブログ
[Android] アナログ時計のアプリを作ってみました
[Android] アナログ時計のアプリをC/C++で改良
[Android] ストップウォッチアプリを作ってみました
[Android] ストップウォッチアプリの表示をC言語でスムーズに改造する
[Android] 方位センサーを使ってコンパスアプリを作る
[Android] Javaのstaticクラスから非sataticメソッドを呼び出すには
[Android] OpenGLの簡易画像ビュアーにSDカード内の画像を表示する
[Windows8][Android] EclipseをXP互換モードで起動する理由(Can't bind to local 8600 for debugger)
[Android] Android-SDKでやってはいけないこと
[Android] Toastに画像やボタンを表示するには
[Android] ライブ壁紙の作り方
[Android] Activityに時計を表示する(Activityの非同期更新)
[Android] Webコンテンツを強制的に表示するには
[Android] Toastをcancelするには

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

2014年1月4日土曜日

[Android] アナログ時計のアプリをC/C++で改良

Analog clock on OpenGL by Android-NDK
前回の アナログ時計アプリ のOpenGLの部分をC/C++言語で書けるだけ書いてみました。

C/C++を利用した場合、Javaだけで書いたアプリと比べると次のような特徴があります。
・マシン語で動作するコードの比率が増える
・C/C++出使用するオブジェクトはガーベジコレクター(GC)の対象にならない
このおかげでアプリの高速化やバッテリー消費を抑えるなどの効果が期待できます。

今回の開発環境は次の通りです。
・64bit版 Windows8
・32bit版 Eclipse3.7 (Windows XPモードで使用)
・Android-SDK r22.3
・Android-NDK r9

針の画像です。
左から秒針、分針、時針のつもりです。
針の画像それぞれのピクセル数は32×128です。一番右の黒い塗りつぶしの領域は使用しません。

Eclipseのパッケージ・エクスプローラーで、プロジェクトの res フォルダーの下に
drawable-nodpi
というフォルダーを作り針の画像を配置します。

以下ソースです。
※ Android.mk と jni.cpp と glu.h の3つのファイルはEclipseのプロジェクト・エクスプローラーでjniというフォルダーを作ってそこに保存します。

アクティビティ(MainActivity.java)

Android.mk

jni.cpp

glu.h (Android-NDKのsampleの com.example.SanAngeles から抜粋しました)
※特別な権限(Permission)は不要なのでマニフェストは省略します。
Target SDK Version が4以上の設定でビルドできます。
Android1.6以降で動作します。
Android-NDKのビルド方法は環境に強く依存するので省略させて頂きます。
SH-03C(実機)、Android-SDK付属のエミュレーター、Blue Stacksで動作することを確認していますが動作保証は出来ません。

エミュレーターのスクリーンショットです。
前回のJavaだけで書いたアプリと同じように動作するように作ったので見た目の変化はありません。
1秒に1回しか画面が変化しないので、ログまでチェックしないとGCが減ったかどうかは分かりにくいですね。

関連ブログ
[Android] アナログ時計のアプリを作ってみました
[Android] ストップウォッチアプリの表示をC言語でスムーズに改造する
[Android] ストップウォッチアプリを作ってみました
[Android] 方位センサーを使ってコンパスアプリを作る
[Android] OpenGLでプロ生ちゃんをアニメーションさせる
[Windows8][Android] Can't bind to local 8600 for debugger
[Android] 端末の傾きに立方体を連動させる
[Android] フリーサイズの画像をOpenGLのテクスチャに表示する
[Android] Android-NDKでテクスチャを表示するには
[Android] OpenGLで頂点の多いポリゴンを扱うには

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

2014年1月1日水曜日

[Application] Eye元気!2が dマーケット アプリ&レビュー に掲載されました

Eye元気!2が dマーケット アプリ&レビュー に掲載されました。
http://app.dcm-gate.com/app_review/0012777/?utm_source=twi
掲載して頂きありがとうございます。

Eye元気!2はAndroidスマートフォン・タブレットがドコモでなくてもご利用頂けます。
Androidスマートフォン・タブレットで下のPlayストアをタップするとダウンロードのページに移動します。
https://play.google.com/store/apps/details?id=jp.fujiu.eye_genki2 Playストア
※ダウンロード前に エンドユーザーライセンス契約(EULA)プライバシーポリシー を必ずお読みください。

Eye元気!2をはじめMtkのアプリとブログを今年もよろしくお願いします!