2014年12月06日

修正しました

イメージファイルのサイズ縮小サービス、修正しました。
2.JPG

ドロップされたファイルを読み取り、タグを動的に追加してファイルの内容を設定し、続けてそのの内容をcanvasに取り込むのですけど、にファイルの内容が設定され終わる前にcanvas取り込みを始めていたのだろうと思いました。

よって、<img>のloadが完了したところで、canvasの処理をするように変更したのでした。

これで、うまく動作するようになったのではないかと期待しています。自分で試したところでは、変換されない現象はでなくなったので大丈夫かなと。

あとは、リロードというか、htmlの読み直しをしなくても続けて処理されるようにしたいですね。

サンプルに使ったソースでは、var maxFiles = 5;としていて、5つまでドロップできる仕様だったのですけど、e.dataTransfer.filesで複数ファイルを取得してループするようになってて、1つ処理したら、うまいことクリアできるといいんじゃないかと思うんですよ。でも、全然よくわかってません。

以上

blog_icon.png
posted by はたけきかく at 00:16 | Comment(0) | 技術 | このブログの読者になる | 更新情報をチェックする

2014年12月05日

写真を小さくして返すサービス Part2!!

作ってみた。写真を送ると小さくして返してくるサービス
でお知らせした、写真をアップロードすると、幅360pxにして返してくるサービスですが、バージョンアップしました。
IMGP9290 (480x360).jpg

ドラッグアンドドロップに対応しました。

ただ、うまく動かない場合があるので、そこは申し訳ありません。そのときはやり直してもらえればまぁまぁ変換可能なようです。

http://rszimg.appspot.com/

上のURLを開くと、ボタンでファイル参照して送るサービスと、ドラッグアンドロップで変換するサービス、2つのリンクをおいてあります。

2つ目が今回のリリースとなります。

1つ目は、Google App EngineのBlobサービスに画像サービスを使ってますが、なんと、2つ目はJava Scriptのみ..。なんだこれ?!

えー、最初は、FormDataクラスを使ってpostしてということを考えていたのでしたが、どうも、それではBlobサービスがうまく値を取れないようで、

Map<String, List<BlobKey>> blobs = blobstoreService.getUploads(req);

の結果がNullになるんですよ。そこが解決しないので、結局、Java Scriptだけになったというわけです。

Google App Engineが要らないだけではなく、サーバーも不要。静的htmlとJava Scriptだけで、ローカルでできちゃいます。お間抜けな話でした。。

以上

blog_icon.png
posted by はたけきかく at 19:40 | Comment(0) | 技術 | このブログの読者になる | 更新情報をチェックする

2014年11月21日

CordovaでAndroidアプリ

たまに思いついて何か作ろうとするんですが、いつもやってるわけではないので、結局、前半はぐだぐだになってしまいます。

そもそも、作るとしても、ネイティブアプリではなく、Webアプリのネイティブ化でやってるので、そんなに嵌るはずもないんですが、やはり嵌ってしまいます。

今回はCordovaです。

そもそも、ゲームアプリの解説本


にあった、PhoneGap( http://phonegapexperts.com/ )から入ったんですが、なんか、いつの間にやらCordova( https://cordova.apache.org/ )だったり、その前にNode.js( http://nodejs.org/ )だったり、そういうことをしているうちに、環境セットアップだけで時間が刻々と..。

どうにか作れそうだとなって、作り始めるというか、index.htmlをちょこっと変えて、エミュレーターにアップロードしても全然変化せず。

なになに??と、疑心暗鬼になって、ここでまた嵌る。

今回参考にしたサイトはこちら。
http://www.buildinsider.net/mobile/bookhtml5hybrid

これって、ハイブリッド。つまり、WebアプリならAndroidもiOSも同じような手順で同時にいけるぜっていうやつなんで、iOSのライセンスを持ってないんだし、始めからハイブリッドの環境なんて要らないんですけど、ついついね。

他にも、Amazon Fire OS、BlackBerry 10、Firefox OS、Windows Phone 8などなどがあるので、ハイブリッドだなーって思います。

さて、話を戻し、結局、なんで、嵌って、いたのか(句点多過ぎ..)。

ビルドされてなかった..。

エミュレーターに入れたのを削除してから再アップロードしたり、Eclipseを再起動したり、エミュレーターを再起動したりといろいろやったものの、だめだったのはビルドの問題でした。

哀しい。。

Eclipseを自動ビルドにしてあって、それでいいと思い込んでたのですが、そうではなかった。

エミュレーターでの実行前に、コンソールから、プロジェクトのディレクトリに移動して、
>cordova build
をしてから実行すれば、それでちゃんと変更点が反映された。

あとは、Webアプリなので、ボタン付けたり、JavaScriptを書いていってOKとなりました。

今回も間抜けだった。ま、慣れですよね、慣れ。というか継続しろよってことかな。

それともう一つ、最後にまた嵌った。

apkを生成するときなんだけど、そもそもエラーもないからそこまで進んだわけだし、まさかここでか、なエラーが出ました。

Conversion to Dalvik format failed with error 1


なんじゃ、こりゃー、ですよ。まじで。

わけがわからないので、ネットで聞くんですけど、余計な(ま自分には無関係な:外部Jarが悪さしてるんだとか..の)情報を捨てていきながら、お、これかっていうのがありました。

すごいね。ずばりでした。
http://stackoverflow.com/a/18484171

答えは、「apkを作る間だけ、自動ビルドのチェックを外しておけばうまくいくよー」っていう話でした。

ここでまた自動ビルドか。

っつーか、自動ビルド、効いてるってことなのかな。先に書いたこととの整合性が取れてない気もするが、ま、そんなとこです。

できたアプリは公開したけど、どうってことないものです。Webアプリだし。
https://play.google.com/store/apps/details?id=info.hatake_kikaku.mymusic

むかーし作ったデモテープから起こした音源を聴くだけのアプリです。これを公開するっていうのもアレだけど、こういうやり方もあるよ、とか、こういうのが作れるよ、とか、こいつなんなの?みたいな、何かになれば良いかなって思うのです。

前、作ったやつは、いまだにダウンロード数、5。
https://play.google.com/store/apps/details?id=info.hatakekikaku.app.android.navi2

そのうち1つは自分だし。
※Android機を持ってないので、Blue Stacks( http://www.bluestacks.com/ )です。

以上

blog_icon.png
posted by はたけきかく at 16:22 | Comment(0) | 技術 | このブログの読者になる | 更新情報をチェックする