android实现简单的乘法计算代码
android实现简单的乘法计算代码
发布时间:2017-01-07 来源:查字典编辑
摘要:开发环境:android4.1.实验功能:在第一个界面中的2个乘数输入处分别输入2个数字,按下结果button,会自动跳到第二个界面并显示输...

开发环境: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者其中有一个为字符型,则会自动将另一个也转换成字符串 .

实验结果:

android实现简单的乘法计算代码1

android实现简单的乘法计算代码2

实验主要部分代码及注释:

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>

实验总结:

本次实验对intent的应用有了稍许的了解,体会到了java和c++编程稍许不同的地方。

作者:tornadomeet

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新安卓软件开发学习
热门安卓软件开发学习
编程开发子分类