• Search | 検 索
  • Android|アプリ
  • Top | トップ

  • Androidアプリ(ソースコード)について
     たくさんの方の公開情報から作成させていただいたので、初版という事もあり公開します。
     書きっぷりや、コメントの少なさなどなど、恥ずかしいのですが、温かい目で見て下さい。


    dot プログラムファイル、環境
    ソースコード LiveCamera.zip (1.0)
    LiveCamera.zip (1.1)
     (Update: 2012/01/28)
    本体です。
    Ver1.1: 機種依存による不具合の修正版です。
    ・CameraPreview.java
     setParameters()で異常になる機種があったので修正しました。
     width,heightが取得できるものとないものがあるようです。
    ・Reflect.java
     上記の対応の為、ソース(関数)を追加しました。
    ・MenuActivity.java
     GPSの値が設定されてなくても、WEBサイトを表示するように修正しました。
    使用ライブラリ lib.zip 共通ライブラリや、http接続のライブラリを使用しています。
    Eclipseでは、
    Properties - Java Build Path - Libraries
    で設定します。
    eclipse Eclipse IDE for Java Developers
    Version: Indigo Service Release 1
    Build id: 20110916-0149
    日本語版もあります。どこかのタイミングで変えたい。
    android [Target Name] Google APIs.
    [Vender] Google Inc.
    [Platform] 2.1
    [API Level] 7
    最初は、Android 2.1で作成していたけど、
    マップやGPSが使いたくて、Google APIsに変更した。
    変更はうまくいかなかったので、アプリを組みなおしたと思う。
    結構大変だった。。。

    dot ソースコードツリー概要

    おさらいとして書いておきます。
    PATH概要内容
    /(ルート) Projectの設定情報
    .classpath:クラスパスの設定。さわる事はなかった。libの登録で変更されている様子。
    .project:ビルドの設定。さわる事はなかった。
    AndroidManifest.xml:permission、Activityの設定。
    permissionはandroidライブラリの使用有無を設定している。ライブラリは大きく2種類あって、androidライブラリのように事前に用意されているものと、外部からもってくるものがある。外部はここではなく、lib.zipに記載したようにPropertiesから設定する。
    Activityは、プログラムの塊の事をいい、1Activityは1画面と考えていいかもしれない。ここで宣言しないとActivityから他のActivityを起動できない。たまに忘れて、悩む事がある。
    proguard.cfg:さわる事はなかった。調べてみると、コンパイルの最適化とリバースコンパイルされた時に難読化する機能だった。※公開してしまった。
    project.properties:さわる事はなかった。APIバージョンが記載されている。
    .settings Eclips の設定情報 ここを触る事はなかった。
    assets (空) ここを触る事はなかった。
    bin コンパイル後の実行モジュール ここを触る事はなかった。
    src -> bin/classes、res -> bin/res に格納される感じ!?
    gen 名称に自動採番したIDの紐付定義を格納している。ソースでは名称のみ使用している。 メニューのボタンや、設定画面の各項目に使用していて、R.javaファイルに自動で格納されるのだけど、 いまだ、このタイミングがわからずエラーではまる。Eclipsを再起動するとうまくいくような感じがする。
    ※ちなみに直接編集してもだめ。と書いてはいるんだけど、ついやってしまう。
    res 画像ファイルや、設定画面、メニューなどのxmlファイル
    drawble..:アイコンの異なるサイズの画像を格納するルール。サイズは 72px、36px、48px。
    layout:メニュー画面を定義しています。
    values:設定画面のプルダウンを定義しています。あと、googleマップだけど、アプリで使うのやめたの忘れてた。
    xml:設定画面を定義しています。
    src ソースコードを格納
    CameraPreview:撮影ボタン押下時のプレビュー画面
    GpsActivity:設定(GPS)ボタン押下時のGPS取得機能。メニューのGPS項目に値を設定
    LiveCameraActivity:撮影ボタン押下時の連続撮影機能。ここからCmeraPreviwを起動しているのと、連続撮影としてマルチスレッドで撮影イベントを発生しています。
    LiveMapActivity:(未使用でした)アプリのマップ表示だけど、今はWEBサーバのマップ表示を使用
    MenuActivity:メニュー画面。一番最初に起動
    Preference:設定ボタン押下時の各種設定画面
    target コンパイル後の実行モジュール ここを触る事はなかった。デバッグとか一時的に使われるのかもしれない。

    各ソースの説明は、またいつか書きます。
    《提供》ACC-S Co. Ltd.