2016年6月29日水曜日

そりゃまあ動くわな。:android.hardware.camera2使ってみた

こんばんは。眠い。こんばんは。

ふと、Androidで新しいカメラアプリを開発しようと思い立ちまして。
以前開発したカメラアプリは、実はこのあいだ非推奨(deprecated)になった「android.hardware.Camera」を使っていまして。

代わりに「android.hardware.camera2」を使え、とのことらしいんですが。

・・・非推奨、と言ってもまだ使えるしー、「camera2」が使えるデバイスはまだまだ限られているらしいしー。
ちょっと様子を見てたんですが・・・。

ちょっと芋焼酎の水割りで気が大きくなったところで、
「よっしゃCamera2やってみたろうかい」と相成りました。
どうせ「2」がついただけじゃろ、がははは、ってノリで(水割り一杯目)。

・・・。
あかんかった。ノリでなんとかなるもんじゃなかった。
なんか、CameraとCamera2は、じぇんじぇん違うらしい。
ググると色々サンプルが出てくるのですが、どれもこれも結構難しい。

素面でないと無理そうだ。
うーん。どうすべ。コポポポポ(水割り二杯目)。

でもまあ、せっかく検索に時間を費やしたのだから、何もできずに寝てしまうのは惜しい。
と言うより、このまま寝たら、きっと明日は気になって気になって仕事にならない

・・・仕方がないので、Googleさんのサンプルを導入してみることにしました。
サンプルはこちらのGitHubに全ソースがありましたよ。

得てして「サンプル」というのは、そのまま使っても、ほぼ動かないもんですが。
今回のサンプルは、ちょーっと手直しをしただけで、すぐに使えるようになりました。
さっすがGoogleさまですね。いひひ(水割り三杯目)。

さて、とにかく使える、トイうコトが分かったところで、明日kらまt、サンプルにちょっとずつ手をkわえていきまsh

・・・。
さすがにそろそろ寝ようかな。お休みなさい。







2016年6月25日土曜日

STAMINAモード、いいじゃないの。:Sony Xperia Z5 CompactのSTAMINAモードが思ったより使えた

こんばんは。
うぃっく。
父の日でもらった芋焼酎の水割りで、ちょっとご機嫌なうです。

突然ですが。
いやー、最近、職場環境が変わりまして。
これまでは、基本的に自宅で一人で作業してたのですが。
最近は、お客様のオフィスに常駐しております。

やっぱね、いいですよ常駐。便利です。コミュニケーションが密に取れます。
何より、「ボクハヒトリジャナインダ」ってのがたまらないですね。

・・・おっと、また話題がずれた。今日言いたいのはそんなことじゃない。
まあ酔っ払いってことでご勘弁を。へへ。

客先常駐を始める時に、心配だったのが、実はスマホのバッテリー。
仕事相手がすぐそばにいるので、まあスマホを使う機会は確かに減ります。
調べ物も、基本的には常駐先のパソコンを使えば済みますしね。

でも、私は自他共に認める、重度のスマホ依存症
バッテリーの残量が半分を切っただけで、何やら落ち着かない気分になります。
かといって、充電器を使うわけにもいかない。常駐なので。

さーどうしよう。モバイルバッテリーを駆使するしかないか・・・。

と、ここで思い出したのが、Xperia Z5 Compactに搭載されている「STAMINAモード」(やっと記事の主題が登場・・・)。

Sonyの製品紹介ページによると。
「STAMINAモード」を使えば、指定したアプリケーションの待機中の動作を制限してバッテリー消費を抑え、待受時間をより長持ちさせます。
よく「バッテリを長持ちさせるにはどうしたらいいですか?」という質問に、
やれ「自動同期を切れ」だの、
「GPSもWi-FiもBluetoothもオフにしろ」だのアドバイスしてますよね。

やーなこった。

だって使うもん。
自動でデータをバックグラウンドで同期してくれるから、スマホ使ってるんだもんん。
位置情報も常に勝手に記録してくれるから、スマホ使ってるんだもん。

でも、電池が切れたら怖いんだもん!なんとかしてくれよー!

って、思ってました。思ってましたが・・・。
このSTAMINAモード、使ってみると、意外とイイ!んですよねー。
STANINAモード中に、バックグラウンド通信を制限するアプリを選ぶ、まあそれだけの機能なんですがね。

設定は、「設定」→「アプリ」→設定アイコン→「電池の最適化」とタップして、通信を制限【しない】アプリを選ぶだけ。簡単です。

・・・バッテリーを長持ちさせたい、とはいっても、普通に使えないと困ります。
システム系のアプリや、最低限使うコミュニケーションツールなどは「最適化しないアプリ」に入れました。
結構な数のアプリを、「バックグラウンド通信を制限しない」アプリとして設定したわけですが、これでも十分です。
だって気づいていないだけで、実は勝手にバックグラウンド通信を行っていたアプリ、結構ありますからね。
どのアプリに対して自分がバックグラウンド通信を明示的に許可するか、それだけでも大きな意味があります。

