Calculator ++の例を使用したAndroidアプリケーションの開発。 アイデアから実装まで







アイデア



私は元学生で、現在はエンジニアであるため、多くの場合、オンザフライでいくつかの計算を行います.kgあたりの商品のコストを計算するか、ローンの実効年間パーセンテージの値を計算するか、選挙で投票を分配するスケジュールを作成するかどうかです。



Androidマーケットを検索して数分後に(それが提示されたプログラムから単純に膨らみます)、約10の最も人気のある計算機がインストールされました。 しかし、喜びは完全ではありませんでした...私はすべてが好きではありませんでした、すべてが便利ではありませんでした:デザインが私たちを失望させた場所、入力メソッドはどこにあり、どこに絶えず落ちるのですか? ここでアイデアが生まれました:独自の電卓を書いて​​みませんか-私はJavaをよく知っています。 Androidで動作しないようにしますが、経験を積んでスキルをアップグレードし、優れたツールを入手します。



分析



アンドロイド市場のいくつかのアプリケーションの分析について詳しく説明します。



1. RealCalc関数電卓android.market



リストの最初のものはRealCalcで、500万〜1000万のインストールが行われた古典的な計算機で、平均評価は4.7です。



長所:
  1. サポートサイトは良いです-ヘルプと変更点とFAQがあります
  2. 使い慣れたデザイン(ここにあるものはすべて純粋に主観的です-好きではありません)




明らかな*(*私の意見では) 欠陥
  1. 式を入力できない
  2. 貧弱なデザイン(この章の最後でこれについて言及します)
  3. 組み込み関数の無駄のないセット
  4. プロットできない
  5. 乗算記号の必須使用*(5sin(2PI)の代わりに、5 * sin(2 * PI)と書く必要があります)




2. Cube Calculator Freeandroid.market



インストール数:100〜50万、平均評価:4.8



長所:
  1. より考え抜かれたデザイン(RealCalcと比較して)
  2. 式の計算
  3. コンピューティングの歴史
  4. 「オンザフライ」式の計算(「=」ボタンを押す必要はありません)




短所 (一部はRealCalcのように一対一です):
  1. 機能は2つの画面に分かれており、それらを常に切り替える必要があります
  2. 組み込み関数の無駄のないセット
  3. プロットできない
  4. 乗算記号の必須使用*(5sin(2PI)の代わりに、5 * sin(2 * PI)と書く必要があります)




3. Handy Calcandroid.market



インストール数:50万〜100万、平均評価:4.7



長所:
  1. 強力な機能(プロット、方程式の解法など)
  2. ドキュメントの操作(保存、読み込み)




短所:
  1. わかりにくいインターフェース-それぞれが独自のボタンを備えた2つの画面=(異なる機能を実行)
  2. 追加機能の画面を表示するには、3つのアクションを実行する必要があります(アプリケーションメニューを呼び出し、「ツール」を選択し、表示されるメニューで「機能」を選択します)




合計結果:

上記のすべてのアプリケーションには、重大な欠点が1つありますインターフェイスの設計不十分です 。クリックする必要があるものが明確でない、画面を切り替える必要がある、アクションのシーケンスを実行する必要がある機能にアクセスする、画面上のどこかにある計算結果全体が適合しません。



この単純な真実を認識して、アプリケーションの主な違いはよく考えられたインターフェイスになることを決めました。 記事の最後に、達成したことの例を示します。



開発



2011年6月に空き時間にアプリケーションの開発を開始しました。 JSCLが計算エンジンとして選択されました。 GUI要素の大部分は私が作成し、一部はインターネットから借用しています。 チャートライブラリはAChartEngineです(ただし、完璧ではなく、多くの奇妙なソリューションがあります)。 ここで追加する価値があるのは、計算にサードパーティのライブラリを選択したにもかかわらず、すぐにフォークしてバグを修正し、必要な機能を追加する必要があったことです(ところで、私のgithubで利用可能になりました)。



一般的に、多くの楽しみがあり、多くの経験が積まれ、1杯のアロマコーヒーは飲まれず、コンピューターの前で1晩も過ごしませんでした。



現在、プロジェクトはアクティブフェーズにあります。機能は引き続き追加され、ほぼ毎週新しい機能が追加され、バグが修正されます。



執筆時点では、プロジェクト内のネイティブJavaクラスの総数は680(内部クラスを含む)であり、そのうち222はメインAndroidモジュール( ソース )にあり、276はJSCLモジュール( ソース )にあり、182はジェネラルモジュール( ソース )にあります。



発売日



ある時点で、私はアプリケーションが大衆にリリースする準備ができていることに気付きました。 そして、同僚や知人のデバイスでテストした後、電卓++がandroid.marketに登場しました。

10月16日でした。



どうしたの?







上で書いたように、Calculator ++(以下K ++)の主な賭けはよく考えられたインターフェースでした。



