1

私は現在、ユーザーが写真を撮ってサーバーにアップロードする必要がある Phonegap Cordova 2.5 アプリに取り組んでいます。私は、Android 固有のコーディングを避けるために PhoneGap を使用しています (また、いつか iOS で公開する可能性もあります)。

結局のところ、写真を撮っている間、Android は頻繁に (常にではありませんが) アプリを強制終了し、カメラ モジュールが写真を返すまでに、ベース アプリは最初から復元され、コールバック メソッドは呼び出されません。新しく撮影した写真への参照はすべて失われます。こちらの投稿を参照してください。

カメラから写真を撮ると、20% の確率で失敗します

一般的な回避策は、ネイティブ Android コードのようです。私が使用している最初で唯一の Phonegap モジュール (カメラ) に重大なハッキングが必要な場合、なぜ Phongap を使用する必要があるのでしょうか? これはPhonegapの「せい」ではなく、Androidのライフサイクル設計にあることは承知していますが、それでも、このアーキテクチャの選択をどのように守ることができますか? HTML、CSS、JS を使用して再利用可能なフロント エンドにすべて削減されましたか? ネイティブ Android に切り替える必要がありますか?

4

1 に答える 1

1

私自身の質問に答える: PhoneGap は多くの点で素晴​​らしいので、それを擁護する多くの議論があります。最も顕著なのは、UI 全体を 1 回だけコーディングする必要があり、Javascript と CSS であるため、別の言語を学ぶ必要のない多くの開発者がいるということです。「簡単さ」の価値を過小評価しないでください。比較的単純なアプリをコーディングする必要がある場合は、わざわざネイティブにする必要はありません。PhoneGap は問題なく動作します。

私の場合、作成したかったアプリは写真を撮ることを中心にしています。そのため、まれにカメラを使用してユーザー エクスペリエンスを向上させることはしませんが、カメラはアプリの最も重要な部分です。このシナリオでは、推奨されるアプローチはネイティブになることだと思います。それが私が最終的にやったことです。

別のアプローチは、「フォアグラウンド カメラ」と呼ばれる PhoneGap プラグインを使用することでした。
長所: 統合によるシームレスな写真撮影。ユーザーは実際にアプリ内で写真を撮ります。
短所: デフォルトでは、カメラのすべての機能 (ズーム、フロント カメラ、フラッシュなど) が失われるため、これらの機能の一部を手動で実装するには、かなりのコーディング作業が必要になります。

于 2013-06-07T11:31:27.177 に答える