でも、ドコモアプリの幾つかは、この「最適化しないアプリ」から外せませんでした。まあいいけど。いいけど、なんか腹が立つ。いいけど。

で、実際に使ってみた結果。

じゃーん。
一時間ほど、バッテリー残量が100%のままでした
今までこんな経験、したことない。これはすごい。
いつもは何もスマホを使ってなくても、一時間あたり数パーセントは、絶対に減り続けていたのに。

これで心穏やかにお仕事できます。うふふ。

***
それにしても、「省電力モード」ではなく、「STAMINAモード」。
この名前のつけ方も、気に入ってます。
機能的には「省電力」なんだけど。言葉から想起されるイメージがしょぼい。
「STAMINA」だと、なんか前向きでいい。
物事、捉え方次第ですよね。



2016年6月14日火曜日

miitomoはじめました

最近、Androidで『miitomo』はじめました。
自分の分身のアバターが作れて、フレンドと簡単な会話ができる、まあそれくらいのカジュアルなアプリなんてすが…

コレ、いいですね。

アバターは3Dでぐりぐり動かせるし、着せ替えもできる。
その日の気分をアバターで表現して、SNSにも公開できる。

自分の気分をうまく表現するのに、便利に使えそうです。



というわけで、今日のワタクシ。
ええ、オフです。いただきます(笑)。

2016年6月11日土曜日

APIが変わっちゃたからかなー。:instagramの写真をブログに貼ってみる


こんばんわ。最近、夜更かし気味でへろへろです。
自業自得、へっへっへ。

今日は、晩御飯の後にosmdroidをいじっていたら、楽しくて楽しくて止まらなくなってしまって・・・気がついたらこんな時間ですよ。

osmdroidってのは、OpenStreetMapをAndroidで扱うためのライブラリですね。

いやー、最初の数時間はチュートリアルと格闘してヒーヒー言ってたのですが、いったん現在地の表示に成功してしまえばこっちのもの。
いろいろいじくって、やめられないとまらない。
いやあアプリ開発ってたーのしーいなー(納期さえなければ)。

あまりに楽しかったんで、instagramでパチリ。





おっと今日の本題はOpenStreetMapじゃない。instagramのほうです。
このブログ、Webstaのウィジェットを使って、私のinstagramアカウントの写真を右のカラムに表示してたんですが。

先日、instagramのAPIが変更されたからか、新しい写真を投稿しても、ウィジェットの方に反映されなくなったんですよねー。

困った。

ほかにも「SnapWidget」というのもあるんですが、こちらは、ウィジェットをクリックして飛んだ先が、SnapWidgetのページだったりして。しかも、いっぱい広告が貼ってあるし・・・。

なんだか、なあ。
私としては、ダイレクトにinstagramのサイトに飛んでほしい・・・。

しかたがないから、今日は本家instagramのWebサイトから、「埋め込み」機能を使ってブログにはってみました。

やり方は、こちらの記事を参考にさせていただきました。

というわけで、現在なにかいいウィジェットないか、探している最中です。

・・・osmdroidの方は・・・。えーと、ただ地図を表示するだけじゃなくて、もう少しまともな機能ができたら、ブログに書こうかな。えへへ。







2016年5月28日土曜日

太くて長いのがポイント:Xperia Z5 Compactにストラップをつけてみた

はいはいはい、お久しぶりですね。こんにちは。

いやー、記事のネタがなかったわけではなく。
むしろあんな失敗したりこんな失敗したり、ネタ溢ルル毎日というか・・・。
・・・要はサボっていましたごめんなさい。

それはさておき。
最近、スマホを変えました。

ASUSの「Zenfone 5」を使ってたのですがね。
購入して1年以上経つのに、未だにロリポップ降りてこないし。
買った時には「来月アップデートします!」とか言ってたのにさー。
電源ボタンも壊れたし・・・。

というわけでー。Xperia Z5 Compactにしました。いえーい。

やっぱり、これくらいのサイズがしっくり手に馴染んでいいですね。
それに、ちゃんとボディにストラップホールがついてる。これはいい。

で、早速ストラップをつけることにしました。もちろん、前のスマホで使ってたストラップを流用します。だってお金ないんだもん。誰かお仕事ください(切実)。

でもこれが、やってみるとうまく紐が通らない。
一度別の穴に通しているからか、先っちょがへたってるんですよね。
穴の中で折れてしまって、出てこない。
でも新しいのを買うのは嫌だ。というか金がない(二回目)。
仕方ないからライフハック発動です。

ちょっと長くて太めの釣り糸を用意して、ストラップの紐に通しておきます。
で、釣り糸をストラップホールに通す。
太いから、途中で中折れすることもありません。

