<< 2010/12トップページ2011/03 >>
2011年2月28日

スマホに、WiMax付くのかぁ

あぁ〜携帯電話をスマホにしようかと
最近思っているのだがぁ

現在キャリアはauなので
防水スマホIS04にしようかと思っていたが

発表になったISW11HTの
対応料金プランで
「+WiMAX」って月額+525円で使えるとは
WiMAX使わない月は請求無しって(^^;)

さらに「Wi-Fiテザリング」サービスで
無線LANでPCやPSPなど最大8台繋いでも
「ISフラット」でパケット通信料月額5460円
で使えるらしい(^^;)

てことはだ
ISW11HT経由でPCとかPSPとか使用しても
月額料金的には
通話料+ISフラット料金5460円+「+WiMAX」料金525円
だねぇ(^^;)
PCとかPSPとか外出先で繋ぐ前提だと
料金的に割安感があるなぁ

ISW11HTの通信優先順位は
無線LAN、WiMAX、キャリアネットワークの順みたいだね

ただISW11HTは、おサイフケータイが付かない
あとEメール(EZweb)も未定らしいので
そこが残念だね

投稿者:秀at 11:33 | つぶやき | コメント(0) | トラックバック(0)

2011年2月27日

すこし前に揺れたぁ

地震かぁ〜

投稿者:秀at 02:50 | つぶやき | コメント(0) | トラックバック(0)

ペイントなぁ

onDrawを使おうかと思っていたのだが
方法は色々有るが、
やっぱりBitmapを作成してペイントすることにしました。

テストで、ちょっとイジッてみた
具体的には

//基本画像の作成(キャンバスの下地みたいなもの)
Bitmap bitmap = Bitmap.createBitmap(1270, 540, Bitmap.Config.ARGB_8888);

//cnvasにビットマップを代入
Canvas canvas = new Canvas(bitmap);

Paint paint = new Paint();
//アンチエイリアス有効
paint.setAntiAlias(true);

//白でペイント
paint.setColor(Color.WHITE);
//全体ペイント範囲を塗潰し
paint.setStyle(Paint.Style.FILL);
canvas.drawRect(0, 0, 30, 80, paint);

//緑でペイント
paint.setColor(Color.GREEN);
//ライン作画
canvas.drawLine(0, 0, 100, 50, paint);

// argb(透過値,R,G,B)
paint.setColor(Color.argb(50, 0, 0, 255));
//矩形(四角形)作画
canvas.drawRect(10, 20, 70, 50, paint);

//赤でペイント
paint.setColor(Color.RED);
//透過指定
paint.setAlpha(100);
//円形作画
canvas.drawCircle(70, 50, 25, paint);


final ImageView v2 = (ImageView) findViewById(R.id.imageView2);
//ImageView にビットマップをセット
v2.setImageBitmap(bitmap);

こんな感じになる

android005



作画したビットマップの一部を
消す(透過にする)方法が解らんです(^^;)
graphics.Pathあたりかなぁ〜
また、調べて見るかぁ〜


投稿者:秀at 02:39 | さんでープログラム(Android編) | コメント(0) | トラックバック(0)

2011年2月26日

画像を重ねと座標確認とかぁ

取り合えず画像を重ねてみる
方法は色々あるけどね取り合えず
XML上でFrameLayoutを使用してフレームを重ねて
それぞれにImageViewで画像を表示している。

下になるImageViewに
マップジャンルエリア画像を表示して
setBackgroundColor(Color.WHITE)で背景白色にし
透明度をsetAlpha(192)で指定してみる。
透明度を指定して少し薄くする事で
重ねた時に見やすくなる。
上になるImageViewには
サークルの机マップを表示する。
この画像は背景が透明なので
下と画像が重なった様に見える。

上下の画像は同じ大きさなので
上のImageViewからMatrixをゲットして
下のImageViewに、そのMatrixをセットした。
こうする事で上下画像の移動やスケールを合わせる事が出来る。

画面タッチ位置の画像座標取得には

//(画面座標X - ImageView座標 X - MTRANS_X:画像表示座標) / MSCALE_X:ズーム率
int xsql = (int) (( event.getX() - location[0] - values[Matrix.MTRANS_X]) / values[Matrix.MSCALE_X]);

