
ほぼ1年前、つまり2011年9月12日、私たちは法的参照システムPravo.ruのAndroidマーケットクライアントである
しかし、それにもかかわらず、チームの結束と献身のおかげで、私たちは「ビジネス」カテゴリのTOP-10無料アプリケーションに含まれる製品をリリースしてサポートし、1年以上この方法で行ってきました。

設計
Android vs. iPhone
そんなわけで、Parcsisではデザイナーが率いています。 ビジネス分析は設計部門に深く統合されており、アプリケーションのレイアウトは実際には開発部門の技術的なタスクです。 Andriodの開発が始まる少し前に、iPhoneとiPadのクライアントが正常に実装されました。最初の問題は私たちを待っていました。
Androidユーザーは誰でも、AndroidはiPhoneではないことを自信を持って伝えます。 しかし、iPhoneのユーザーは、AndroidはほとんどiPhoneであり、少し悪いと信じています。 Apple製品の強力なサポーターとして、デザイナーは当初、標準のコントロールと物理的なボタンの存在を無視して、iPhoneと同じインターフェイスを実装することを提案しました。
アプリケーションが完全に不安定になるため、そうすることは決して不可能ではなかったことは明らかです。 よくあることですが、この問題は、標準のiOSおよびAndroidアプリケーションのインターフェースのデモンストレーションにより、長く徹底した会話によって解決されました。 その結果、デザイナーは、十分な教育を受け、必要な幅の意識を持っているため、開発者の立場を取り、iPhoneとは異なる別のレイアウトを準備し始めました。
多くの画面構成
前に書いたように、Androidデバイスには多数の異なる画面構成があり、水平および垂直のピクセル数は決して決定的な特性ではありません。 結局、 10インチの対角線と800x600の解像度 、および5インチの対角線と1280x800の解像度を 持つデバイスがあります。
デザイナーは、レイアウトページのサイズをピクセル単位で何にすべきかを尋ね続けましたか? Android向けのVertSkがiOS向けのレイアウトよりもWebVertskに近いことを理解するためには、意識が大きく飛躍しました。

開発
オフラインベース
プログラムの主要な「チップ」の1つは、オフライン操作モードです。 その価値は明白です-たとえば、裁判所がない場合(または幸運にも裁判前の拘留センターにある場合)、ユーザーはすべての基本的なドキュメント(ロシア連邦憲法、コード、連邦法)にアクセスできます。 最初は、 アサートディレクトリ内のapkファイル内のドキュメントを直接アーカイブに提供することを想定していました。 Arikhvの重量は30メートルを超えていたため、35メガバイトのapkが、リソースとプログラムバイナリ自体とともに追加されました。 「わかりました」最初のバージョンを市場に投入しました。
そして、ほとんどすぐに、十分な空き容量と高速Wi-Fiを備えた最新のパワフルな携帯電話であっても、アプリケーションをダウンロードできないというユーザーからの手紙を受け取り始めました。
2つの理由がありました。 まず、一部のAndroidデバイスでは 、30メガバイトを超えるapkファイルをインストールできません 。 次に、重量Nメートルのアプリケーションをインストールするには、電話に約3Nの空きスペースが必要です。
タスクは、アプリケーションが少なくとも30メガバイトのダウンロードキャッシュを備えたデバイスで実行されるようにすることでした。
この問題に対するさまざまな解決策が提案されています。 たとえば、2つのバージョンのプログラムを作成するには、完全でオフラインデータベースを使用し、軽量でオンラインのみで動作します。 または、一般的に、事前に作成されたデータベースを放棄し、ユーザーが自分でオフラインアクセスするドキュメントを選択できるようにします。 しかし、この問題の最終的な解決策は、Webからデータベースをダウンロードする機能を追加することでした。 その後、このメカニズムはiOSとWP7の両方で使用されました 。
コンテンツプロバイダー
遅延バインディングに基づくAndroidには素晴らしいメカニズムがあります 。 これは、 AJAXとDMLの驚くべき組み合わせです。 ContentProviderと呼ばれます 。
このメカニズムは完全にネイティブに見えるため、使用する誘惑に抵抗できませんでした。 しかし、後で判明したように、コンテンツプロバイダーには 、アプリケーション開発プロセスが大幅に遅くなる多くの重大な欠点があります。 唯一の明らかな利点は、他のアプリケーションとのデータ交換を使用しなかったことであり、最終的に、データベースからデータを取得するメカニズムの不要なレイヤーとしてコンテンツプロバイダーを完全に放棄しました。

おわりに
私たちが遭遇したすべての困難にもかかわらず、私たちは本当に有用なアプリケーションを開発することができました。 彼の功績は、実務弁護士と法学生の両方から高く評価されました。 Android向けPravo.ruがインストールされているデバイスの数は100,000に近づいており、プログラムは毎日最大15,000回使用されています。 ユーザーのあらゆる要望に耳を傾け、 sps@pravo.ruに送信されたすべての手紙を読みます。 新しいリリースごとにプログラムに新しい機能が追加され、さらに便利で便利になります。