第一个Android项目——计算器
第一个Android项目——计算器
效果
开始学Android一两个星期了,学习了一下基本的Activity、简单控件及几个简单布局,打算找个东西来练练手,于是就选择发计算器。关于计算器中用到的四则运算在上一篇博客表达式(四则运算)计算的算法中已经讲了。这里不再赘述。
先看一下要达成的效果图:
图1
这里只用到了一个Activity,有EditText、Button两个控件组成,所以比较简单。
布局
这里用到了三种布局:
LinearLayout: 一个整体的垂直的线性布局
有几个属性解释一下:
android:layout_width="match_parent" layout宽度,match_parent匹配父控件,在这里就是Activity
android:layout_height="match_parent" layoutr 高度
android:orientation="vertical" 定义为垂直方向
tools:context=".MainActivity" 对应的Activity的java文件
RelativeLayout:相对布局,用于控制backspace和clear按钮
android:layout_alignParentTop="true" 与父窗口顶部对齐
android:layout_toLeftOf="@+id/clear" 在clear组件的大侧
android:layout_alignParentRight="true" 与父窗口右端对齐
android:padding="18dip" 组件之前的空隙
android:gravity="center" 组件中文本的对齐方式
TableLayout 一个4*5的表格布局,用于存放数字和符号按钮
事件监听
我知道的事件监听有两种方式:
一种是先获得控件的对象,再通过控件对象设置监听setOnClickListener();如:
Button backspace = (Button)findViewById(R.id.backspace);
backspace.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
}
);
另一种方法是定义一个方法,通过getTag获得控件,然后为多个控件添加监听事件。
public void onClickTransaction(View v) {
// backspace and clear
if ("backspace".equals(v.getTag())) {
//do something
} else if ("clear".equals(v.getTag())) {
//do something
}
}
然后在xml文件中对应的控件上设置该监听的函数名
<Button
android:onClick="onClickTransaction"
android:tag="1"
android:layout_height="fill_parent"
android:id="@+id/row0col0"
android:layout_gravity="center_vertical"
android:gravity="center"
android:padding="2dip"
android:text="@string/row0col0" >
</Button>
PS:
我在做这个项目的时候遇到一个很诡异的问题,大家交流一下。在我做出了整体的布局如上面的图1中的时候,相应的监听也加进去了,监听都没有问题。在加最后一个“=”按钮的监听时就不行了,一点按钮就崩溃,后面把最后一个按钮的监听事件去掉了,还是有问题。找了半天没有找到,叫老师过来用debug找了半个小时也没有找到什么错误。后来我一个同学,帮我一点点地试,发现好像什么id生成错误,后面eclipse的project/clean...清除一下缓存,重新编译一下,一切问题都没有了,运行良好。
当你遇到一些比较诡异的问题老是解决不了,你也不防试一下eclipse的project/clean清除一下缓存,也许问题就解决了。
项目下载:http://download.csdn.net/download/luoweifu/6041661
第一个Android项目——计算器的更多相关文章
- 用Kotlin创建第一个Android项目(KAD 01)
原文标题:Create your first Android project using Kotlin (KAD 01) 作者:Antonio Leiva 时间:Nov 21, 2016 原文链接:h ...
- 3.创建第一个android项目
安卓开发学习笔记 1.安卓开发之环境搭建 2.SDK目录结构和adb工具及命令介绍 3.创建第一个android项目 1.打开Eclipse,选择File——>new——>others.. ...
- Android基础之用Eclipse搭建Android开发环境和创建第一个Android项目(Windows平台)
一.搭建Android开发环境 准备工作:下载Eclipse.JDK.Android SDK.ADT插件 下载地址:Eclipse:http://www.eclipse.org/downloads/ ...
- 第03讲- 第一个Android项目
第03讲第一个Android项目 Android项目目录结构: 重要文件: src res AndroidManifest.xml 包含内容: MainActivity.java (程序主视图) 存放 ...
- 【Android Developers Training】 1. 创建一个Android项目工程
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 如何快速高效地完成一个Android项目?
本文的内容有别于之前文章中纯技术的探讨,会从业务逻辑.技术.团队和方法论的角度探讨如何快速高效地完成一个Android项目.当然,快速高效是有前提的,第一,本文依然是从研发的角度来谈如何把控项目的,而 ...
- 【Android开发】创建你的第一个Android项目
原文:http://android.eoe.cn/topic/summary 本文中你将了解到: 1. 使用Eclipse创建项目 2. 使用命令行创建项目 你还应该阅读: 1. 安装SDK(官网页面 ...
- Creating an Android Project(创建一个android项目)
一个android项目包含了你的应用程序中的所有源代码文件,我们可以通过android sdk tools轻松地创建一个拥有默认文件跟文件夹的android项目. 这部分课程我们将展示两种创建andr ...
- [Android开发教程]Android官网developer training中文版教程 - 1.1.1 创建一个Android项目
本系列持续更新中.转载请注明来源. 前言:近期打算系统学习一下Android开发,发现Android官网上的developer training也是个非常好的学习资料,于是想到一边学习一边写一个中文版 ...
随机推荐
- SQL效率低下原因主要有
类别 子类 表达式或描述 原因 索引 未建索引 产生全表扫描 未利用索引 substring(card_no,1,4)=′5378′ 产生全表扫描 amount/30< 1000 ...
- Apple 公司开发者账号注册
苹果公司开发者账号注册流程详解 这段时间在给朋友申请苹果账号,从个人开发者账号.公司账号到企业账号,申请了个遍.这里对申请流程做一下介绍,方便其他朋友,少走弯路,账号早日申请通过. 1.首先介绍下 ...
- python 处理cookie简单很多啊 httpclient版本是4.3.3
模拟登录流程: 1 请求host_url 2 从host_url中解析出 隐藏表单 的值 添加到POST_DATA中 3 添加账户,密码到POST_DATA中 4 编码后,发送POST请求 要点 ...
- jQuery制作Web全屏效果
需要的资源 1.jQuery版本库是必不可少的2.jQuery FullScreen plugin如果你下载不方便的话,你可以直接把下面的代码copy到你本地JQuery FullScreen plu ...
- GSM、GPRS、EDGE、2G、3G与WAP的关系
1.GSM(Global System of Mobile communication)即全球移动通讯系统: 是目前使用人数最大的移动通信网络,就是2G的移动通信技术,是一种电路交换系统.这种网络仅提 ...
- 网站页面优化必然趋势—WebP 图片!
本文梗概:众所周知,浏览器可以通过 HTTP 请求的 Accpet 属性 来指定接收的内容类型.依靠这个技术,可以在不修改任何 HTML/CSS 或者图片的情况下,向浏览器提供优化的图片,从而降低带宽 ...
- 如何把关联性的告警智能添加到 Nagios 上?(2)
上节回顾 对于许多 IT 和运维团队来说,Nagios 既是一个福音也是一个诅咒.一方面,Naigos 在 IT 应用的工作领域中,给予了你可以实时查看告警数据的可能性:但是另一方面,Nagios 也 ...
- Android 使用SharedPreference来进行软件配置的存取
我们在安卓开发的时候不免需要记录用户键入的一些信息,比如账号和密码,用户使用软件的次数,上次打开软件的时间等等,为了保存这些配置,我们可以使用SharedPreference类保存他们. //使用Sh ...
- 【Xamarin挖墙脚系列:时刻下载最新的Mac环境下的Xamarin安装包】
原文:[Xamarin挖墙脚系列:时刻下载最新的Mac环境下的Xamarin安装包] 打开这两个地址,就能看到最新的安装包了.... http://www.jianshu.com/p/c67c14b3 ...
- BBC票选出的100部最经典美国电影,你看过几部?
BBC票选出的100部最经典美国电影,你看过几部? 导读:BBC票选出的100部最经典美国电影,你看过几部? 2015-07-27欧美内参欧美内参欧美内参 微信号zoujinoumei 功能介绍< ...