Android开发历程_2(实现简单的乘法计算)
来源:互联网 发布:apache storm 源码 编辑:程序博客网 时间:2024/05/18 23:26
本次实验主要是完成输入2个数相乘,并显示其结果。共涉及到4个控件的使用学习,输入数字采用EditText,显示结果用TextView,运算按钮button以及菜单中的退出键。参考资料为mars老师的资料。
开发环境:android4.1.
实验功能:
在第一个界面中的2个乘数输入处分别输入2个数字,按下结果button,会自动跳到第二个界面并显示输入2个数字相乘的结果。如果在第一个界面中点击系统的menu按钮,则会自动弹出一个菜单,菜单栏包括退出和关于2个按钮,点击退出按钮,则退出了该程序。
实验说明:
1. 第1个activity的步骤大概如下:
创建一个监听器。
创建一个intent,并将获取到的2个输入数字分别以键值对的形式输入intent。
连接第1个activity和第2个activity。
启动intent。
把该监听器绑定到计算结果button中。
2. 第2个activity的步骤大概如下:
创建一个监听器。
创建一个intent,并从intent中的键值对获得字符串,保存好。
将字符串转换成数字,并相乘。
将相乘结果在TextView中显示出来。
3. 加入菜单项需要重写onCreateOptionsMenu()函数,无需在xml布局中添加相应的控件。
4. 相应菜单单击时需要重写onOptionsItemSelected()函数。
5. 在android的java文件中导入包的时候,千万要注意区分名字的大小写。
6. 一般在java程序中显示文本时,为了达到程序的国际化,最好不要把文本内容在java中指定,而需要在对应的xml文件中指定,然后在java代码中调用其资源即可.因为这样我们只需更改一个xml文件(当然一般是有多个语言版本的xml文件,然后不同版本的软件调用不同的xml即可)。
7. 内部类在java中比较常见,就是类中嵌入类,这种情况在多线程中应用得比较多。在内部类中可以使用外部类的成员变量,函数和对象等。
8. android控件中的menu控件不需要在xml中给出,直接在java源码中重写一些函数即可。
9. intent不仅可以在同一程序中的2个actibity中进行传递数据,还可以啊不同程序中的activity中进行数据传递。
10. java中将字符串转换成整数的语法是用Integer.parseInt(string);
11. java运算中只要2者其中有一个为字符型,则会自动将另一个也转换成字符串 .
实验结果:
输入界面:
输出界面:
加入menu菜单后:
实验主要部分代码及注释:
MainActivity.java:
package com.example.factor;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;public class MainActivity extends Activity { private TextView factor; private EditText factor1; private EditText factor2; private Button result; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); factor = (TextView)findViewById(R.id.factor); factor1 = (EditText)findViewById(R.id.factor1); factor2 = (EditText)findViewById(R.id.factor2); result = (Button)findViewById(R.id.result); factor.setText(R.string.factor); result.setText(R.string.result); //绑定一个监听器到该按钮 result.setOnClickListener(new onResultClickListener()); } //该函数其实是一个回调函数,但在系统中按下了menu按钮时会自动调用这个函数 @Override public boolean onCreateOptionsMenu(Menu menu) { //要在返回代码之前加入 menu.add(0, 1, 1, R.string.exit); menu.add(0, 2, 2, R.string.about); return super.onCreateOptionsMenu(menu); } //菜单项选择函数重写 @Override public boolean onOptionsItemSelected(MenuItem item) { if( 1 == item.getItemId() ) finish(); return super.onOptionsItemSelected(item); } //创建一个监听器 class onResultClickListener implements OnClickListener{ public void onClick(View v) { //获取2个edit输入的数字 String factor1_str = factor1.getText().toString(); String factor2_str = factor2.getText().toString(); //建立intent,并将数据传入,且激活ResultActivity Intent intent = new Intent(); intent.putExtra("factor1", factor1_str); intent.putExtra("factor2", factor2_str); intent.setClass(MainActivity.this, ResultActivity.class); //启动intent MainActivity.this.startActivity(intent); } } }
ResultActivity.java:
package com.example.factor;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.widget.TextView;public class ResultActivity extends Activity { private TextView result_dis; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_result); result_dis = (TextView)findViewById(R.id.result_view); Intent intent = getIntent(); String factor_str1 = intent.getStringExtra("factor1"); String factor_str2 = intent.getStringExtra("factor2"); //java中将字符串转换成整数的语法 int factor_int1 = Integer.parseInt(factor_str1); int factor_int2 = Integer.parseInt(factor_str2); int result = factor_int1 * factor_int2; //java运算中只要2者其中有一个为字符型,则会自动将另一个也转换成字符串 result_dis.setText(result + ""); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_result, menu); return true; }}
activity_main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <EditText android:id="@+id/factor1" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/factor" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <EditText android:id="@+id/factor2" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/result" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>
activity_result.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/result_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" ></TextView></RelativeLayout>
- Android开发历程_2(实现简单的乘法计算)
- Compute.jsp 实现简单的计算 (44_2)
- 用JavaScript实现简单的乘法计算
- 大数乘法的简单实现
- Android开发_2.测试
- android 的初步_2
- 【android开发】弹出对话框_2
- 一个简单实现的字符串数字乘法。
- 简单乘法运算功能的实现
- android 使用intent传递参数实现乘法计算
- Android开发历程_12(Handler的使用)
- Android开发历程_15(AppWidget的使用)
- 【Android开发学习21】写一个简单的乘法计算器,并添加退出菜单
- 数的乘法计算
- 数的乘法计算
- 数的乘法计算
- 数的乘法计算
- 数的乘法计算
- 点击PopupWindow之外的区域让其消失
- USB HID Report Descriptor 报告描述符详解(节选自HID1.11协议)
- 什么是出色的员工
- Android开发历程_1(从1个activity跳转到另一个activity)
- /,/,//
- Android开发历程_2(实现简单的乘法计算)
- C#回调机制
- Boost.Regex库在linux上的编译安装,使用
- Android退出整个应用程序
- memcached真实项目中的应用
- UITableViewCell的简单应用-瀑布形相册
- 数据库-sqlserver-B库的B表同步到A库的A表
- 算法8-3:权重图接口
- log4j的MDC