//(画面座標Y - ImageView座標 Y - MTRANS_Y:画像表示座標) / MSCALE_Y:ズーム率
int ysql = (int) (( event.getY() - location[1] - values[Matrix.MTRANS_Y]) / values[Matrix.MSCALE_Y]);

上記な感じで取得しました。
以前
(MTRANS_X、Y + (画面座標XY - ImageView XY)) / MSCALE_X、Y
と書いてましたが間違いで
((画面座標XY - ImageViewXY - XYMTRANS_X、Y)) / MSCALE_X、Y
だったですなw

その画像座標を元にDB検索を掛けました。
処理としては

android004

な感じですね
SQLが使えるからINNER JOINとか連結すれば処理が楽だねぇ〜


実行結果は

android003

いい感じですなぁ〜
画像座標で机座標をDB検索して
ブロックIDとスペース番号で
サークル情報DB検索しているのですが

実行速度はエミュレータですが
机座標DBが約6000件と
サークル情報DBが約4万件を検索しても
表示遅延が気にならないかなぁ〜
実機で試してみたいね

sqlite> select count(*) from ComiketLayout;
5892
sqlite> select count(*) from ComiketCircle;
40388
sqlite>


さて次はチェックしたサークルを
マップ上に印を表示する為の処理でも試すかぁ〜
Canvasでdraw使うかぁ〜

投稿者:秀at 00:07 | さんでープログラム(Android編) | コメント(0) | トラックバック(0)

2011年2月25日

レイアウト座標はgetLocationOnScreenでぇ

画面でのレイアウト座標を取得したい時は
getLocationOnScreenの戻り値int配列で取得でしたぁ
[0]がX、[1]がYですね・・・ちゃんちゃん

ImageView v = (ImageView) findViewById(R.id.imageView1);
int[] location = new int[2];
v.getLocationOnScreen(location);

上記な感じでぇ〜


getTopとかgetLeftって(^^;)

さて次は画像座標計算が上手く行くか検証するかぁ〜

投稿者:秀at 03:57 | さんでープログラム(Android編) | コメント(0) | トラックバック(0)

ImageViewなMatrix〜続き(2)

ImageViewで表示されている画像の座標を探っていたのだが
結局Matrixから取得しようかと(^^;)
そこでImageViewからgetImageMatrixでMatrixを取得して
そのMatrixからgetValuesでfloat配列をゲットする

float[] values = new float[9];
mtx.getValues(values);

上記みたいな感じですね

配列の返り値は

int MPERSP_0 配列[6]
int MPERSP_1 配列[7]
int MPERSP_2 配列[8]
int MSCALE_X 配列[0]
int MSCALE_Y 配列[4]
int MSKEW_X 配列[1]
int MSKEW_Y 配列[3]
int MTRANS_X 配列[2]
int MTRANS_Y 配列[5]

配列の順番がバラバラな様だがぁw

照会する値はMSCALE_X、Y と MTRANS_X、Y
MSCALE_X、Yはスケールなので、そのまんまズーム率ですね。
MTRANS_X、Yは画像の左上が移動している値なのだが
ちと曲者っぽい
実際の値を見ると移動した値にスケールを掛けてる様だ。

なのでスケールが1.0fの時に100x150移動してる場合
スケールが2.0fの時には
MTRANS_X、Yに200、300の返り値が入っている。

だから画像の座標を取ろうと思うと
(MTRANS_X、Y + (画面座標XY - ImageView XY)) / MSCALE_X、Y
となりますかな。

でもXMLでフレームにImageViewが入っていると
getTopやgetLeftが変な感じなので少し考えてみるかぁ〜

投稿者:秀at 01:32 | さんでープログラム(Android編) | コメント(0) | トラックバック(0)

2011年2月24日

さいきん空なぁ

いまだにFF11やってますが
Lv90になると
赤/踊ソロでファスト、デスポ、ジパと
正面きって殴り合っても勝てる様になるとはねぇ〜
まぁ〜13〜4人居れば
麒麟が3分クッキング出来る時代なのだが(^^;)

投稿者:秀at 08:37 | FF11 | コメント(0) | トラックバック(0)

2011年2月23日

ImageViewなMatrix〜続き(1)

変な動きしていたのが何となく解決しましたぁ(^^;)
実はアホな事をしてましたw
画面の縦横幅値を
(実際はImageViewのgetHeightとgetWidthを
画面の中心値なので2で割ってます)
xy軸に入れ間々違ってました(爆)
微妙にズレいたのは、このせいでしたw

