Android入门--写一个最简单的计算器
2011-04-18 15:04
417 查看
这里将写的计算器是借用了下面写的计算器,并把其中需要注意的地方一一补充罗列:http://www.iteye.com/topic/141029
需要演示的结果:
之前假设已经配置好Android开发环境,如果没有,请参看下面2篇文章:
Win7 配置Android开发环境
/article/4865489.html
ubuntu10.10 下安装android 2.2开发环境
/article/4865488.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 :
说明:
这里我们偷懒取最后一行用户输入的这里没有做必要的校验,如果多个回车可能会导致计算不出来数据。
四、在模拟器实验
如果还没有配置好模拟器,点击运行时会提示你配置模拟器
在 Window –> Android SDK and AVD Manager 中也可以做事后调整和新建
修改或者新建模拟器时,会有下面选择:
Name 就是一个名字,在模拟器管理中用于区分的名字
Target 是选择模拟器的操作系统版本,我这里模拟的是 Android 2.2
SD Card SD内存卡的大小
Snapshot 拍照功能是否可用
Skin 屏幕分辨率
Hardware 其他硬件参数设置
Eclipse 中选择 Debug as Android Application 或者 Run as Android Application,就可以自动在模拟器上运行。
五、部署到真实手机
我个人比较喜欢豌豆荚,尤其是它可以通过Wifi来给手机安装功能。我是通过豌豆荚来部署在我们的真机的。
如下图所示,我们在项目目录 bin 目录下可以看到已经生成好的 TestAndroidProject.apk 文件, 通过豌豆荚把这个文件传到手机即完成部署。
参考资料:
Eclipse开发Android应用程序入门
http://coolshell.cn/articles/4270.html
需要演示的结果:
之前假设已经配置好Android开发环境,如果没有,请参看下面2篇文章:
Win7 配置Android开发环境
/article/4865489.html
ubuntu10.10 下安装android 2.2开发环境
/article/4865488.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:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <EditText android:id="@+id/editText1" android:text="@string/hello" android:digits="1234567890.+-*/%\n\t()" android:layout_width="match_parent" android:layout_height="match_parent"></EditText> </LinearLayout>
注意:
我们把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.length() - 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 –> Android SDK and AVD Manager 中也可以做事后调整和新建
修改或者新建模拟器时,会有下面选择:
Name 就是一个名字,在模拟器管理中用于区分的名字
Target 是选择模拟器的操作系统版本,我这里模拟的是 Android 2.2
SD Card SD内存卡的大小
Snapshot 拍照功能是否可用
Skin 屏幕分辨率
Hardware 其他硬件参数设置
下面的表格总结了模拟器按键和键盘按键之间的映射关系。 | |
模拟器按键 | 键盘按键 |
后退 | ESC |
菜单 | F1 或 PgUp |
开始 | F2 或 PgDn |
呼叫 | F3 |
挂断 | F4 |
— | F5, F6 未分配 |
电源按键 | F7 |
禁用/启用所有网络 | F8 |
开始跟踪 | F9 (当且仅当有-trace 标记时有效) |
停止跟踪 | F10 (当且仅当有-trace 标记时有效) |
主页 | HOME |
方向键 左/上/右/下 | 小键盘 4/8/6/2 |
方向键 中心建 | 小键盘 5 |
调低音量 | 小键盘 负号(-) |
调高音量 | 小键盘 加号(+) |
Eclipse 中选择 Debug as Android Application 或者 Run as Android Application,就可以自动在模拟器上运行。
五、部署到真实手机
我个人比较喜欢豌豆荚,尤其是它可以通过Wifi来给手机安装功能。我是通过豌豆荚来部署在我们的真机的。
如下图所示,我们在项目目录 bin 目录下可以看到已经生成好的 TestAndroidProject.apk 文件, 通过豌豆荚把这个文件传到手机即完成部署。
参考资料:
Eclipse开发Android应用程序入门
http://coolshell.cn/articles/4270.html
相关文章推荐
- Android入门--写一个最简单的计算器
- Android开发入门与一个简单应用:分贝仪
- 一个简单的入门的android游戏demo
- QT入门-一个简单的计算器程序
- Android table布局开发的一个简单的计算器
- 安卓逆向入门之如何连接夜神与AndroidKiller,以及一个简单crackme
- Android开发从入门到放弃(8)使用ListView显示一个简单的列表
- Macriomedia Flex入门教程第二部分――创建一个简单的计算器
- Android table布局开发的一个简单的计算器
- Android读写文件的一个简单入门的例子
- 一个简单的Android入门程序
- Android第二天——一个简单的计算器
- Android 初学者入门(一个最简单的应用程序)
- Android 一个简单的计算器APP
- Android官方入门文档[3]构建一个简单的用户界面
- Android案例(1)——一个简单的计算器
- Android之一个简单的NDK使用(一)
- Android关于ExpandableListView用法的一个简单小例子。仿QQ列表
- Android---9---简单的计算器
- WatchKit入门:创建一个简单的猜数游戏