無料アプリカタログ。。。

HT-03A付属の標準バッテリー1,340mAより、210mA多い、1,550mA。。。

たしかに便利そう。私は、2個目のバッテリーを未開封ですが。。。

コンセントありのマック/マクドでコーヒー飲みながら充電が至福の時。。。

私はADP1に貼られたものを無理やり剥がして使っています。。。

たしかに、真剣な顔でRobo Defenseしているのを見られたくないかも。。。

Donut の手書きジェスチャーの話の続編。

前回、手書きジェスチャーを追加できることがわかったのですが、
削除方法がわからず困っておりました。

 

結局のところ、ソースコードから追って、解決しました。。。

 

手書きジェスチャーの一覧を表示するには

ホームスクリーンでメニューキーを押下後、Gestures(ジェスチャー)を選択すると、
登録済のジェスチャーを一覧表示することができます。

menu_gestures.png gestures.png

 

手書きジェスチャーの一覧をリネーム/削除するには

ジェスチャーの一覧表示後、リストの行(アイテム)を長押しすると、リネーム、または、削除を実行できます。

※リストの行(アイテム)をタップしても・・・、メニューを押しても・・・、何も起こりません。。。。

gestures_long_press.png

 

困ったら長押しが基本。。。

Donutでは、ホームスクリーンでホームキーを押すと、アプリ起動用?の手書きジェスチャーが起動するようです。

 

手書きジェスチャーを登録するには

手書きジェスチャーを起動後、画面を一筆書きした後、右下の+ボタンをクリックします。

※ここでは、数字の8を書きました

draw_a_gesture.png add_gesture.png 

 

次に、ショートカット選択画面が表示されるので、関連づけさせたい任意のショートカットを選択します。

※ここでは、Settingsアプリケーションを選択しました

select_shortcut.png added_gesture.png 

すると、次回以降、手書きジェスチャー画面で、8を手書きすると、Settingsアプリケーションが起動するようになります。

 

他にも、縦線、横線、円、四角、星(左から一筆書き)、星(右から一筆書き)を登録してみました。

vertical_line.png horizontal_line.png  

square.png

star.pngstar2.png

 

ちなみに、Androidのソースコードでは、Launcherのコードは、

packages\apps\Launcher\src\com\android\launcher

下にあります。

 

また、android.gestureパッケージのソースコードは、

frameworks\base\core\java\android\gesture

下にあります。

 

最後になって申し訳ないのですが、

ADP1 に Donut をインストールする手順を書いてくださったブリリアントサービス先生、sola先生に感謝です!

[Android] Donut Power Control Widget

| トラックバック(0) |

Donutでは、標準の設定(Settings)アプリに、
トグル(toggle)系の電源管理ウィジェット(Power Control Widget)が含まれていました。

 

このウィジェットでは、以下のとおり、5種類の設定を簡単に変更することができます。

  1. Wifi の On/Off 切り替え
  2. Bluetooth の On/Off 切り替え
  3. GPS の On/Off 切り替え
  4. バックグランドデータの同期(Sync)の On/Off 切り替え
  5. 画面の明るさ(Brightness)の 3段階切り替え

 

ごにょごにょっと入れてみると、以下のような感じでした。

donut_power_control.png

[Android] simple で BASIC

| トラックバック(0) |

simple - Project Hosting on Google Code
http://code.google.com/p/simple/

 

ネタ元は、こちら。

  1. [N] 「Simple」Androidアプリを開発できるBASICのようなプログラミング言語
  2. akaiho St. » Androidアプリケーション用開発&実行環境 simpleを使ってみる・・・安生先生
  3. Flex、AIR、Java、Androidなど » Android用のアプリをBASICで書けるようになったようです

 

安生先生のブログを読むこと、5分後、BASICで書かれたテトリスが動作!

昨日も感じたのですが、Android ブロガーって素晴らしい。。。

tetris.png

※上記ブログでは、Mac 環境をベースに解説されていましたが、Win 環境でも適宜読み替えることで同じ手順でできます。

 

上手くいかなかった場合

  • 「JAVA_HOME」「ANDROID_HOME」「SIMPLE_HOME」の環境設定変数が正しいことを確認すること
    ※Win 環境の場合、コマンドラインから「set」コマンドを実行して確認できます
  • Java の bin フォルダ、Android SDK の tools フォルダ、simple フォルダにパスが通っていることを確認すること
    ※コマンドラインから「keytool」「adb」「simplec」コマンドを実行できるかどうかで確認できます

 

最後に、落としてきたソースコードをみて気づいたのですが、simple の BASIC は、VB/VBA ライクですね。

simple のプロジェクトホームでも下記のように書かれていました。

