AndroidStudioでアプリを作る(3)


Androidへ戻る

たしざんアプリを発展させメイン画面に四則を選ぶボタンを設置しサブアプリへ遷移する様に改造する。

1.メインアプリの元としてEmpty Activityを作る。今回のApplication nameは「SansuKeisan」とし、その他はそのままにした。

2.activity_main.xmlの画面にボタンを配置する。テキストサイズを24spにした。

3.背景を付けてみる。
�@背景画像を選択。(今回はwordのテクスチャで作成した)

�AAndoroidStudioのres配下のdrawableフォルダーに貼り付ける。
 
�B設定先のConstraintLayoutを選びAttribute(属性)設定窓を開く。

�CAttributeのbackgroundの右側PickaResourceをクリックし画像候補を表示させる。

�DDrawableに追加した「haikei1」をクリック。(Colorでは塗りつぶし色選択も可)

�EOKをクリックする。

�F背景設定完了。


4.サブアクティビティを作成する。
�@javaフォルダ上で右クリックしNew→Activity→EmptyActivityをクリック。

�AActivityNameを変更(今回はTasiZan)しfinishをクリック。

�BSabActivity用のjavaファイル、レイアウトxmlが生成される。

�C同様にHikiZan、KakeZan、WariZan用のSabActivityを作る。

5.メインアクティビティの処理(たしざんを例に)
�@たしざんボタンのAttributeのonClickにtasizanを記述。

�AText画面のandroid:onClick="tasizan"をクリックし電球マークをクリック。Create—をクリックしMainActivity内にtasizan(View)を作成する。

�BMainActivity.javaにpublic void tasizan(View view) { }が追加される。

�Cpublic void tasizan(View view) { }にTasiZan.class画面遷移する処理を記述する。
public void tasizan(View view) {
 Intent intent = new Intent(getApplication(), TasiZan.class);
 startActivity(intent);
}

6.subActivityの作成(たしざんを例に)
�@レイアウト作成
・以前に作成したたしざんのレイアウトの記述の<RelativeLayout以下をコピーして貼り付ける。
tools:context="com.example.mamikutoi.sansukeisan.TasiZan"
部が変更されているので注意。

・デザイン画面で左上にtextViewを追加。Textをたしざん、色を濃いグリーン、サイズ18spに



・画面右下にメイン画面に戻るためのボタンを追加する。onClick処理名をmodoruにtextをもどるに

�ASubActivityのTasiZan.javaを以前作成したMainActivityを参考にコピーし貼り付け作成する。
public class TasiZan extends AppCompatActivity {
のTasiZan
setContentView(R.layout.activity_tasi_zan);
のactivity_tasi_zan

上記2項目は自動作成されているので変更しない


6.引算、掛け算、割り算も同様に作成する。
�@誤差や桁落ち防止のために使用するBigDecimal型の演算について。

・たし算ではadd(BigDecimal b) bを加算する
この資料ではa+bをflost型のcに格納している。float c = a.add(b).floatValue();
・引算ではsubtract(BigDecimal b)bを減算する。
この資料ではa-bをfloat c = a.subtract(b).floatValue();
・掛け算ではmultiply(BigDecimal b)bを乗算する。
この資料ではa×bをfloat c = a.multiply(b).floatValue();
・割り算ではdivide(BigDecimal b, int c, int d)bで除算する。Int cは小数点以下の桁数。Int dは小数点の丸め方今回は小数点以下第3位で四捨五入とした。
この資料ではa÷bをfloat c = a.divide(b,2,BigDecimal.ROUND_HALF_UP).floatValue();

※参考資料:MainActivity.java