2

私は過去 10 年間 Web 開発者として働いており、Java GUI (Swing) と VB 6 の開発経験が少しあります。

しかし、私は、私たちが管理していないバックエンドを使用して Android ベースのアプリケーションの開発を外部委託している企業をサポートする任務を負っており、可能な追加のバックエンド プロバイダーを評価しています。私は過去数年間の開発を追跡しており、開発者スタイル ガイドhttp://developer.android.com/design/index.htmlにも精通しています。

データベース駆動型 Web アプリケーションの基本的なソフトウェア開発ライフサイクルは理解していますが、次のような Android 開発に関する問題についても理解したいと考えています。

a) ツールの選択

b) ハンドセットへのインストール

c) 単体テスト、統合テスト、負荷テスト

d) 接続不良の処理 - アプリはネットワーク品質の低いエリアでデータを収集するために使用される可能性があるため

e) ローカル データ ストレージに関する考慮事項

f) メモリに関する考慮事項 - モバイルは PCS 以外の低メモリ デバイスであることを考慮する

g) アプリケーションフローの設計

h) 事前に構築されたアプリケーション ウィジェットと選択ウィジェットを使用する

i) コード品質評価

j) バージョン管理 - 特別な問題はありますか

k) 自動化されたビルド、パッケージング、展開、およびアップグレード + 無線更新のプッシュ

l) アプリケーション設計 - ワイヤー フレーミングとアプリケーション フロー

前もって感謝します

4

1 に答える 1

1

これは実際には非常に幅広い問題であり、アプリケーションにどのデザインパターンを選択できるかは個人次第です。OOP でうまく機能するデザイン パターンはすべて、Android アプリケーションで使用できます。サー、あなたはあなたの分野で非常に経験豊富で、私は初心者の Android 開発者ですが、いくつかの質問に答えたいと思います。多くの質問については、 http://developer.android.com/design/index.htmlで十分です。

ハンドセットへのインストール: ハンドセットへのアプリのインストールは非常に簡単です。モバイル/タブレット デバイスを PC に接続してアプリを実行するだけで、デバイスにアプリが自動的にインストールされます。もう 1 つの方法は、アプリをエミュレーターで実行するときに作成された .APK ファイルをコピーし、モバイル/タブレット デバイスの任意のフォルダー内に貼り付けることです。次に、そのフォルダーに移動して、アプリをインストールします。それと同じくらい簡単です。

Android でのユニットのテスト: これについては、 http ://developer.android.com/guide/topics/testing/testing_android.htmlを参照してください 。これは非常に便利なリンクです。また、これは非常に簡単に実装できます。

ローカル データ ストレージ:これについては、 http://developer.android.com/guide/topics/data/data-storage.htmlを参照してください。

メモリに関する考慮事項:私の個人的な経験から、モバイルはメモリの少ないデバイスです。より具体的には、Android OS はインストールされている各アプリに一定量のメモリを割り当てるため、リソースを十分に使用し、リソースを次のようにクリアする必要があります。使用後はお早めに。遭遇する一般的なエラーの 1 つは、Android の OOME です。詳細については、私の回答を参照してください:ビットマップ サイズが Vm 予算エラー android を超えています

コード品質評価:このために、Eclipse 用のプラグインである PMD があり、コードをチェックして、行ったすべてのプログラミング エラーを見つけたり、使用しているステートメントがプログラミング標準に従っていないことを通知したりします。PMD をダウンロードするには: http://sourceforge.net/projects/pmd-eclipse/およびインストールするには: http://pmd.sourceforge.net/eclipse/

バージョン管理:この質問が Android のバージョンに関するものである場合は、提案に従って、Android のどのバージョンのデバイスでも実行できるアプリを開発する必要があります。ただし、特定の Android バージョンの特定のタイプのデバイスでのみ動作するアプリを開発することもできます。

接続不良の処理:あなたは Web 開発者であるため、その答えをよく知っているはずですが、私が提案できることは、毎回、インターネットを必要とする何かを行う前に、続行する前に、まずインターネットが利用可能かどうかを確認し、利用できる場合は続行するか、それ以外の場合のみ続行することです。問題に関して対応するメッセージをユーザーに提供します。

設計上の問題:私によると、どのような設計パターンでも使用できますが、使用可能なメモリと時間をどれだけ効率的に使用できるかを常に確認してください。常にクリック数を最小限に抑えるようにしてください。つまり、ユーザーはアプリが提供するすべての機能を最小限のクリック数で使用できる必要があります。

私はあなたの質問のいくつかを解決したことを願っています, ありがとう:)

于 2012-06-04T05:55:34.060 に答える