この目標を達成するためにアプリケーションに追加された機能のポイントを書き留めます。
  1. 各K ++ボタンは、押すことに加えて、いわゆる「スワイプ」、つまり、中心から任意の方向への指の動きを処理する方法も知っています(現在、上下のスワイプはサポートされていますが、次のリリースでは右に方向を追加します)。 そのような決定の利点は何ですか? まず、これのおかげで、非常に多くのアクションを1つの画面に収めることができました-履歴の管理(「M」キーを参照)から単純に追加の機能と演算子(sin()、cos()、%など)を入力する) これにより、複数の画面とそれらの切り替えの問題がすぐに解決されました。
  2. 構文の強調表示-上記で説明した計算機はどれも数学用語を強調表示する簡単な方法を使用していません-テキストの書式設定:K ++では、ネストの各レベルは濃い色で強調表示され、関数は斜体で強調表示され、変数または定数は太字で表示されます
  3. 自動番号フォーマット:1 000 000.00または1'000'000.00。
  4. 結果が出力ウィンドウに収まらない場合、そのサイズは自動的に適切なサイズに縮小されます(画面に合わせる、単に置く)。
  5. バッファーを使用した頻繁な操作(コピー/貼り付け)では、個々のキーが強調表示されます。
  6. 出力ウィンドウには追加の機能があります-計算中にエラーが発生した場合、クリックするとエラーに関する情報が表示されたウィンドウが表示されます。 結果が1つの変数の関数である場合は、追加のアクションを選択できるメニューがポップアップ表示されます:plot / copy; その他の場合、結果は単純にバッファにコピーされます。
  7. =ボタンを押さずに計算を実行することは、単純でありながらめったに使用されないことです。
  8. 関数を入力するときは、括弧内にカーソルを置きます。
  9. 横向きおよび縦向きモードのサポート。






ご覧のとおり、リストには非常に多くの簡単なものが含まれています。 これらはともに、ユーザーとアプリケーションとの相互作用に大きな影響を与え、必要な操作を迅速かつ効率的に妨げることなく、仕事から最初の喜びを与えます。



インターフェースに加えて、Calculator ++には多くの機能上の利点があります。
  1. 膨大な数の関数(三角関数、双曲線関数、比較関数など)。
  2. シンボリック積分(∫)、微分(∂)、合計(Σ)、積(∏)。
  3. プロット。
  4. 複素数の空間での計算。
  5. 独自の変数を保存する機能(また、まだ関数に到達していません)。
  6. 乗算する符号を「下げる」機能。
  7. パーセンテージ計算。
  8. さまざまな数値システムおよびさまざまな角度単位(度、ラジアン)での計算。




プロモーション



今日では、良いアプリケーションを用意するだけでは十分ではありません。 したがって、私はそれを促進するためにしばらく時間を費やしました。

K ++を推進する上で重要な点は次のとおりです。
  1. w3bsit3-dns.comでのアプリケーションのレイアウト(インストールの数を単純に増やすことに加えて、この素晴らしいリソースのユーザーから貴重なフィードバックを受け取りました。
  2. ドロイドチャート上のアプリケーションの概要。 繰り返しますが、このすばらしいレビューの作成者に感謝します。 KOShの場合は個別に尊重=)。
  3. 外国語への翻訳:最初はアプリケーションは英語とロシア語のインターフェース言語のみをサポートしていましたが、ガブリエレラヴァネッティとジョルディルナの自主的な努力のおかげで、イタリア語とスペイン語が追加されました。 これに感謝します!
  4. 他のAndroidデバイスフォーラムのトピック+ reddit.com。




アプリケーション設定スケジュール:





どこで
  1. w3bsit3-dns.comのアプリケーションレイアウト
  2. ドロイドレビュー
  3. イタリア語への翻訳アプリ




注:スペイン語は次のバージョンでのみ表示されます。



この章では、各国ごとにアプリケーションを個別に宣伝する必要があることにも驚いています(ヨーロッパに到着してアンドロイドに行ったことが発見されました。ローカルコンピューターの市場では、最初の500件の新しいアプリケーションでも電卓++が見つかりませんでした。 ) もちろん、これは高度にローカライズされたアプリケーション(スケジュール、翻訳者など)には適していますが、汎用アプリケーションには障壁です。



次は?



そして、ただ一つのこと-開発の継続; アプリケーションを改善および完了し、エンドユーザーのより便利な作業のためにコードをなめます。

Calculator ++は、android.marketの電卓市場で価値のある競争相手であり、その開発の開始について後悔はないと思います。



質問、コメント、提案について-K ++に関連するものと関連しないもの-個人または電子メールで連絡し、コメントを書いてください。 必ず答えてください=)



ご清聴ありがとうございました!



参照:
  1. android.marketの電卓++
  2. Githubソースコード




UPDコメント、バグ、提案、コメントをありがとうございました。

UPD 2読者のリクエストによりQRコードを追加しました

UPD 3 githubには小さな問題トラッカーがあります。 難しくない場合は、そこにバグ、目的の機能などを入力してください。連絡が簡単になります。リクエストを逃すこともありません。



All Articles