実際、ズーム処理の際に
postScaleで
拡大縮小時には
第1(x)、第2(y)パラメータのズーム率
第3(x)、第4(y)パラメータのズーム基点位置(?)に
絶対的ズーム率を掛けて表示している見たいだね

でも処理の最中にMatrix値が変な値になるので
Matrix処理する時は
最新のImageViewのMatrix値を
getImageMatrixで取り直して置かないと行けない様だった。

あと、Matrixを使うImageViewには
XML側のタグにandroid:scaleType="matrix"の追加すること

さて次は実際ズームされた画像のダブルタップされた
画像の実位置情報を、どうやって取得するか調べてみるか
onDrawあたりかなぁ・・・

投稿者:秀at 06:59 | さんでープログラム(Android編) | コメント(0) | トラックバック(0)

ImageViewなMatrix〜

画像の拡大縮小や移動は、
Matrixを使うとなんとなく動くようになったのだが
画面中央を基点としての拡大縮小が上手く行かない(~~;)

postScaleの第3,第4パラメータで表示基点(?)を渡す見たいなのだが
思う様に表示されず微妙にズレる
setScaleを使って見るが此方も良く解らん
ま〜
第1、第2パラメータはズーム系で
postScaleは相対値的な動作で
setScaleは絶対値的な動作はするのだがぁ

移動に関しては
タッチイベント情報を元に
postTranslateで移動距離を相対的に渡せば何とかなってる
ま〜タッチイベントのMove中にも処理しているので
タッチ中は画像は付いて回るのだが

ここら辺は、よく使いそうなので
理解するまで、しばらくイジッってみようと思う


投稿者:秀at 05:27 | さんでープログラム(Android編) | コメント(0) | トラックバック(0)

2011年2月21日

ひさびさのぉ〜

4年ほど使っている携帯電話を変えようか
どうしよううか悩んでいたところ
防水スマートフォンが出るみたいなので
ソレにしようかと思っている。

ここ最近その事も有ったのでAndroidの
へっぽこアプリを作り始めました。

環境的にはJDK入れて
ツールは一般的(?)なeclipseのSDK3.6.1(Helios)に
android SDK R09なども
入れて2週間ほど使ってみました。
フリーで揃うのはいいねぇ〜っと

手始めにAndroidプログラムが始めてだったので
まずはeclipsの操作から始まり
Activity作成ぇ〜基本的な中身のJava、XMLなどは簡単に出来ました。
画面の項目を色々配置して
テキストファイルや画像ファイルを読込んで表示
複数画面の切替えて見る。
次にSDカードからテキストや画像のファイルを読み込み表示
あと圧縮ファイル(ZIP)もクラスが有るのでアクセスし易いっス
DBにSQLiteが標準で実装されてるポイので
色々いじってみる。
今は画像の拡大縮小、移動などなどイジッている。

ま〜素材が無いと色々手間な事が多いので
素材としてコミケCD-ROMのデータを利用してます。

試作アプリは、サークル情報やマップ情報を表示・操作するアプリです。
ま、この手のアプリは色々存在しているのだが
画像やらデータが大量に有るので良い素材ではある。
一番いいのはDBデータがSQLiteで扱える事
まあ文字をS-JISからUTF-8に変換しないと行けないですが
この辺は色々手段は有るしね。

android002



android001



イメージ的にはテスト画面ですが、こんな感じですな。

今のところの感想は
4〜5年ほどプログラムやってなかったけど
色々ツールも揃ってるし
JavaやAndroidのクラスもいっぱい有るので比較的簡単に作れるかな。
まだ実装テストや理解が中心なので
例外処理は無視してますが(^^;
まぁJavaクラスは良いが
Androidクラスのメソッドを理解するのに手間取りますが(^^;
クラスを解説しているサイトがまだ少ないからねぇ〜

本買えって言われそうですがw
昔は本屋で1日中立読みとか、よくやったなぁ〜懐かしいぃ

ま〜技術的な出来事はボチボチ報告しますね〜

投稿者:秀at 21:48 | さんでープログラム(Android編) | コメント(0) | トラックバック(0)

<< 2010/12トップページ2011/03 >>
▲このページのトップへ