`
yqn36yqn
  • 浏览: 17702 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Android入门--写一个最简单的计算器

 
阅读更多

Android入门--写一个最简单的计算器
2011年04月18日
  这里将写的计算器是借用了下面写的计算器,并把其中需要注意的地方一一补充罗列:http://www.iteye.com/topic/141029
  需要演示的结果:
  
  之前假设已经配置好Android开发环境,如果没有,请参看下面2篇文章:
  Win7 配置Android开发环境 
  http://www.cnblogs.com/ghj1976/archive/2011/04/15/ 2017292.html
  ubuntu10.10 下安装android 2.2开发环境 
  http://www.cnblogs.com/ghj1976/archive/2011/04/02/ 2003847.html
  第一步,新建项目
  
  
  说明:
  Project name:
  在计算机中存储工程的目录名。
  Application name:
  应用的标题名字,我们在手机屏幕上显示应用的名字就是这个。
  Package name:
  Package name 是你的应用程序标示。当你开始准备在Android Market上发布你的应用程序的时候,Android用这个标识符精确地记录你的应用程序的更新过程,因此让包名唯一是非常重要的。尽管我们在这里使用了android.test这样的名字空间,对于真实的应用程序,你应该选择类似于com.你的公司名.你的应用程序名 这样的包名。 
  Create Activity:
  Activity name(UI界面窗口的类名,从Activity继承而来)。
  Min SDK Version
  Min SDK Version 是你的Android程序所能运行得最早版本号。对于每个新发布的Android,SDK会增加并修改一些方法。通过选择一个版本号,Android(Android Market)会知道你的应用程序能运行在等于或晚于指定版本的设备之上。 
  注意,这里是SDK 的 API Level 数字,而不是 Platform ,比如我们最小运行在 Android 1.6 时, 我们这里应该是写 4 而不是 1.6。
  
  二、准备工作
  这里我们偷懒,使用beanshell来完成计算。http://www.beanshell.org/
  这就需要我们下载对应的 jar 包
  下载地址:http://www.beanshell.org/download.html
  我们只需要下载:bsh-core 即: bsh-core-2.0b4.jar 这个文件
  下载完成后,选择我们的项目,右键菜单中 “Build Path” 中选择 “Add External Archives” ,选择我们刚刚下载的 bsh-core-2.0b4.jar 文件。
  
  三、代码与布局
  布局文件 main.xml: 注意: 
  我们把EditText可输入的内容做了限制,只能输入跟计算和显示有关的一些字符。
  代码文件 HelloWorldActivity.java : package ghj1976.HelloWorld; import bsh.EvalError; import bsh.Interpreter; import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.widget.EditText; public class HelloWorldActivity extends Activity { private static EditText et; private static Interpreter i = new Interpreter(); /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); et = (EditText)findViewById(R.id.editText1); et.append("\n"); et.setSelection(et.length()); // 调整光标到最后一行 } @Override public boolean onKeyUp(int keyCode,KeyEvent event) { // 判断是否输入了回车 if(keyCode == KeyEvent.KEYCODE_ENTER) { String input = et.getText().toString(); // 这里用偷懒的方式取用户最后一行输入 String lastLine = input.substring(input.lastIndexOf("\n",input.lengt h() - 2)); et.append("\t\t"); et.append(eval(lastLine)+"\n"); et.setSelection(et.length()); } return true; } // 用 beanshell 偷懒来做算式计算 private Object eval(String input) { try { return i.eval(input); } catch(EvalError e) { return e.getMessage(); } } }
  说明:
  这里我们偷懒取最后一行用户输入的这里没有做必要的校验,如果多个回车可能会导致计算不出来数据。
  四、在模拟器实验
  如果还没有配置好模拟器,点击运行时会提示你配置模拟器
  在 Window
分享到:
评论

相关推荐

    JAVA上百实例源码以及开源项目源代码

    2个目标文件 摘要:Java源码,文件操作,TCP,服务器 Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。...

    java开源包1

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    JAVA上百实例源码以及开源项目

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    java开源包10

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包8

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包11

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包2

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包3

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包6

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包5

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包4

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包7

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包9

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包101

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    Java资源包01

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    studo:大学决赛项目

    作为大学任务,进行了一个新的Flutter项目。 描述 该项目用于教育目的。 基本概念是学生的“个人助手”。 用户应该能够添加他们在大学上过的课程和科目,并且应用程序应该一目了然地显示即将举行的课程。 每个科目都...

Global site tag (gtag.js) - Google Analytics