In the 90s, a big company from up north was extremely successful with a dialect of the programming language BASIC (acronym for Beginner's All-purpose Symbolic Instruction Code). 

・・・。

90年代ですか・・・。

てっきり、80年代の MSX の BASIC とか、PC98 の N88BASIC を期待したのですが。。。

行番号書いていた時代が懐かしい。

AppWidgets と省電力化について、下記リンク先に興味深いトライアル記事がありました。

「思ったより、省電力対応の作りにするのに時間かかっている件 - 闘争より逃走したい日記」
http://d.hatena.ne.jp/TAKAOMAYA/20090728/1248751971

※この記事は、複数のエントリに分割されているので、いったん RSS でフィードした方が読みやすいです
 ブラウザから読むには、リンク先内の左方向へのリンクの順に読むのが正解

 

本題に戻ると、同関連エントリの最後で、onReceive() から AppWidgetManger の取得方法が・・・という書き込みで終了していました。。。

関係ないかもしれないですが、Context から AppWidgetManager のインスタンスを取得する方法を以下に書いておきます。。。

public void onReceive(Context context, Intent intent) {
    ・・・省略・・・
    AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
    ・・・省略・・・
}

 

ところで、その後のエントリで、Widget はリリースされていましたで、さっそくインストールしてみました。

Minutes Widget for Android (初音ミクVer) 、1.0.2 リリースしました。 - 闘争より逃走したい日記
http://d.hatena.ne.jp/TAKAOMAYA/20090728/1248785866

 

ダウンロードは、Android Market から、「Minutes」で検索して辿り着きました。

MinutesWidgetForAndroid.png

 

省電力化の際、「Spare Parts」や「Battery Graph」(どちらも Android Market からDL化)で得られる情報も役に立つので、
今後に期待したいですね。

省電力化については、いづれまとめる予定(のつもり)。

android.graphics パッケージ Bitmap クラスの static メソッドである createBitmap() を使用すると、動的に Bitmap を作成することができます。

Bitmap を編集する場合、getPixels() / setPixels() を呼び出すことで、ピクセル操作することができるのですが、この方法だと、直線や円など、複雑な描画をするのは、少々面倒です。

そういった場合、BItmap と Canvas クラスをあわせて使用すると、Canvas クラスの高度な描画メソッドが利用できるため、複雑な描画を簡単にすることができます。

具体的には、描画したい Bitmap を Canvas クラスのコンストラクタに渡し、Canvas クラスの描画メソッドを呼び出すだけです。

サンプルソースコードは、以下のとおりです。

 

サンプルソースコード

Bitmap bitmap = Bitmap.createBitmap(72, 72, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
// ここから、Canvas に対して、直線、円、矩形、塗りつぶし、回転・・・などの呼び出しをすると、
// 描画結果は、Bitmap に反映される
// 以下は、パスを描画する例
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(Color.BLACK);
paint.setStyle(Paint.Style.FILL);
Path path = new Path();
path.moveTo();
path.lineTo();
// ...
path.close();
canvas.drawPath(path, paint);

 

あわせて読みたい

ADP1 のイメージを、Android 1.5 SDK, Release 3 に対応するバージョンに更新してみました。

※ADP1(HTC Dream)の話であり、HT-03A(HTC Magic)の話ではないので、ご注意ください

adp1_1.5r3.png

今回の更新により、Kernel version が 2.6.27-00393、Build number が 1.5 CRC1 150275 へ更新されました。

※更新前(Android 1.5 SDK, Release 1)は、Kernel version が  2.6.27-00392、Build number が 1.5 CRB21 147201

 

以下、更新手順です。

前提条件として、既に Android 1.5 SDK, Release 1 当時のイメージに書き換えてある前提で書いておりますので、そうでない方は、まずは、「[Android] 続Android Dev Phone システムイメージ書き換え(Android1.5編) - adakoda」の前半(Update the Device Radio Firmware)の記事も参考にしてください。

前提条件を満たしている場合、Android 1.5 SDK, Release 1 から Release 3 への更新で、Radio Firmware に変更はありませんので、下記の Recovery Image の更新だけ実行していただければよいです。

また、手順については、これまでに紹介してきた手順と同じですので、以前の記事の signed-dream_devphone_userdebug-ota-xxxxxx.zip の xxxxxx を、最新のバージョンに読み換えてもらってもOKです。

 

Android1.5r1からr3への更新手順

事前準備

http://www.htc.com/www/support/android/adp.html
から、バージョン毎の Recovery Image をダウンロードする。

※ここでは、signed-dream_devphone_userdebug-ota-150275.zip のみ使用

 

Copy the Recovery Image Package to the Device

  1. デバイスにSDカードが挿入されていることを確認する
  2. デバイスを通常どおり起動する
  3. デバイスとPCをUSBで接続する
  4. コマンドラインから「adb devices」を実行し、デバイスと接続できていることを確認する
    ※「List of devices attached」の出力に続けて、デバイスのシリアル番号が表示されればOK
  5. コマンドラインから「adb push signed-dream_devphone_userdebug-ota-150275.zip /sdcard/update.zip」を実行し、
    1~2分待った後、「adb shell sync」を実行する。
    ※ota~zipは、必要なバージョンに応じて適宜読み替えてください、ここでの例は、Android1.5に書き換える場合の例
    ※しばらく待つのは、コピーしたバイト数が表示されていても、バックグランドでコピーが実行されていて、完了していない場合があるため
  6. (家のマークの)HOMEキーを押したままリブートし、いつものDroid君のあとに、
    (びっくりマーク)!アイコンが表示されるまで(押したまま)待つ
    ※リブートは、「adb shell」「su」「reboot」、もしくは、電源長押し後、電源を切って、入れ直す
  7. キーボードを出して、ALT + l キーを押し、Android system recovery utilityを起動させる
    ※ここでの l キーは、エルキーです、アイキーでも、数字の1キーでもないです
  8. ALT + s キーを押し、(先の5でコピーしておいた)update.zipの書き込みを実行させる
  9. 「Install from sdcard complete」が表示されたら、
    (家のマークの)HOMEキー + (戻るマークの)BACKキーを押し、
    radio imageの書き込みを実行させると、矢印のイメージのあとに、自動的に再起動され、
    さらに、別のイメージ(ROMに矢印)が表示された後、通常どおり起動されます

日本Androidの会の嶋先生が講演された「Androidの最新技術動向と可能性」の記事が、マイコミジャーナルさんに掲載されていました。

【レポート】WIRELESS JAPAN 2009 - 日本Androidの会幹事の嶋氏が語るAndroidの最新技術動向 | 携帯 | マイコミジャーナル

以前から注目していた講演ですが、参加できず悶々としていたのですが、マイコミジャーナルさんのスライド写真付きの丁寧な解説により、貴重な情報を得ることができました。ありがとうございます!

講演の内容についても、ここ数ヵ月の最新動向を上手くまとめておられて、あらためて上手いなーと思いました。お疲れ様でした。

個人的には、Android の動向は、「Android ニュースリンク集」に残しているのですが、このようにまとまった解説があると嬉しいですね。

特に、解説記事内の5番目のスライドキャプチャ-にある「Android 端末の登場 - CPU情報」みたいに横並びでまとめてある情報は、わかりやすいし、嬉しいです。

今後も、Android 端末のハードウェア最新情報一覧を、どなたかが まとめてくれたら嬉しいな~(祈)。

 「android情報まとめ @ ウィキ」や「アンドロイド情報提供サイト Recently Android」などが有力かな?

[Android] RemoteViews が倒せない App Widgets の限界に挑戦(前編) - adakoda」の続編。

App Widgets として動作するコンパスアプリの話の続き。

このコンパスアプリは、App Widgets として実装しているため、
アプリを明示的に起動しなくても、ホームスクリーン上で、リアルタイムにコンパスの針がグリグリ動きます。

※App Widgets の更新間隔は1 秒間に設定 

では、どうやって、App Widgets でイメージを更新しているかというと、エントリタイトルのとおり、RemoteViews クラスを使用しています。

具体的なソースコードは、以下のとおり。

@Override
public void onUpdate(
    Context context,
    AppWidgetManager appWidgetManager,
    int[] appWidgetIds) {
    ... 省略 ...
    RemoteViews remoteViews = new RemoteViews(
            context.getPackageName(),
            R.layout.appwidget);
    remoteViews.setImageViewBitmap(id.compass, bitmap);
    for (int i = 0; i < appWidgetIds.length; i++) {
        appWidgetManager.updateAppWidget(appWidgetIds[i], remoteViews);
    }
    ... 省略 ...
}

簡単に解説しておくと、App Widgets のリソースにアクセスするには、RemoteViews インスタンスを作成する必要があります。

ここでは、App Widgets 内のリソースに、compass という名前の ImageView を配置しており、
同ビットマップを更新するために、setImageViewBitmap() を呼び出しています。

ポイントは、AppWidgetProvider.onUpdate() で渡された AppWidgetManager を使用し、updateAppWidget() 呼び出している箇所で、
これを実行しないと、いくら RemoteViews インスタンスを操作しても、更新されない点です。

また、ここで渡している Bitmap は、コンパスの針のイメージを 360枚用意しているかというと、そうではなくて、
実行時にソースコードベースで、動的に Bitmap を作成してしています。

※このあたりも長くなってしまうので、別のエントリで紹介する予定です

 

# 余談ですが、このコンパスアプリをホームスクリーンに16個登録して放置しておいたら、15時間ほどで電池が切れました
# HT-03Aの電池の充電は、PCからUSB経由で充電して、1時間に18%回復(約5時間ちょいで100%)という感じでした

<<前のページへ 1718192021222324252627

Android 楽しいよ!

2010年12月

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

自作フリーソフトウェア