で、釣り糸を通したら、そのままストラップごと引っ張ってしまえば、ほらこの通り。
ぼくにもできた!

よしよし。これで次の機種変更した時も、同じストラップ使えるぞー。
以上、貧乏ライターのライフハックでした〜。ていうか、こういうのはライフハックとは言わないか・・・。


2016年2月1日月曜日

なんとかしちゃえばいいのよ。:EXIFの日付が「2002/12/08 12:00:00」になってしまう件

こんばんわー。
「あーだめだこりゃ絶対!」と思ったことでも、意外なところにブレイクスルーがあるもんですね。

というわけで、今日の投稿はどちらかというと自分のための備忘録。ごめんちゃい。

・・・実は、仕事で公開しているAndroidのカメラアプリ「CALBAN Pro」で、撮影した写真のEXIFデータが「2002/12/08 12:00:00」となってしまう、という不具合があったんです。

やー、別に日付のところは何もいじってないしなー、おかしいなー・・・と思って色々調べてたら、どうもAndroidのライブラリに不具合あったらしく・・・。
えええー。そんなんどうしようもないよー。
でも何とかせんと、ユーザーさん困るしなー・・・。

ま、何なら自分でEXIFタグに現在時刻を設定しちゃえばいいのよ。うふふ。
ということで、直してみました。
こんな感じで時刻を作成して・・・

Date date = new Date();
SimpleDateFormat format_exif = new SimpleDateFormat(getString("yyyy:MM:dd HH:mm:ss"), Locale.JAPAN);
String datetime_original = (format_exif.format(date));
TiffOutputDirectoryに日付をセット。
destDirectory.removeField(ExifTagConstants.EXIF_TAG_DATE_TIME_ORIGINAL);
destDirectory.add(ExifTagConstants.EXIF_TAG_DATE_TIME_ORIGINAL, datetime_original);
destDirectory.removeField(ExifTagConstants.EXIF_TAG_DATE_TIME_DIGITIZED);
destDirectory.add(ExifTagConstants.EXIF_TAG_DATE_TIME_DIGITIZED, datetime_original);
で、ExifRewriter()を使ってメタデータを書き換え。
ExifRewriter().updateExifMetadataLossy(file, BufferedOutputStream, TiffOutputSet);
・・・最初は「updateExifMetadataLossy」ではなくて、「updateExifMetadataLossless」を使っていたのですが、それだとエラーでうまくいかなかったです。ちょっとした違いなのになー。

ま、うまくいったからいいや。






2016年1月28日木曜日

すべりこみセーフ:サービス終了のcodebreakからBitbucketへかんたん移行

いやいやいや、あけましておめでとうございます。
お久しぶりでございます。本年もよろしくです。

長らく放置していたこのブログ。
飽きたわけじゃありません。嫌になったわけでもありません。忘れたわけでもありません。
技術的なことを書く余裕ネタがなかっただけのことでございます。

・・・前置き長いよね。すんません。

さて、去年の暮れでしたか、バージョン管理サービスのcodebreakから、「サービス終了するぜおい」というメールを頂きました。
「サービス終了のお知らせ」

えー。困るー。日本製サービスで割と便利に使ってたのにー。(バックアップ代わりに)

でもまあ、ご丁寧に移行先のサービスも紹介してくれてることだし、まあ慌てることもないか・・・と、その時は思っていたのでございます。
ま、とりあえず、Bitbucketにアカウントだけ作っておいて・・・データのダウンロードはサービス終了間際にまとめてやればいっかー☆とか思ってたのですが。

先ほど、ふとカレンダーを見ましたら。
・・・あれ?今日ってもう1月28日・・・?
codebreakのデータ削除って、確か・・・1月31日・・・

も う 終 了 間 際 じ ゃ ん

慌ててBitbucketのサイトにアクセス。
ほっ、良かった。アカウント作ってあった。生きてる。

じゃ、あとはcodebreakからBitbucketにリポジトリをコピーするだけ・・・。
gitのコマンド打たにゃならんのかなー?とか思ってましたが、割とすんなりと行きました。ちょー簡単。

まずはcodebreakにログインして、コピーしたいリポジトリを選択。
例のごとく、ページの右上にリポジトリのURLが表示されてますので、こいつをピッとコピー。「HTTP clone URL」ってところですね。

したらば、次はBitbucketにログイン。
画面上の「リポジトリ」から、「リポジトリのインポート」を選ぶのです。

で、さっきコピーしたURLを、「古いリポジトリ」の「URL」に貼り付ける。ぺたし。
あとはテキトーに、ユーザー名とパスワードや、新規リポジトリの名前を設定して、「リポジトリのインポート」を押せばOK。
アレヨアレヨと言う間に、わたしのコードは居心地のいい場所へと移住して行きましたw
ああ良かった。
これやらなきゃーやらなきゃーって、ずっとストレスだったのですよねー。

いやー、何事も放置しちゃいけませんなあ。