实习第四天了,第一天熟悉了一下java,这三天学习了解了一下安卓开发的一些基础知识。做了一个小程序—计算器,以此帖来记录一下。也许也有人可以参考一下)功能真的只有最基本哈哈,最最新手的人可以参考hh
首先是activity_main.xml的布局代码

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/GridLayout1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:columnCount="4"android:orientation="horizontal"android:rowCount="6" ><TextViewandroid:layout_width="1200dp"android:layout_height="110dp"android:layout_columnSpan="4"android:layout_centerHorizontal="true"android:layout_centerVertical="true"android:layout_gravity="fill"android:layout_marginLeft="5dp"android:layout_marginRight="5dp"android:id="@+id/textview_1"android:text=""android:background="@drawable/rectborder"android:textSize="80sp" /><Buttonandroid:layout_width="600dp"android:layout_height="90dp"android:layout_columnSpan="2"android:layout_gravity="fill"android:textSize="60sp"android:layout_marginLeft="5dp"android:id="@+id/back_btn"android:text="回退" /><Buttonandroid:layout_width="600dp"android:layout_columnSpan="2"android:textSize="60sp"android:layout_marginRight="5dp"android:layout_gravity="fill"android:id="@+id/delete_btn"android:text="清空" /><Buttonandroid:layout_width="320dp"android:layout_height="90dp"android:textSize="60sp"android:layout_marginLeft="5dp"android:id="@+id/plus_btn"android:text="+" /><Buttonandroid:layout_width="320dp"android:layout_height="90dp"android:textSize="60sp"android:id="@+id/num1_btn"android:text="1" /><Buttonandroid:layout_width="320dp"android:layout_height="90dp"android:textSize="60sp"android:id="@+id/num2_btn"android:text="2" /><Buttonandroid:layout_width="320dp"android:layout_height="90dp"android:layout_marginRight="5dp"android:textSize="60sp"android:id="@+id/num3_btn"android:text="3" /><Buttonandroid:layout_width="320dp"android:textSize="60sp"android:layout_height="90dp"android:layout_marginLeft="5dp"android:text="-"android:id="@+id/minus_btn"/><Buttonandroid:layout_width="320dp"android:layout_height="90dp"android:textSize="60sp"android:text="4"android:id="@+id/num4_btn"/><Buttonandroid:layout_width="320dp"android:layout_height="90dp"android:textSize="60sp"android:id="@+id/num5_btn"android:text="5" /><Buttonandroid:layout_width="320dp"android:textSize="60sp"android:layout_height="90dp"android:layout_marginRight="5dp"android:text="6"android:id="@+id/num6_btn"/><Buttonandroid:layout_width="320dp"android:layout_height="90dp"android:textSize="60sp"android:layout_marginLeft="5dp"android:id="@+id/mult_btn"android:text="*" /><Buttonandroid:layout_width="320dp"android:textSize="60sp"android:layout_height="90dp"android:id="@+id/num7_btn"android:text="7" /><Buttonandroid:layout_width="320dp"android:layout_height="90dp"android:textSize="60sp"android:id="@+id/num8_btn"android:text="8" /><Buttonandroid:layout_width="320dp"android:layout_height="90dp"android:textSize="60sp"android:layout_marginRight="5dp"android:id="@+id/num9_btn"android:text="9" /><Buttonandroid:layout_width="320dp"android:layout_height="90dp"android:textSize="60sp"android:layout_marginLeft="5dp"android:id="@+id/divide_btn"android:text="/" /><Buttonandroid:layout_width="320dp"android:layout_height="90dp"android:textSize="60sp"android:id="@+id/dot_btn"android:text="." /><Buttonandroid:layout_width="320dp"android:layout_height="90dp"android:textSize="60sp"android:id="@+id/num0_btn"android:text="0" /><Buttonandroid:layout_width="320dp"android:layout_height="90dp"android:textSize="60sp"android:id="@+id/result_btn"android:text="=" /></GridLayout>

这是布局的效果,渐变文本框的效果还需要加一个drawable布局资源

需要用到drawable里的rectborder.xml如下:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" ><!-- 设置一个黑色边框 -->
<!--    <stroke android:width="2px" android:color="#000000"/>--><!-- 渐变 --><gradientandroid:angle="270"android:endColor="#545454"android:startColor="#C0C0C0" /><!-- 设置一下边距,让空间大一点 --><paddingandroid:left="5dp"android:top="5dp"android:right="5dp"android:bottom="5dp"/></shape>

接下来是MainActivity.java文件

