More Related Content
PDF
Trends in APN practice engage in the change PPTX
творчій звіт ЗОШ № 6 м. Димитрова PPTX
літературно мистецький червень2015 PPTX
Лiтературно-мистецький календар DOC
Curriculum Vitae - Nenko Todorov PDF
PDF
PPTX
літературно мистецький календар травень 2015 Viewers also liked
PPTX
Comparision of biogeography of microbial mapping PPTX
літературно мистецький лютий2016 PPT
Ch4 personality-and-values PPTX
літературно мистецький календар квітень 2015 PPTX
Real Estate in Ecommerce age PPTX
літературно мистецький липень2015 PPTX
літературно мистецький жовтень2015 PPTX
PDF
PPTX
літературно мистецький календар березень 2015 DOCX
FacebookProject_Team6_FinalReport PPTX
PPTX
PPT
How to conduct yourself at work PDF
Hum07 heritage s lideshow c and d - johnny DOC
Similar to 【京都勉強会】Android入門編1月31日
PDF
Programming24 第3回Androidアプリ勉強会 ODP
PDF
20150802 codeal androidアプリを作ろう(おみくじアプリ編) PPTX
PPTX
Xamarin.iOS/android+F#で作る関数型アプリ PPTX
Archive: Android アプリ開発入門(2015/6/19 社内勉強会) PDF
PDF
PDF
Android Lecture #04 @PRO&BSC Inc. PDF
PDF
PDF
PDF
RxSwiftをバインディングツールとして使ってみる ODP
PDF
[コデアル][Programming24]Androidアプリ勉強会01 PPTX
PDF
Xamarin によるクロスプラットフォームモバイルアプリ開発 PDF
Head First XML Layout on Android PDF
PPTX
Xamarin ~ iOS/Android/Windows アプリをC# で作ろう~ 【京都勉強会】Android入門編1月31日
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
・ ・ ・・
・
・
・
・
・
レイアウト作成
構造
LinearLayout
TableRow
TextView
TableLayout
Button
- 17.
- 18.
レイアウト作成
TextViewを追加
fill_parent 画面いっぱいに表示
match_parent 画面いっぱいに表示
wrap_content幅を自動調節
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="100dp"
android:gravity="right|center_vertical"
android:textSize="40sp“
/>
<TableLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
</TableLayout>
activity_main.xml
TableLayoutとは?
テーブル・格子状にウィジェットを配置
できるレイアウト。
TableRow(行)に各ウィジェットを追加。
今回は5行追加し、ボタンを配置してゆ
く
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
プログラミング
変数の用意
MainActivity.java
public class MainActivityextends ActionBarActivity{
int[] resource = {R.id.num1, R.id.num2, R.id.num3, R.id.num4, R.id.num5,
R.id.num6,R.id.num7, R.id.num8, R.id.num9, R.id.num0, R.id.ac, R.id.or,
R.id.plus, R.id.minus, R.id.multi, R.id.div, R.id.mod, R.id.point, R.id.equal
}; //ボタンのリソース
TextView display; //電卓の画面
Button button[] = new Button[resource.length]; //各ボタン
String first = "0"; //始めの数
String second = "0"; //2番目の数
String calc = ""; //演算子
int answer = 0; //答え
}
- 25.
プログラミング
• ボタンにクリックイベントを設定
MainActivity.java
public classMainActivity extends ActionBarActivity implements
OnClickListener{
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
display = (TextView)findViewById(R.id.textView);
for(int i = 0; i < resource.length; i++){
button[i] = (Button)findViewById(resource[i]);
button[i].setOnClickListener(this);
}
}
- 26.
プログラミング
• 計算機能の実装
MainActivity.java
@Override
public voidonClick(View v){
switch(v.getId()){
case R.id.num0: //「0」を押したとき
if(display.getText().toString().equals(“+”) ||
display.getText().toString().equals("-") ||
display.getText().toString().equals("÷") ||
display.getText().toString().equals("×") ||
display.getText().toString().equals("%")){
display.setText(“0”); //画面に「0」を表示
}else{
display.append(“0”); //画面に「0」を追加
}
break;
case R.id.num1:
・・・
これを0~9まで追加してください
- 27.
プログラミング
• 演算子が押された時
MainActivity.java
//続き
case R.id.plus:
calc= "+";
first = display.getText().toString();
display.setText("+");
break;
case R.id.minus:
calc = "-";
first = display.getText().toString();
display.setText("-");
break;
case R.id.multi:
calc = "×";
first = display.getText().toString();
display.setText("×");
break;
case R.id.div:
calc = "÷";
first = display.getText().toString();
display.setText("÷");
break;
case R.id.mod:
calc = "%";
first = display.getText().toString();
display.setText("%");
break;
- 28.
プログラミング
• AC、+/-、小数点が押された時
MainActivity.java
//続き
case R.id.ac:
first= null;
second = null;
display.setText("");
break;
case R.id.or:
if(display.getText().toString().indexOf("-") == -1) {
String w = display.getText().toString();
w = "-" + w;
display.setText(w);
}else{
String w = display.getText().toString();
int e = Math.abs(Integer.parseInt(w));
w = String.valueOf(e);
display.setText(w);
}
break;
case R.id.point:
if(display.getText().toString().indexOf(".") == -1) {
display.append(".");
}
break;
- 29.
プログラミング
• =が押された時
MainActivity.java
case R.id.equal:
if(calc== "+") {
second = display.getText().toString();
answer = Double.parseDouble(first) + Double.parseDouble(second);
display.setText(String.valueOf(answer));
}else if(calc == "-"){
second = display.getText().toString();
answer = Double.parseDouble(first) - Double.parseDouble(second);
display.setText(String.valueOf(answer));
}else if(calc == "×"){
second = display.getText().toString();
answer = Double.parseDouble(first) * Double.parseDouble(second);
display.setText(String.valueOf(answer));
}else if(calc == "÷"){
second = display.getText().toString();
answer = Double.parseDouble(first) / Double.parseDouble(second);
display.setText(String.valueOf(answer));
}else if(calc == "%"){
second = display.getText().toString();
answer = Double.parseDouble(first) % Double.parseDouble(second);
display.setText(String.valueOf(answer));
}
break;
default:
break;
- 30.
- 31.