お世話になっております。
HTML5とJavascriptでアプリが出来る!!という
素晴らしいフレームワークと伺いまして
jsWaffleを利用していきたいと思っています。
さて、タイトルの件でございますが
実は、趣味で作ったWebアプリケーションに
カメラの起動と撮影、撮影した画像をアップロードする機能をつけたいと考えておりますが、jsWaffleで実装が可能なのでしょうか?
以下が仕様と試したことです。
仕様
1.撮影ボタンをクリックすると、スマートフォンのカメラが起動する
(従来のWebアプリだと、ファイルを選択するダイアログが表示)
2.撮影するとWebで画像をアップする際によく見られる画像までのパスがテキストボックスに入る
(従来のWebアプリだと、ファイルまでのパスが表示)
3.アップロードボタンで、画像がWebへアップロードされる
仕様1、2をこのjsWaffleで実装。
試行
jsWaffleをインストールし、プロジェクトを新規作成し、出来たassets以下のフォルダをWeb上へアップロードし、実際にスマートフォンからcameras.htmlにアクセスしてカメラが起動するか確認→起動せず
長文で大変お手数おかけいたしますが
お答えいただければ助かります。
以上
カメラで撮影した画像を保存するアプリの作成も可能です。
(ただし、アップロードに一工夫必要かも・・・)
それで、本題ですが、jsWaffleのデモで、「Camera/Video Sample」でカメラの起動と画像の保存と画像をメールするサンプルがあります。
それが動きませんか?
動かない場合、Androidの機種名を教えてください。
ちなみに、なぜか手元のAndroidエミュレータではうまく動かないのを確認しています。
実機二機種で動くのを確認しています。
お世話になっております。
ご返答ありがとうございます。
さて、ご質問にお答えしたいと思います。
>それで、本題ですが、jsWaffleのデモで、「Camera/Video Sample」で
>カメラの起動と画像の保存と画像をメールするサンプルがあります。
>それが動きませんか?
はい、動きませんでした。
assets以下のフォルダを利用レンタルサーバー上へアップロードし、そこからcameras.htmlへ実機、シミュレーターでアクセスし動作確認しました。
ボタンを押しても、何の反応もありませんでした。
ソースを眺めていて思ったのですが
droid.startIntent(uri)のuriの部分には「撮影した写真を保存するパス」を記述するとありますので、uriを適切なパスに変えなければいけないのかなとは思ったのですが・・・
サンプルですと、「camera:/sdcard/hoge.jpg」と固定化されていますので。
実機機種名:GALAXY Tab SC-01C
androidバージョン:2.1(エミュレーターでのandroidバージョンは2.3.1)
jswaffleバージョン:昨日ダウンロードした最新版
カメラモード起動から撮影、画像保存さえうまくいけば、画像のアップロードはPHP側に任せようかなと考えております。
長々と、お手数おかけいたしますが
ご返答をよろしくお願いいたします。
以上
基本的なことですが、Androidアプリとしてコンパイルしない限り、
jsWaffleのカメラメソッドなど利用できないようになっています。
以下の手順に沿って、作業されていますか?
http://d.aoikujira.com/jsWaffle/wiki/index.php?%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E5%A7%8B%E3%82%81%E6%96%B9
お世話になっております。
ご返答ありがとうございます。
申し訳ございません。
コンパイル作業はせずに、そのままassets以下のフォルダを
アップロードしておりました。
ご紹介頂いたurlでの方法も一通り行ってみたのですが
Eclipseでデモを実行してみますと
エラー?が表示されて上手くいかなかったのです・・・
「AndroidManifest.xmlがありません。」といった内容でした。
基本的なことかと思い、大変恐縮ですが
jsWaffleのカメラメソッドを利用する場合
1.Eclipse等でコンパイルする
2.コンパイルして生成されたファイルをWebへアップロード
3.既存のWebアプリへ組み込む
という手順を踏む必要があるのでしょうか?
長々とお手数ではございますが
ご返答いただけましたら幸いでございます。
以上
試していただいてありがとうございます。
> ご紹介頂いたurlでの方法も一通り行ってみたのですが
> Eclipseでデモを実行してみますと
> エラー?が表示されて上手くいかなかったのです・・・
「AndroidManifest.xmlがありません。」といった内容でした。
こちらのエラー、もう少し詳しく教えてください。
どの時点でエラーが出るでしょうか?
もしかすると、jsWaffle のインストールがうまく行っていない可能性があります。
> 基本的なことかと思い、大変恐縮ですが
> jsWaffleのカメラメソッドを利用する場合
手順でご紹介しますと・・・
1.Eclipse等でコンパイルして、Androidアプリにする
2.Android端末でアプリを実行する
3.Webサイトへ画像をアップロードする
となると思います。
お世話になっております。
ご返答ありがとうございます。
まず、エラーの詳細でございますが
Eclipseを起動し、ファイル⇒プロジェクト⇒Androidプロジェクト⇒「外部ソースからプロジェクトを作成」の部分でWaffleTestを選択し、完了をクリックした後
エラーコンソール部分に「C:\Program Files\android-sdk-windows\AndroidManifest.xml(指定のファイルが見つかりません)」と表示されます。これはSDKのインストールが間違っているのでしょうか。
また、私の説明不足で申し訳ございません。
Androidアプリケーションを作成するというよりは、どちらかというと
既に作成されているWebアプリケーションに
カメラモードのみを実装したいのです。
現在は、ファイルアップロードボタンを押すと、ファイルを選択するダイアログが表示される動きを、スマートフォンのカメラが起動するようにし、撮影した写真をファイル選択として、アップロードできればと思います。
つまり、完全なAndroidアプリではなく、既存のWebアプリにカメラ機能だけを追加したいのです。
もし、部分的に組み込むということが可能であれば、ぜひ取り入れたいと思います。
お手数ではございますが
ご返答をよろしくお願いいたします。
以上
エラーですが、見てみると、
どこかのパスの設定がうまく行っていない可能性がありますね。
(1)SDKの設定で、Android SDKのバージョンが表示されていますでしょうか?
(2)jsWaffleで生成したひな型プロジェクトは、Eclipse(Apatana)のワークスペース以外の場所に作成しているでしょうか?
> Androidアプリケーションを作成するというよりは、どちらかというと既に作成されているWebアプリケーションにカメラモードのみを実装したいのです。
とのことですが、Webアプリでは、カメラ機能を使うことができません。Androidアプリにしてはじめて、利用することができます。
お世話になっております。
ご返答ありがとうございます。
さて、
> (1)SDKの設定で、Android SDKのバージョンが表示されていますでしょうか?
> (2)jsWaffleで生成したひな型プロジェクトは、Eclipse(Apatana)のワークスペース以外の場所に作成しているでしょうか?
(1)Android SDKのバージョン確認方法がわかりかねますが、パスはきちんと通っているようです。
http://d.aoikujira.com/jsWaffle/wiki/index.php?Android%E9%96%8B%E7%99%BA%E3%83%84%E3%83%BC%E3%83%AB%E3%81%AE%E6%BA%96%E5%82%99の「(4) AptanaにAndroid SDKのパスを教える」通りとなっています。
(2)はい、ワークスペース以外の場所(ユーザー名\マイドキュメント)です。
> Webアプリでは、カメラ機能を使うことができません。Androidアプリにしてはじめて、利用することができます。
了解致しました。別の方法を考えてみたいと思います。
お手数おかけいたしまして
真に申し訳ございません。
以上