package com.example.test_0;import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;public class MainActivity extends AppCompatActivity {private Button num0_btn;private Button num1_btn;private Button num2_btn;private Button num3_btn;private Button num4_btn;private Button num5_btn;private Button num6_btn;private Button num7_btn;private Button num8_btn;private Button num9_btn;private Button mult_btn;private Button divide_btn;private Button dot_btn;private Button result_btn;private Button back_btn;private Button delete_btn;private Button plus_btn;private Button minus_btn;private TextView textview_1;private double NO1=0;private int flag=0;private int flag_1=0;private double NO2=0;private double end=0;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);num0_btn = (Button) findViewById(R.id.num0_btn);num1_btn = (Button) findViewById(R.id.num1_btn);num2_btn = (Button) findViewById(R.id.num2_btn);num3_btn = (Button) findViewById(R.id.num3_btn);num4_btn = (Button) findViewById(R.id.num4_btn);num5_btn = (Button) findViewById(R.id.num5_btn);num6_btn = (Button) findViewById(R.id.num6_btn);num7_btn = (Button) findViewById(R.id.num7_btn);num8_btn = (Button) findViewById(R.id.num8_btn);num9_btn = (Button) findViewById(R.id.num9_btn);divide_btn = (Button) findViewById(R.id.divide_btn);mult_btn = (Button) findViewById(R.id.mult_btn);dot_btn = (Button) findViewById(R.id.dot_btn);result_btn = (Button) findViewById(R.id.result_btn);delete_btn = (Button) findViewById(R.id.delete_btn);back_btn = (Button) findViewById(R.id.back_btn);plus_btn = (Button) findViewById(R.id.plus_btn);minus_btn = (Button) findViewById(R.id.minus_btn);textview_1 = (TextView) findViewById(R.id.textview_1);num0_btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {if (flag_1!=0){textview_1.setText("");flag_1=0;}textview_1.append("0");if (flag==0) {NO1 = 10 * NO1 + 0;}else {NO2 =10* NO2+0;}}});num1_btn.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View view) {if (flag_1!=0){textview_1.setText("");flag_1=0;}textview_1.append("1");if (flag==0) {NO1 = 10 * NO1 + 1;}else {NO2 =10* NO2+1;}}});num2_btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {if (flag_1!=0){textview_1.setText("");flag_1=0;}textview_1.append("2");if (flag==0) {NO1 = 10 * NO1 + 2;}else {NO2 =10* NO2+2;}}});num3_btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {if (flag_1!=0){textview_1.setText("");flag_1=0;}textview_1.append("3");if (flag==0) {NO1 = 10 * NO1 + 3;}else {NO2 =10* NO2+3;}}});num4_btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {if (flag_1!=0){textview_1.setText("");flag_1=0;}textview_1.append("4");if (flag==0) {NO1 = 10 * NO1 + 4;}else {NO2 =10* NO2+4;}}});num5_btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {if (flag_1!=0){textview_1.setText("");flag_1=0;}textview_1.append("5");if (flag==0) {NO1 = 10 * NO1 + 5;}else {NO2 =10* NO2+5;}}});num6_btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {if (flag_1!=0){textview_1.setText("");flag_1=0;}textview_1.append("6");if (flag==0) {NO1 = 10 * NO1 + 6;}else {NO2 =10* NO2+6;}}});num7_btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {if (flag_1!=0){textview_1.setText("");flag_1=0;}textview_1.append("7");if (flag==0) {NO1 = 10 * NO1 + 7;}else {NO2 =10* NO2+7;}}});num8_btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {if (flag_1!=0){textview_1.setText("");flag_1=0;}textview_1.append("8");if (flag==0) {NO1 = 10 * NO1 + 8;}else {NO2 =10* NO2+8;}}});num9_btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {//                System.out.println(textview_1.getText());if (flag_1!=0){textview_1.setText("");flag_1=0;}textview_1.append("9");if (flag==0) {NO1 = 10 * NO1 + 9;}else {NO2 =10* NO2+9;}}});delete_btn.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View view) {if (textview_1.getText()=="0"){textview_1.setText("");}textview_1.setText("");flag=0;}});plus_btn.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View view) {flag=1;flag_1=1;// textview_1.setText("");}});mult_btn.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View view) {flag=3;flag_1=1;//textview_1.setText("");}});divide_btn.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View view) {flag=4;flag_1=1;//textview_1.setText("");}});minus_btn.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View view) {flag=2;flag_1=1;//textview_1.setText("");}});result_btn.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View view) {if (flag==1){   end=NO1+NO2;textview_1.setText((String.valueOf(end)));NO1=0;NO2=0;}else if (flag==3){end=NO1*NO2;textview_1.setText((String.valueOf(end)));NO1=0;NO2=0;}else if (flag==2){end=NO1-NO2;textview_1.setText((String.valueOf(end)));NO1=0;NO2=0;}else if (flag==4){end=NO1/NO2;textview_1.setText((String.valueOf(end)));NO1=0;NO2=0;}}});//        divide_btn.setOnClickListener(this);
//        mult_btn.setOnClickListener(this);
//        dot_btn.setOnClickListener(this);
//        result_btn.setOnClickListener(this);}}

然后这个最最最最基础的计算器就做完啦。 可以进行最简单的加减乘除,每次结果算出来之后得按清除才可以进行下一次计算hh

Android开发实战——计算器相关推荐

  1. Xamarin Android开发实战(上册)

    Xamarin Android开发实战(上册)大学霸内部资料 试读文档下载地址:http://pan.baidu.com/s/1jGEHhhO 密码:vcfm 介绍: 本教程是国内唯一的Xamarin ...

  2. 《Java和Android开发实战详解》——2.5节良好的Java程序代码编写风格

    本节书摘来自异步社区<Java和Android开发实战详解>一书中的第2章,第2.5节良好的Java程序代码编写风格,作者 陈会安,更多章节内容可以访问云栖社区"异步社区&quo ...

  3. 《Java和Android开发实战详解》——1.2节Java基础知识

    本节书摘来自异步社区<Java和Android开发实战详解>一书中的第1章,第1.2节Java基础知识,作者 陈会安,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  4. 《Java和Android开发实战详解》——2.2节构建Java应用程序

    本节书摘来自异步社区<Java和Android开发实战详解>一书中的第2章,第2.2节构建Java应用程序,作者 陈会安,更多章节内容可以访问云栖社区"异步社区"公众号 ...

  5. android垃圾清理动画,[Android开发实战]金山清理大师(猎豹清理大师)一键加速快捷方式动画实现...

    转载请注明出处:http://blog.csdn.net/ruils/article/details/16922557 最近有人问我金山清理大师桌面上的一键加速的动画是如何实现的,我下了个金山清理大师 ...

  6. java中计算器算cos值,Android开发中计算器的sin、cos及tan值计算问题分析

    本文实例讲述了Android开发中计算器的sin.cos及tan值计算问题.分享给大家供大家参考,具体如下: 接到一个需求 :要求计算器sin90=1,拿到知道很疑问 难道不等于一么?测试了四五个手机 ...

  7. [魔乐科技]Android开发实战经典视频教程

    http://down.51cto.com/zt/2757/6/ Android开发实战经典视频教程 http://down.51cto.com/data/407121 03_传智播客Android视 ...

  8. Android开发实战---一个汽车销售APP,有汽车列表页、汽车详情页、贷款计算页3个界面。

    Android开发实战设计并实现一个汽车销售APP,要求至少有汽车列表页.汽车详情页.贷款计算页3个界面. 已开源:https://github.com/yan123666/wlf 实现结果: 1.计 ...

  9. 阅读《名师讲坛--Android开发实战经典》

    一,专心,快速阅读一本书,直到深入理解,把书读厚,再读薄,你定会有收获. 二,20171214开始阅读<名师讲坛--Android开发实战经典>,但愿自己有所收获.从今天开始养成刻录学习写 ...

  10. android动画sin cos,Android开发中计算器的sin、cos及tan值计算问题分析

    本文实例讲述了Android开发中计算器的sin.cos及tan值计算问题.分享给大家供大家参考,具体如下: 接到一个需求 :要求计算器sin90=1,拿到知道很疑问 难道不等于一么?测试了四五个手机 ...

最新文章

  1. 千万级并发!如何设计一个多级缓存系统?
  2. minicom的按键控制_minicom使用指南
  3. 百练OJ:2972: 确定进制
  4. mac定时执行python_Python脚本实现在Mac上DIY定时提醒功能
  5. ROS机器人导航仿真(kinetic版本)
  6. java中gradlew 命令_gradle命令学习
  7. 有偿数据收集 | 哈工大手写作文图片收集
  8. mysql 1031错误_为什么我的mysql语句一直报错,找不到错误,望各位大佬指点一番...
  9. 排序算法 -- 待增加
  10. centos 安装gcc
  11. 便携式CAN分析仪与毫米波雷达搭配使用
  12. 微信小程序图片无法显示时显示默认图片
  13. 微信小程序发布上线全流程(注册/开发/上传审核)
  14. 计算机学报在线阅读,计算机研究与发展计算机学报软件学报电子学报西安交通大学学报.doc...
  15. iOS数据持久化设计
  16. 现代黑科技版“指鹿为马:使用CycleGAN实现男女“无痛变性”
  17. KEIL识别不出野火STM32仿真器问题解决
  18. 什么是市盈率(PE)?
  19. kmeans python interation flag_Bisecting k-means聚类算法实现
  20. java小组队徽_小组队徽设计.ppt

热门文章

  1. 关于消息队列的一些问题
  2. 01_kubernetes初始化系统和全局变量
  3. 委托的Invoke与BeginInvoke
  4. 向Windows 日志管理器写入系统程序日志信息
  5. python调用darknet
  6. 封装kmalloc/malloc的一些小函数
  7. MFC (opencv配置) 应用程序无法正常启动(0xc000007b)请单击“确定关闭应用程序 的解决方法
  8. C++程序设计必知:多文件结构和编译预处理命令
  9. 编译警告级别之重要性
  10. 【python博客爬虫】