当前位置:  编程技术>移动开发

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

    来源: 互联网  发布时间:2014-10-21

    本文导语:  开发环境:android4.1.实验功能:在第一个界面中的2个乘数输入处分别输入2个数字,按下结果button,会自动跳到第二个界面并显示输入2个数字相乘的结果。如果在第一个界面中点击系统的menu按钮,则会自动弹出一个菜单,菜单...

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

实验结果:




实验主要部分代码及注释:
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:

     
       
   
   




activity_result.xml:
代码如下:

   




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

 

 
作者:tornadomeet

    
 
 

您可能感兴趣的文章:

  • android 自定义Android菜单背景的代码
  • android panellistview 圆角实现代码
  • android 简单图片动画播放的实例代码
  • android网络编程之android连接网络的简单示例代码
  • 用ubuntu下载的android源代码不知下到哪去了
  • Android发送短信功能代码
  • Android Bitmap和Drawable相互转换的简单代码
  • android WakeLock使用方法代码实例
  • android自动安装apk代码实例(不使用apk安装器安装)
  • 控制Android LED灯颜色的代码实例
  • android通过bitmap生成新图片关键性代码
  • linux iis7站长之家
  • Android键盘显示与隐藏代码
  • Android中监听系统网络连接打开或者关闭的实现代码
  • Android 显示和隐藏输入法实现代码
  • Android点亮屏幕或屏幕解锁和锁定以及其他相关权限实现代码
  • Android中Root权限获取的简单代码
  • android downsample降低音频采样频率代码
  • android连接wifi时获取广播地址代码
  • android layout 按比例布局的代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 申请Android Map 的API Key(v2)的最新申请方式(SHA1密钥)
  • Android瀑布流实例 android_waterfall
  • Android开发需要的几点注意事项总结
  • Android系统自带样式 (android:theme)
  • android 4.0 托管进程介绍及优先级和回收机制
  • Android网络共享软件 Android Wifi Tether
  • Android访问与手机通讯相关类的介绍
  • Android 图标库 Android GraphView
  • Android及andriod无线网络Wifi开发的几点注意事项
  • 轻量级Android开发工具 Android Tools
  • Android 2.3 下StrictMode介绍
  • Android 开发环境 Android Studio
  • IDEA的Android开发插件 idea-android
  • Android手机事件提醒 Android Notifier
  • XBMC的Android客户端 android-xbmcremote
  • Android小游戏 Android Shapes
  • Android电池监控 Android Battery Dog
  • android开发:“android:WindowTitle”没有对应项no resource
  • Android 上类似IOS 的开关控件。 Android ToggleButton
  • Android 将 android view 的位置设为右下角的解决方法
  • Android 2D游戏引擎 Android Angle


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3