寒川アクアブログ

美容師しながらアプリ開発していて水草が趣味の私のブログです

2016-09-01から1ヶ月間の記事一覧

【電卓アプリを作るvol.7】アプリ終了時の状態を保存

前回まで・・・ 計算結果に端数が出た場合に、 それを丸めて表示する静的メソッドを実装しました。今回は、 計算中に電話がかかってきて、 戻ったら全てクリアーされていたという、 悲しいことが起こらないように、 終了時の状態を保存し、 再開したときにロ…

【電卓アプリを作るvol.6】計算結果を成型する

前回まで・・・ とりあえず、必要最低限の電卓ができました。 今回は、計算結果を丸めて表示する機能を実装します。 現状の問題点 今の段階では、1+1=の結果が、"2.0" (シンプルに "2" でいいんじゃない?)また、10÷6のように割り切れない計算をすると …

【電卓アプリを作るvol.5】UIをレイアウトする

前回まで・・・ 汎用性の高いCalcクラスを作りました 今回は、最低限のUIと電卓として機能するまでを行います。UIをレイアウトします。 お好みのようにデザインしてください。 基本的には、電卓の液晶画面にあたる部分をTextViewで、 キーはButtonで配置しま…

【電卓アプリを作るvol.4】ソースコード2/2

Calc メインの電卓クラス アクティビティからnewして使います。 public class Calc implements Context { // ディスプレイ表示が変わるたびに、文字列をコールバックします public interface Callback{ void onTextChanged(String string); } Callback callb…

【電卓アプリを作るvol.3】ソースコード1/2

前回まで・・・ 電卓のアルゴリズムについて考えました 今回は、ソースコードを掲載します。 参考書のような詳細な解説は割愛しますが、 状態遷移表とコードを何度も見比べれば、 理解できると思います。アンドロイドスタジオのエクスプローラービューは↓こ…

【電卓アプリを作るvol.2】アルゴリズム

前回まで・・・ 状態遷移表ができました。 今回はこの状態遷移表に基づいた処理を、どう実装するのかを考えます。 状態を定義 A、B、C、Dの各状態を、クラスで表現します。「状態をクラスで・・・」というと、漠然としていますが、 結局のところ、何かイベン…

【電卓アプリを作るvol.1】状態遷移

電卓ロジックを考える 電卓を作るにあたって、 電卓をどのように操作していたかを思い出してみます。まず数値を入力して、演算子キーを押し、 2つめの数値を入力して、最後に[=]キーを叩くという流れではないでしょうか。演算子を押した直後に数値を入力す…

【電卓アプリを作る】はじめに

電卓アプリを作る! 信頼性が高く、デザインも良い、 小数点セレクターやラウンドセレクターで、 会社の方針に沿った計算結果を表示。 %や定数計算にも対応! あなただけのオリジナルな電卓も作れるように、 汎用性も高い!↑こんな電卓を、これから何回かに…

LinkedListクラスのよく使うメソッド

便利なLinked List リンクドリストはオブジェクトの配列なのですが、汎用性が高く、 とにかく使い勝手が良い。私の一番好きなクラスかもしれない(笑)。 LinkedListの詳細についてはここでは記載しませんが、 オブジェクトをぽんぽん入れられて、前から(後…

カラーフィルターまとめ(PorterDuff.Mode)

イメージビューにカラーフィルターを掛けた時の効果のサンプルです。適当なボタンの画像と、ドロイド君に、Color.REDと、各モードのカラーフィルターを施しました。ボタン部分とドロイド君は不透明で、外側は透明です。もっと透明度に対する影響がわかりやす…

doubleの値を、カンマつきの文字列に変換

1234567(double) を 1,234,567(String) に変換します。 double value = 1234567d; DecimalFormat df = new DecimalFormat("#,##0.###"); String string = df.format(value); コンストラクターのパラメーターはフォーマットのルールの定義のようなもので 0 は…

独自に用意したフォントを使う

開発していると、デフォルトのフォントで日本語を表示すると、 なんかオシャレ感に欠ける・・・ということがあります。 シンプルな概観や、洗練された印象を与えるには、フォントの効果は少なからずあるかと思います。 以下、自分で用意したフォントをアプリ…

小数点以下第n位にdoubleを丸める

例えば電卓アプリなどで計算結果を表示する際、 割り切れない数値を、小数点以下第○位まで丸めて表示する方法です。例として、10÷6の結果を、小数点以下第4位を四捨五入して、第三位まで表示してみます。 double value = 10d / 6d; BigDecimal bd = new …