ユーザーID パスワード

技術情報

  • FAQ よくある質問
  • 個人ユーザー向けサービスのお手続きについて

コード&コラム

第5回
カメラを使ってみよう(前編)


前へ 1 |2 |3 |4 次へ

Step1 プロジェクトの作成とフルスクリーンの設定

Android™  でのカメラの利用は非常に簡単ですが、保存に関しては若干難しいところがあります。カメラを起動するとフルスクリーンのプレビューが表示され、タッチにて撮影、ファイル名をつけて保存する、といったこの一連の動作機能を有したアプリを作っていきましょう!

まずは「CameraApp」という名前のプロジェクトを作成します。ターゲットやプロパティーは次のように設定しましょう。


プロジェクト名 CameraApp
Build Target Android2.2
Application name CameraApp
Package name com.example.cameraapp
Activity CameraApp
Min SDK Version 8

そして今回はもう一つクラスファイルを作成します。

「CameraView」というクラスです。

[ファイル]→[新規]→[クラス]をクリックすると「新規Javaクラス」ダイアログが立ち上がります。名前を「CameraView」、修飾子は「public」として「完了」を押しましょう。[src]→[com.example.cameraapp]内に「CameraView.java」というファイルが生成されました。Step2から編集していきますのでこのままにしておきましょう。

まず一番はじめに行うのは、フルスクリーンで表示するための作業です。CameraApp.javaを編集します。

初期状態ではこのような表示となっています。


img

解除するためには

requestWindowFeature()

というメソッドを利用します。このメソッドはウインドウの特徴を編集するもので、()内に定数を入れることで画面を編集します。

今回指定する引数は「Window.FEATURE_NO_TITLE」というものです。タイトルバーの表示を解除することができます。

public class CameraApp extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.main);
    }
}

正しく設定されていれば以下のような結果が得られます。


img

しかしこのままでは、画面上のノーティファケーションバー(通知バー)が表示されたままです。フルスクリーンにて表示するためには、この欄も消す必要がありますね。そのためには

getWindow().addFlags()

というメソッドを用います。簡単に説明すれば、getWindow()にて現在のウィンドウの設定を取得し、addFlags()で設定を追加するということです。今回はフルスクリーンの設定ですので、()内に「WindowManager.LayoutParams.FLAG_FULLSCREEN」と設定します。

setContentView()の値を新しく作成したCameraViewに変更しておきましょう。今回画面に表示するのはレイアウトのXMLファイルではなくCameraViewクラスです。

public class CameraApp extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(new CameraView(this));
    }

}

この時点でCameraView.javaは空の状態ですのでエラーが起こりますがStep2の作業を行うと解消されますのでここではそのままにしておいてください。
以上でフルスクリーン表示の設定は終了です!(下図はCameraViewに設定する前の画像です)


img

続いてAndroidManifest.xmlの設定を変更します。

今回作成するアプリは横向きにて実行するので、その設定を行います。[AndroidManifest.xml]を開いて、[アプリケーション]タブを開きます。左下のApplication Nodesに登録されている[.CameraApp(Activity)]を選択すると、右側に[Attributes for .CameraApp(アクティビティー)]にてアクティビティーの詳細を設定することができます。この中にある[Screen Orientaton]の項目を[landcape]と設定します。 これによりアクティビティーを横向きで実行することができます。


img

続けて、カメラの利用を設定します。同じくAndroidManifest.xmlより、[許可]のタブを選択します。中央の[追加]を押して出てくるダイアログ内から[Uses Permission]を選択し、[OK]を押します。「許可」欄に新しく生成された[Uses Permission]を選択し、右側の[Attributes for Uses Permission]の[Name]欄から[android.permission.CAMERA]を選択して、カメラ利用の設定は終了です。


第5回 カメラを使ってみよう(前編)
 Step1 プロジェクトの作成とフルスクリーンの設定
 Step2 カメラ機能の実装
 Step3 タッチで撮影、保存してみよう

サンプルコード

第1回 リファレンスコード(文字列編)

第2回 リファレンスコード2(グラフィックス編)

第3回 リファレンスコード3(タッチイベント編)

第4回 リファレンスコード4(チェックボックス/ラジオグループ編)

第5回 リファレンスコード5(スピナー編)

第6回 リファレンスコード6(サウンド/ムービー編)

第7回 リファレンスコード7(トースト編)

第8回 リファレンスコード8(Google Maps API利用編)

第9回 リファレンスコード9(SQLite編)

第10回 リファレンスコード10(音声認識編)

第11回 リファレンスコード11(日付/時刻ダイアログ編)

第12回 リファレンスコード12(Bluetooth編)