Androidアプリ作成日記

プログラミング初心者が、Androidアプリを作ります

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

  1. --/--/--(--) --:--:--|
  2. スポンサー広告

年利計算アプリのソース解説

昨日作った年利計算アプリのソースを解説&メモりたいと思います。
ところで、この前のHelloWorldの解説ではまだよく分かんなかったのでjavaの部分しか書きませんでしたが、
他にxmlというものを編集する必要があります。
javaってのはこのボタンをクリックしたらこう動くとか、主に中身・機能面を記述しますが、
xmlってのは表示文字やボタンの配置位置など、外見・表示面を記述します。
まぁとりあえずjavaのソースを示します。


package com.android.Nenri;
import java.text.DecimalFormat;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class Nenri extends Activity {
    private Button button;
    private EditText edit1,edit2,edit3;
	private TextView text1_1,text1_2,text2_1,text2_2,text3_1,text3_2,text4,text5;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        // コンポーネントの設定
        button = (Button)this.findViewById(R.id.button);
        edit1 = (EditText)this.findViewById(R.id.edit1);
        edit2 = (EditText)this.findViewById(R.id.edit2);
        edit3 = (EditText)this.findViewById(R.id.edit3);
        text1_1 = (TextView)this.findViewById(R.id.text1_1);
        text1_2 = (TextView)this.findViewById(R.id.text1_2);
        text2_1 = (TextView)this.findViewById(R.id.text1_1);
        text2_2 = (TextView)this.findViewById(R.id.text2_2);
        text3_1 = (TextView)this.findViewById(R.id.text1_1);
        text3_2 = (TextView)this.findViewById(R.id.text1_2);
        text4 = (TextView)this.findViewById(R.id.text4);
        text5 = (TextView)this.findViewById(R.id.text5);
        // イベント組み込み
        button.setOnClickListener(new MyClickAdapter());
    }
    // イベントクラス
    class MyClickAdapter implements OnClickListener {
       public void onClick(View v) {
    	   try{
           String s1 = edit1.getText().toString();
           String s2 = edit2.getText().toString();
           String s3 = edit3.getText().toString();
           float i1=Integer.parseFloat(s1);
           float i2=Integer.parseFloat(s2);
           float i3=Integer.parseFloat(s3);
           double tan=i1*i2/100*i3;
           double fuk=i1*Math.pow(i2/100+1,i3)-i1;
    	   DecimalFormat df = new DecimalFormat();
           df.applyLocalizedPattern("##,###,###.#");
           if(tan<100000000){
               text4.setText("利息(単利):"+(df.format(tan))+"万円");
               text5.setText("利息(複利):"+(df.format(fuk))+"万円");
          }
           else{
           text4.setText("数値が大きすぎます");
           }
           }
    	   catch(Exception e){
    		   text4.setText("数値を入力してください");
    	   }
        }
    }
}
やっぱり色んなサイトをパクった部分はありますが、今回は自力で書いた部分も多いです。
では解説していきます。

1~9行:パッケージの指定&クラスのインポート。
10行:Activityクラスを継承してNenriクラスを定義します。
11~13行:ボタン、テキストボックス(EditText)、表示テキスト(TextView)クラスを定義します。
表示テキストがやたら多いですね。これはなんか他に方法があるかもしれません。
14~15行:オーバーライドし、onCreateメソッドを定義します。
16行:superによってActiviryのonCreateメソッドを参照します。
17行:後に説明するmain.xmlの内容を表示する。
18行:プログラムに解説コメントを表示したいときは、//を入れる。
19~30行:ここは中々難しいんですが、findViewByIdメソッドで、R.javaにある、idで設定されたbutton等の
コンポーネントをインスタンスに設定します。R.javaの内容は、main.xmlを編集すると自動的に変更されるようです。
32行:setOnClickListenerメソッドで、ボタンを押したときの処理を設定します。内容はMyClickAdapter()というクラスで設定。
38~40行:editの内容をgetText()メソッドで取得し、さらにtoString()メソッドで文字列として認識する。
41~43行:Integer.parseInt()メソッドで数に変換。intは整数を意味し、Floatは少数を含む数を意味するんだけど、
なぜかparseFloatはできなくparseIntだとできる。不思議だ。
44~45行:肝心の年利の計算です。
46~51行:メソッドを使って整数の桁数を設定し、setTexgtメソッドでtext4とtext5に文字列を設定しています。
52行以降:数が100000000より大きかったり、数字ではない場合のときの文字列をtext4に設定する。

ふぅ疲れた。
・・・でもなんか見づらいな。相当見づらい。
解説方法も考えなくては。

次はmain.xmlとstrings.xmlを解説します。


Androidアプリ開発ランキング

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2011/01/12(水) 00:34:01|
  2. アプリ作成 (練習)
  3. | トラックバック:0
  4. | コメント:0
<<年利計算アプリ・xml | ホーム | 年利計算アプリ完成>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://andromaker.blog98.fc2.com/tb.php/24-70951216
この記事にトラックバックする(FC2ブログユーザー)


カテゴリ

家計簿アプリ (15)
アプリ作成 (練習) (7)
プログラム用語 (1)
エラー (3)
環境設定 (8)
サイト関連 (3)
雑談 (9)
ニュース (1)
未分類 (2)
書籍紹介 (1)
iPhone (1)

Android書籍

スマートにプログラミング
Android入門編


初歩からわかるAndroid
最新プログラミング


Google Android
プログラミング入門


AndroidアプリUIデザイン
&プログラミング


Android SDK
逆引きハンドブック

月別アーカイブ

最新コメント

最新トラックバック

最新記事

RSSリンクの表示

カウンター

アクセスランキング

アクセスランキング

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。