アーカイブ | Program RSS for this section

方位センサー

以前、センサーを使ってどうこうという話を書きました。

SensorとMatrixの話

このときは1.6前提での話だったのでTYPE_ORIENTATIONを利用するという話を書いていたのですが、その後この定数はdeprecatedということで廃止予定だから、なるべく使わないでくださいねってことになっていました。

そこで代返の機能を調べてみることにしました。

 

それから、2012/2のAndroidの会横浜支部定例会で方位センサーに関する話をしまして、そこで発表した内容などをgithubに載せています。

https://github.com/sato-c/sensorcheck

「よくわかるAndroidアプリ開発の教科書」のライブ壁紙で使っている方位磁針が元ネタですが、それを1つのViewにまとめて表示していますので、見てみてください。解像度違っていても同じ比率で表示するようにもしてあります。

続きを読む…

広告

今さらながら、見たよボタンみたいなものを作ってみた

最近blogでよく見る「見たよ」っていうボタンや判定関係のやつで「ここクリックしてつぶやけよ」的なものをどうやって作るんだろうなと思っていたわけです。
そんでもって、?status=と付ければいいよというのはわかったのですが、 URL の後ろにそのまま表示されているのも嫌だなと思ってたら、意外と簡単に隠す方法がわかったので、実装してみました。

みたよ
みたよ(python版)
画像でもいいですけど、リンクでも使えます。

設置されている場所を bit.ly で短縮 URL にして追加するんで自分で設置するときは bit.ly の APIKEY と ID が必須になります。

例によって、行頭の扱いがひどいことになっているので見づらいですが、参考になれば。

<?php
$bitlyAPI = "http://api.bit.ly/v3/shorten?&quot;;
$bitlyAPIKEY = ""; // bit.lyのAPIKEY
$bitlyLOGIN = ""; // bit.ly のLOGINID

function getShortenURL ( $uri ) {
global $bitlyAPI;
global $bitlyAPIKEY;
global $bitlyLOGIN;

$params = "login=%s&apiKey=%s&uri=%s&format=txt";

$url = sprintf ( $params, $bitlyLOGIN, $bitlyAPIKEY, $uri );

$ch = curl_init($bitlyAPI . $url);
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
$result = curl_exec($ch);
curl_close($ch);

//print $bitlyAPI . $url;

return $result;
}

$ref = $_SERVER[‘HTTP_REFERER’];
$setstatus = ‘home?status=%s’;
$twitter = "http://twitter.com/&quot;;
$msg = "見たよ→";

if ( trim($ref) ) {
$msg .= ‘ ‘ . getShortenURL($ref);
}

$update_status = sprintf ( $setstatus, rawurlencode($msg) );

header("Location: " . $twitter . $update_status );
?>

画像を保存してみるテスト

fopen で url が扱えるサーバーならば、別に問題ないのですがいろいろな関係で現在使えないところも多々あります。
で、そういうところじゃよそ様へアクセスする手段は全然ないのだろうかと思っていたところ、curl が使えるということがわかりまして、この辺りを使ってテストがてら書いてみたスクリプト。

ただし、curl と gd が入ってるサーバー用です。
CURLOPT_REFERER に URL を設定してやると REFERER 見て画像を参照させているようなところでも画像が取れるようですね。

使い道があるのかないのかわかりません。
相変わらずソース表示するとインデントがなくなっちゃっててすいません。

