Android开发学习笔记--一个有界面A+B的计算器

做了一个A+B的APP,虽然很简单,但是作为初学者还是弄了几个小时才弄好,什么东西都要看书或者百度,但最后成功了,还是很开心的,收货蛮大的。现在把过程写一下:

首先给出效果图:

一开始布局一直有问题,不知道为什么我定义了两个编辑框跟一个按钮,但画出来的时候全都重叠在左上角了,只能输入到一个编辑框,一直卡在这里,后来找了一个输入用户名密码的布局文件参考了一下,发现把原来生成的前面那些删掉,然后设置为垂直布局就不会重叠在一起了,正常画出来之后,代码部分就简单了,一共有三个变量,我把第三个显示结果的框设置成了只读的属性,设置的方法是:android:editable="false"

activity_main.xml如下:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:orientation="vertical"
 4     android:layout_width="fill_parent"
 5     android:layout_height="fill_parent"
 6     >
 7 <TextView
 8     android:layout_width="fill_parent"
 9     android:layout_height="wrap_content"
10     android:text="请输入第一个数:"
11     />
12 <EditText
13     android:id="@+id/num1"
14     android:textColorHint="#ff2323"
15     android:layout_width="fill_parent"
16     android:layout_height="wrap_content"
17     android:hint="num"
18     />
19 <TextView
20     android:layout_width="fill_parent"
21     android:layout_height="wrap_content"
22     android:text="请输入第二个数:"
23     />
24 <EditText
25     android:id="@+id/num2"
26     android:layout_width="fill_parent"
27     android:layout_height="wrap_content"
28     android:hint="num"
29     />
30     <TextView
31         android:layout_width="fill_parent"
32         android:layout_height="wrap_content"
33         android:text="结果:"
34         />
35     <EditText
36         android:id="@+id/num3"
37         android:layout_width="fill_parent"
38         android:layout_height="wrap_content"
39         android:editable="false"
40         android:hint="结果"
41         />
42
43 <Button android:id="@+id/button1"
44     android:onClick="button_click"
45     android:layout_width="fill_parent"
46     android:layout_height="wrap_content"
47     android:text="@string/hello_world"
48     />
49
50 </LinearLayout>

MainActivity.java如下:

 1 package com.example.hehe;
 2
 3 import android.os.Bundle;
 4 import android.app.Activity;
 5 import android.view.Menu;
 6
 7 import android.view.View;
 8
 9 import android.widget.Button;
10 import android.widget.EditText;
11
12 import android.widget.Toast;
13 import android.app.Activity;
14 import android.graphics.Color;
15 import android.os.Bundle;
16 import android.provider.CalendarContract.Colors;
17 import android.view.KeyEvent;
18 import android.view.View;
19 import android.view.View.OnKeyListener;
20 import android.widget.EditText;
21 import android.widget.TextView;
22
23 public class MainActivity extends Activity {
24     @Override
25     protected void onCreate(Bundle savedInstanceState) {
26         super.onCreate(savedInstanceState);
27         setContentView(R.layout.activity_main);
28     }
29
30
31     @Override
32     public boolean onCreateOptionsMenu(Menu menu) {
33         // Inflate the menu; this adds items to the action bar if it is present.
34         getMenuInflater().inflate(R.menu.main, menu);
35         return true;
36     }
37     public void button_click(View v)
38     {
39     //    Button button1 = (Button) findViewById(R.id.button1);
40         Button button1 = (Button)v;
41
42         EditText num1 = (EditText) findViewById(R.id.num1);
43         EditText num2 = (EditText) findViewById(R.id.num2);
44         EditText num3 = (EditText) findViewById(R.id.num3);
45         int a = Integer.parseInt(num1.getText().toString());
46         int b = Integer.parseInt(num2.getText().toString());
47         int c = a + b;
48         String te = ""+a+"+"+b+"="+c;
49         num3.setText(te);
50         num3.setTextColor(Color.GREEN);
51     }
52 }

时间: 2024-12-06 17:24:14

Android开发学习笔记--一个有界面A+B的计算器的相关文章

【Android开发学习笔记】【第三课】Activity和Intent

首先来看一个Activity当中启动另一个Activity,直接上代码说吧: (1)首先要多个Activity,那么首先在res-layout下新建一个 Other.xml,用来充当第二个Activity的布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu

android 开发学习笔记 (一)

每个app 都有一个自己的 linux 进程: 每个进程都在自己的虚拟机里执行 两个app 可以跑在一个进程,一个vm里 android app 四大组件:activity,content provider,      services, broardcast receivers Content Resolver 激活 Content Provider You can start an      activity (or give it something new to do) by passi

android开发学习笔记001a

Android 应用与开发环境 1.使用SDK版本:Android 2.3 . 2.发展和历史 创始人:Andy Rubin,Android公司被Google收购.07年11月5日1.0发布. 3.平台架构及特性 Linux内核(操作系统)->函数库,Android运行时(中间件)->应用程序框架->应用程序 我要学习的就是如何在android 操作系统里开发应用程序. 我们只和应用程序框架(Android API)打交道.也就是我们的SDK. 函数库是C/C++的库. Android

Android开发学习笔记:数据存取之SQLite浅析

一.SQLite的介绍 1.SQLite简介 SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入 式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了.它能够支持 Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl.PHP.Java.C++..Net等,还有ODBC接口,同样比起 Mysql.PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的

【Android开发学习笔记】【第五课】Activity的生命周期-上

今天学习Activity当中的七个生命周期函数: 首先得说一个事情,就是在代码当中如果加入了 System.out.println(" ------");之后,如何查看这里面的输出内容 打开之后只输入“Filter Name”和“by Log Tag” 即可 添加成功后可以看到 本次学习主要总结如下: 1.onCreate() Acitivity首次创建时被调用.用于设置Acitivity的布局文件,绑定按钮监听器等一些普通静态操作. 2.onStart() Acitivity对用户可

【Android开发学习笔记】【第四课】基础控件的学习

通过一个简单的例子来学习下面几种控件: 1.TextView:简单的文本显示控件 2.EditText:可以编辑的文本框 3.Button:按钮 4.Menu:这里指的是系统的Menu 5.Toast:消息提示控件,类似于MFc的tip(不知道理解的对不对) 顺便用到上一次学习的多个Activity之间传递数据的技术,来做一个小的计算乘法的case 步骤: (1)主Activity 和显示结果的 Activity 都采用线性布局,下面是布局文件的源代码: <LinearLayout xmlns:

转 Android开发学习笔记:浅谈WebView

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://liangruijun.blog.51cto.com/3061169/647456 WebView(网络视图)能加载显示网页,可以将其视为一个浏览器.它使用了WebKit渲染引擎加载显示网页,实现WebView有以下两种不同的方法: 第一种方法的步骤: 1.在要Activity中实例化WebView组件:WebView webView = new WebView(this); 2

android开发学习笔记000

使用书籍:<疯狂android讲义>——李刚著,2011年7月出版 虽然现在已2014,可我挑来跳去,还是以这本书开始我的android之旅吧. “疯狂源自梦想,技术成就辉煌.” 让我这个一直梦想走技术流的再疯狂一次.2014.08.06. 直奔主题——>android开发学习笔记001 android开发学习笔记000

Android开发学习笔记之四大组件---Activity的介绍,创建以及生命周期

最近重新温习关于android开发的基础知识,还是分享到博客里,一方面分享给有需要的同学,一方面方便自己后期查看 一.什么是Activity 通俗来讲,一屏的界面就是一个Activity,套用比较教科的话,在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应.Activity之间通过Intent进行通信,Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View