AndroidStudioでアプリを作る(3)


Androidへ戻る

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

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

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

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

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

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

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

EOKをクリックする。

F背景設定完了。


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

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

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

C同様にHikiZanKakeZanWariZan用のSabActivityを作る。

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

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

BMainActivity.javapublic 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処理名をmodorutextをもどるに

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

※参考資料:MainActivity.java