<?php
function is_url($text) {
if (preg_match(‘/^(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/’, $text)) {
return TRUE;
} else {
return FALSE;
}
}

if ( isset($_POST[‘url’]) && trim($_POST[‘url’]) ) {
if ( is_url($_POST[‘url’]) ) {
$filename = basename($_POST[‘url’]);

$ch = curl_init($_POST[‘url’]);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt($ch, CURLOPT_REFERER, $_POST[‘url’]);
$tmp = curl_exec($ch);
if ( ($fp = fopen ( $filename, "wb" )) != NULL ) {
fwrite ( $fp, $tmp );
fclose($fp);
}
curl_close($ch);

if ( $siz = getimagesize($filename) ) {
$w = $siz[0] / 4;
$h = $siz[1] / 4;
printf ( ‘<img src="%s" width="%d" height="%d"><br/>’,
$filename, $w, $h );
}
}
}
?>

<form method="POST" action="<?php print $_SERVER[SCRIPT_NAME]; ?>">
<input type="text" name="url"><input type="submit" value="getimage">
</form>

Adobe FLASH PLATHOME CAMP Tokyo

Adobe FLASH PLATHOME CAMP Tokyoへ行ってきました。
Flash CS5 の説明を中心に Flash の技術の紹介などが行われるセミナーでした。

特に衝撃だったのは、UnitZeroOne:Ralph Hauwertさんのリアルタイム 3D モデリングについての話。

こんなのとか
こんなのとか
こんなのとか
作る方法を解説してました。

△を分割していくんだよ!
そうすると、ほら!
球になっていくんだ。

って感じの話。

リアルタイムで動くよっていう話から、NexusOneを出してきてNexusOneのflash 10.1 でも動くんだよ、ほらね!って見せてくれました。
実際にNexusOne でスピードは若干ゆっくりだけど動いていたので Android で flash 本当に動いてるんだということで。

もう1つは iPhone のアプリ開発に Flash CS5 使えるよ!っていう話。
Micke Chambersさんが説明してました。

って、すでに去年発表されている話だったようですが、昨日初めて見たもんで…。
ちゃんと GPU で描画するとか、iPhone 用に作ったものは他には転用できないんだよねと言ってたんで、そういうチューンをした AS/FLEX の iPhone 用ネイティブコンパイラかなと思うんですが、その辺りは Flash Professional CS5 で検索してもらうといいかもしれません。

UStream 枠というのが募集の中にあったので、当日の様子を中継している人が結構いたようです。
録画モードで中継していた方もいるようなので、あとで探してみたいと思います。

WindowsAzure

Windows Azure Platform デベロッパーセンター

microsoftからのメールを久々に見てみたら、先週Azureが使えるようになりました的なメールが来てましたので、メモ書き。

microsoft tech daysの開催日にmicrosoftのエヴァンジェリストを交えて行われる丸山先生のマルレク2010では、AzureでTomcat+MySQLとかJavaを動かす話が聞けるそうです。
microsoftだけに、Azure上で使える言語はVBとかC#とかそういう自社製品の派生系だけかと思っていたら、JavaやPHPも動くそうなので、結構意外でした。

ハンズオンセミナーも何回かあるようなので、都合がつけば行ってみたいですね。

Wizard Bible 49

WizardBible最新号が公開されました。

今回から、不定期連載でAndroidのネタを書いていきます。

まずは、定番とも言える、SDKインストールネタです。

今回のバージョンアップから、めちゃめちゃ楽にインストールできるようになってますので、解説的な部分を書く必要はないかなと感じたのですが、そうはいっても自分自身もSDKインストールの手順とか調べるのめんどくさくて全然使ってなかったのを思い出したので、手順とblogでネタにしてなかったプログラムを使って仕上げてみました。

GAE/Jについてもここのところ全然調べてなかったら、Eclipseからものすごく簡単に扱えることがわかりましたので、こちらについてもAndroidSDKインストールと合わせて1つの記事で説明しました。

両方をJavaの勉強がてら、書いていきたいと思います。

Javaについて悩んだら、金床さんがやさしく教えてくれるということでしたので、安心してJavaの勉強ができそうです。

Wizard Bible 48

IPUSIRONさん(http://akademeia.info/)がやっているWizardBibleに原稿を書きました。個人的な話なので内容的には浮いている気がしてアレですが→http://wizardbible.org/48/48.txt

http://wizardbible.org/ から過去の文章を見ていると結構おもしろい話が載っていますので、技術的な話に興味がある方は見てみるといいと思います。

暗号、数学の話、リバースエンジニアリングに関する話などは結構参考になるんじゃないでしょうか。

%d人のブロガーが「いいね」をつけました。