arcanum_jp’s blog

おっさんの日記

カメラアプリメモ(リンクとか)

Androidのプログラミングについてはいろんな場所にあるんで自分が参考にした記事をここにまとめておく。あとで追記するよ。

カメラのプレビューを画面に表示

 まずは画面にカメラのプレビューを表示する方法。これはSurfaceViewの中でopen()とかrelease()をするパターン。ほかにActivity側でやっているのもドッカで見たな・・・後でリンクを追加する。

今回はカメラの使い方について説明します。
とりあえず今回はSurfaceViewにカメラから得られる画像のプレビュー画面を表示するところまで紹介して、
撮影処理は次回ご紹介します。

Android カメラの使用方法(1) | TechBooster

少しづつ手順を追っていくので以下の記事がいいと思います。ページごとに追加されたコードがきちんと色分けされているのでとても分かりやすいです。(6回連載)

簡単なカメラアプリを作りながら、カメラの基本的な制御方法を解説します。今回は、プロジェクトの始めです。まずは、カメラの使用権限を取得します。

ボコ:【android開発】 カメラを制御する方法 開発01 カメラ権限の取得

 こちらもだいたい同じ。

作成したsurfaceviewを利用して、今度は画面にカメラの画像を表示したいと思います。

素人のアンドロイドアプリ開発日記androidでカメラを使ってみる。 - 素人のアンドロイドアプリ開発日記

カメラのプレビューがなんか変。。。


プレビューで表示する画像がなんか潰れてるんですけど・・・と言うとき。

パラメータの最高解像度のやつをセットすれば縦横比はおかしくならない

カメラプレビューのサイズ - 橋本詳解

 こっちの方が分かりやすい。

アンドロイドのアプリで

「サイズを指定すると落ちる」
「カメラのプレビューがなぜか歪んでいる」
「プレビューと撮影した写真で画角が異なる」

という状態がおこります。(機種によって。)

素人のアンドロイドアプリ開発日記アンドロイドのカメラアプリを作成するにあたっての雑感。 - 素人のアンドロイドアプリ開発日記

カメラのプレビューを画像として保存


いよいよカメラで撮った画像を保存するというところ。この記事ではSDカードの/sdcard/に保存していますが、AndroidのSDカードの場所は機種依存なのでここは注意が必要です。この記事をコピペすると機種によってはFileNotFoundExceptionで画像が保存できません。あたりまえだけど。

今回はカメラの使用方法の後編になります。
前回はカメラをオープンして、SurfaceViewにカメラのプレビュー画面を表示するところまで紹介しました。
今回はプレビュー画面の内容を撮影し、SDカードに保存するという処理まで説明したいと思います。

Android カメラの使用方法(2) | TechBooster

 これもあったのでリンク保存。かなり気になります。

画像を保存した後にプレビューの画面が一瞬ですが歪んで見えます。
この原因の箇所はどうやら、takePictureのjpg生成の部分で発生がしているようでした。

素人のアンドロイドアプリ開発日記カメラアプリで歪んだプレビューが表示されてしまう問題 - 素人のアンドロイドアプリ開発日記

保存場所(SDカード)


SDカード(内部ストレージと外部ストレージ)の場所については以下の場所を参考にするといいです。

Androidでは、ストレージ(SDカードなど)のパスを取得するために Environment.getExternalStorageDirectory() が用意されています。
しかし、ストレージが内部ストレージ(取外不可)と外部ストレージ(取外可能)に別れている場合、内部ストレージを取得します

外部ストレージのパスを取得する(Android 2.2~?) - 戌印-INUJIRUSHI- (Androidあれこれ) -

 こちらはfstabから取得する方法

androidアプリを作っていて、SDカードにデータを保存する機能を実装したい時の話。
 androidは全て把握できないくらい様々な機種があり、残念なことにSDカードのマウント先(ディレクトリのpath)は、機種によって微妙な差があるらしいです。

【android】 SDカードのpathを取得する方法 | 一番かんたんなJava入門