Translate

2010年4月15日木曜日

AndroidアプリからAmazon S3へファイルを格納する

Amazon S3上にAndroid側で作成したファイルをおきたくて、
S3のAPIドキュメントをよんでRESTClientでナントカつなげようとしたけど
うまくいかない..
たぶんAutorizationに設定する値が生だとだめなのかな..

で、なにか方法はないかなと調べてみると、

Amazon S3 Library for REST in Java

http://developer.amazonwebservices.com/connect/entry.jspa?externalID=132

を見つけた。

これを使えばいいけど

をAndroidManifest.xmlに登録しないといけない。

そうしたらうまくいった。

AWSAuthConnection conn = new AWSAuthConnection(
ACCESSKEYID,
SECRETACCESSKEY,
false, ←trueだとhttps
"s3.amazonaws.com", ←
CallingFormat.getSubdomainCallingFormat());

Response res = conn.put(
BUCKETPATH,←トップのバケット名
"hogehoge/test.txt",
new S3Object(imageData(バイト配列), null),
null);

これでOK。

2010年4月13日火曜日

エミュレータ開発で変になることありませんか?

これは、私のPCだけの現象なのだろうか..

Android開発をThinkPadX40上で行っているのだけど、
何度かエミュレータ実行を繰り返していると、
Installing なるログがでたっきり何も反応しない。
Eclipseはそのまま動作するので
すでにエミュレータ上に反映されているように見える。
なので、エミュレータ上のアプリを実行してみるのだけど、
これが前の状態のまんま..

エミュレータは上げっぱなしで再実行しているので
問題があるのかなあとおもい、
エミュレータを上げ直してみるけど、だめ。

しょうがないとおもいeclipseをとめると..
なんか突然エミュレータがおきてきた。

なんかメモリが足りなくて処理が止まっているかんじ?

しょうがないので
たまに変だなと思ったら
エミュレータだけでなくEclipseも上げ直している。

..非効率きわまりない..

2010年4月7日水曜日

Android開発環境構築時、platforms is missingと出てはまる

「Google Androidアプリ開発ガイド」を買って
開発環境を作ろうとして
SDKをダウンロードして展開して
SDK Setup.exe を実行したら
黒いウィンドウが出てしばらくして消えた。

できたもんだとおもい、
Eclipseへプラグイン導入して、
preference設定しようとしたら、
ダイアログが出て
「Error: platforms is missing」とでた。

たしかに私のSDKのディレクトリplatformsなんざない。

で、いろいろしらべてみた。
日本語サイトにはない。
AndroidサイトのFAQにもない..

えー、みんな困っていないのか!
俺だけ!!

しょうがないので
Android Beginners グループ(英語)
にはいって検索すること20分
やっとみつけたのが、これ。

http://groups.google.com/group/android-beginners/browse_thread/thread/351c86da7a84b052/a7c5a8ce7c2f3507?hl=ja&lnk=gst&q=platforms+is+missing#a7c5a8ce7c2f3507

ははあ、Zip解凍ツールが全部解凍し切れていないのか!

実は私はマイナーな Zelda というシェアウエアを購入して
使っている。
普段はそういう問題はでないのだけど、
SDKを解凍する際エラーになって途中で解凍が止まっていたのだろう。

そら、どこにもないわなあ..
メジャーなLhasaを入れて、解凍したら..
platformsディレクトリ..あんじゃん...


..疲れた..

Android開発者の道は、険しく遠い..

既存の複数のEC2インスタンスを毎週月~金の8:58から18:02まで起動させておくCloud Formation定義ファイル

トライアンドエラーを繰り返し表題の定義ファイルをつくった。 ようやく動作したので、グログにのこしておく。    忘備録として:   AWS EventBridgeを使っている(Lambdaでやる方法もある) イベントバスはdefaultでないとスケジュール化できなかった パラメー...