前言:代码都调试了,基本上没有问题,如果大家发现bug希望在下方留言,一起学习学习,这项目是上课教的,但是代码我看了一下感觉不是很简便,所以改进了一下,主要是上课那个软件一个按钮一个事件,觉得有点麻烦,然后软件的图标,给大家介绍一个网址,下载地址阿里巴巴矢量图标;

一:运行效果



二:布局代码

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><androidx.constraintlayout.widget.Guidelineandroid:id="@+id/guideline"android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="horizontal"app:layout_constraintGuide_percent="0.02" /><androidx.constraintlayout.widget.Guidelineandroid:id="@+id/guideline2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="vertical"app:layout_constraintGuide_percent="0.5" /><androidx.constraintlayout.widget.Guidelineandroid:id="@+id/guideline3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="horizontal"app:layout_constraintGuide_percent="0.16" /><TextViewandroid:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="8dp"android:text="A队"android:textColor="#F44336"android:textSize="40sp"android:textStyle="bold"app:layout_constraintEnd_toStartOf="@+id/textView2"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="@+id/guideline" /><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="8dp"android:text="B队"android:textColor="#4D00FE"android:textSize="40sp"app:layout_constraintBottom_toBottomOf="@+id/textView"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toEndOf="@+id/textView"app:layout_constraintTop_toTopOf="@+id/textView" /><androidx.constraintlayout.widget.Guidelineandroid:id="@+id/guideline4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="horizontal"app:layout_constraintGuide_percent="0.31053352" /><TextViewandroid:id="@+id/score_a"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="8dp"android:text="0"android:textColor="#F44336"android:textSize="80sp"android:textStyle="bold"app:layout_constraintEnd_toStartOf="@+id/score_b"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="@+id/guideline3" /><TextViewandroid:id="@+id/score_b"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="8dp"android:text="0"android:textColor="#4D00FE"android:textSize="80sp"android:textStyle="bold"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toEndOf="@+id/score_a"app:layout_constraintTop_toTopOf="@+id/guideline3" /><Buttonandroid:id="@+id/btna_1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="#F44336"android:text="+1"android:textColor="#201F1F"app:layout_constraintBottom_toTopOf="@+id/btna_2"app:layout_constraintEnd_toStartOf="@+id/btnb_1"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/score_a" /><Buttonandroid:id="@+id/btna_2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="#F44336"android:text="+2"app:layout_constraintBottom_toTopOf="@+id/btna_3"app:layout_constraintEnd_toStartOf="@+id/btnb_2"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/btna_1" /><Buttonandroid:id="@+id/btna_3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginBottom="8dp"android:background="#F44336"android:text="+3"app:layout_constraintBottom_toTopOf="@+id/img_cancel"app:layout_constraintEnd_toStartOf="@+id/btnb_3"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/btna_2" /><androidx.constraintlayout.widget.Guidelineandroid:id="@+id/guideline5"android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="horizontal"app:layout_constraintGuide_percent="0.8" /><Buttonandroid:id="@+id/btnb_1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="#4D00FE"android:text="+1"app:layout_constraintBottom_toTopOf="@+id/btnb_2"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toEndOf="@+id/btna_1"app:layout_constraintTop_toBottomOf="@+id/score_b" /><Buttonandroid:id="@+id/btnb_2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="#4D00FE"android:text="+2"app:layout_constraintBottom_toTopOf="@+id/btnb_3"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toEndOf="@+id/btna_2"app:layout_constraintTop_toBottomOf="@+id/btnb_1" /><Buttonandroid:id="@+id/btnb_3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginBottom="8dp"android:background="#4D00FE"android:text="+3"app:layout_constraintBottom_toTopOf="@+id/img_reset"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toEndOf="@+id/btna_3"app:layout_constraintTop_toBottomOf="@+id/btnb_2" /><ImageViewandroid:id="@+id/img_cancel"android:layout_width="134dp"android:layout_height="76dp"android:layout_marginTop="8dp"android:src="@drawable/back"app:layout_constraintEnd_toStartOf="@+id/img_reset"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="@+id/guideline5" /><ImageViewandroid:id="@+id/img_reset"android:layout_width="134dp"android:layout_height="76dp"android:layout_marginTop="8dp"android:src="@drawable/rsset"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toEndOf="@+id/img_cancel"app:layout_constraintTop_toTopOf="@+id/guideline5" />
</androidx.constraintlayout.widget.ConstraintLayout>

三:后端代码

package cn.cg.basketballscorer;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity implements View.OnClickListener {//定义数组存放加分private  final  int scoreArray[]={1,2,3};private  int lastScore_a,lastScore_b,score_a,score_b;private Button btna_1,btna_2,btna_3,btnb_1,btnb_2,btnb_3;private ImageView img_cancel,img_rest;private TextView test_score_a,test_score_b;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);inintView();}private void inintView() {//获取按钮idbtna_1=findViewById(R.id.btna_1);btna_2=findViewById(R.id.btna_2);btna_3=findViewById(R.id.btna_3);btnb_1=findViewById(R.id.btnb_1);btnb_2=findViewById(R.id.btnb_2);btnb_3=findViewById(R.id.btnb_3);//得分情况和清零img_cancel=findViewById(R.id.img_cancel);img_rest=findViewById(R.id.img_reset);test_score_a=findViewById(R.id.score_a);test_score_b=findViewById(R.id.score_b);//按钮实现监听btna_1.setOnClickListener(this);btna_2.setOnClickListener(this);btna_3.setOnClickListener(this);btnb_1.setOnClickListener(this);btnb_2.setOnClickListener(this);btnb_3.setOnClickListener(this);img_rest.setOnClickListener(this);img_cancel.setOnClickListener(this);}//点击事件@Overridepublic void onClick(View v) {switch (v.getId()){case R.id.btna_1:scoreAdd(0,scoreArray[0]);break;case R.id.btna_2:scoreAdd(0,scoreArray[1]);break;case R.id.btna_3:scoreAdd(0,scoreArray[2]);break;case  R.id.btnb_1:scoreAdd(1,scoreArray[0]);break;case  R.id.btnb_2:scoreAdd(1,scoreArray[1]);break;case  R.id.btnb_3:scoreAdd(1,scoreArray[2]);break;case  R.id.img_reset:reset();break;case  R.id.img_cancel:cancel();break;default:break;}}//取消上次加分操作private void cancel() {if (score_a!=0&&score_a-lastScore_a>=0){score_a-=lastScore_a;}if (score_b!=0&&score_b-lastScore_b>=0){score_b-=lastScore_b;}ShowText();}//重置功能,弹出提示框private void reset() {//弹出提示框,提示用户你是否要重置AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);builder.setTitle("提示").setIcon(R.drawable.pointout).setMessage("你确定要重置分数吗?").setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {score_a=0;score_b=0;ShowText();dialog.dismiss();;}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();}});AlertDialog  dialog=builder.create();dialog.show();}//退出软件,弹出提示框@Overridepublic void onBackPressed() {AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);builder.setTitle("提示").setIcon(R.drawable.warn).setMessage("你确定要退出?").setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {MainActivity.this.finish();}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();}});AlertDialog  dialog=builder.create();dialog.show();}//进行加分private   void  scoreAdd(int Tage,int score){//Tage:   0:a  1:bif (Tage==0||Tage==1){if (Tage==0){//表示a进行加分lastScore_b=0;lastScore_a=score;score_a+=lastScore_a;}else if (Tage==1){//表示对b进行加分lastScore_a=0;lastScore_b=score;score_b+=lastScore_b;}ShowText();}}//进行显示private  void ShowText(){test_score_a.setText(Integer.toString(score_a));test_score_b.setText(Integer.toString(score_b));}
}

四:项目中使用的图片

Android篮球计分器App相关推荐

  1. Android如何更新app的版本(中级)

    Android如何更新app的版本(中级) 版本更新 看看我们要用到哪些技术1 自定义通知栏 2 HTTP 下载 3 AsyncTask 4 刷新通知栏中的进度条 5 执行 apk安装的隐士意图 6 ...

  2. 【Android】 01. APP 进程启动和 ActivityThread 的关系

    2019独角兽企业重金招聘Python工程师标准>>> 首先我们应该知道2个概念: 我们应该知道在Android中一个app就是一个进程: 我们在普通的Java程序中一个程序的入口是 ...

  3. Android Jetpack组件App Startup简析

    1.前言 最近简单看了下google推出的框架Jetpack,感觉此框架的内容可以对平时的开发有很大的帮助,也可以解决很多开发中的问题,对代码的逻辑和UI界面实现深层解耦,打造数据驱动型UI界面. A ...

  4. Program type already present: android.support.v4.app.BackStackRecord$Op

    Program type already present: android.support.v4.app.BackStackRecord$Op 原文:https://blog.csdn.net/zww ...

  5. android app系统的测试_计算机毕设项目003之基于Android系统的App点餐外送系统

    计算机毕设项目之基于Android系统的App点餐外送系统 一. 项目名称 基于Android系统的App点餐外送系统 二. 项目简介 本项目是基于Android系统的手机点餐系统,整个项目分为App ...

  6. 错误: 找不到android.support.v7.app.AppCompatActivity的类文件

    今天拉取了最新的代码,突然Android Studio 编译报错 错误:无法访问AppCompatActivity找不到android.support.v7.app.AppCompatActivity ...

  7. IT项目之旅(二)篮球计分器(分析、设计、实现)

    一.     总体设计 篮球计分器的实现主要包括客户端和服务器两部分,按照客户/服务器的模式进行工作,提供交互式的访问,在INTERNET使用广泛.通信协议主要采用TCP协议.主要实现了篮球计分器的几 ...

  8. 【Android Studio安装部署系列】十八、Android studio更换APP应用图标

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Android Studio新建项目后会有一个默认图标,那么如何更换图标呢? 替换图标 这个方案不建议直接在已有项目上更换图标,建议 ...

  9. Android 如何在App中启动系统闹钟

    由于不同Android手机厂商提供的系统闹钟包名都不一致,所以只能通过过滤当前手机所有的应用,以确定闹钟应用的包名,进而启动它. 这里采用的过滤规则是:系统应用 && 应用的Packa ...

  10. Eclipse新建Android项目后,出现“The import android.support.v7.app cannot be resolved”

    1>在Eclipse中新建Android项目后,出现"The import android.support.v7.app cannot be resolved" 如下图所示: ...

最新文章

  1. Method Swizzling的各种姿势
  2. jquery中not方法失效的解决方案
  3. vue-jwt 实战
  4. SAP销售发票同步产生会计凭证的两种做法
  5. 再一次证明了普通的U盘和SD(TF)卡的不可靠
  6. 【ArcGIS风暴】ArcGIS自定义坐标系统案例教程---以阿尔伯斯投影(Albers)为例
  7. linux 压缩成bz2,linux 将文件压缩成bz2格式 命令:bzip2
  8. HTML5跑酷网页游戏源码
  9. linux shell学习笔记(二) 变量和运算符
  10. Flink Java 使用map reduce实现wordcount
  11. 鸿蒙系统是噱头和谈判策略?华为梁华:是针对IoT的操作系统
  12. python科学坐标系绘制分析_python数据可视化案例——平行坐标系(使用pyecharts或pandas)...
  13. linux mysql 客户端 服务端_MySQL客户端和服务器端工具集
  14. ios游戏开发 Sprite Kit教程:初学者 3
  15. 【数理称谓】数术记遗
  16. 硬盘安装Fedora 12
  17. 飞利浦、TCL、海信、REASONANCE、七彩虹、Amazfit在CES展示最新新品 | 美通企业日报...
  18. Jmeter常用断言之响应断言详解
  19. 微信开发:NAT穿透
  20. 【DP】AGC012 E Camel and Oases

热门文章

  1. 这款机器人也想体验双十一!
  2. 满月啦,Linux公众号!
  3. java redis高并发demo_java使用redis模拟高并发秒杀活动
  4. 【优化算法】人工蜂鸟算法(AHA)【含Matlab源码 1543期】
  5. 【优化算法】白头鹰搜索优化算法(BES)【含Matlab源码 1381期】
  6. 【多目标优化求解】基于matlab粒子群算法求解配电网抢修优化问题【含Matlab源码 777期】
  7. 【交通流预测】基于matlab BP神经网络短时交通流预测【含Matlab源码 687期】
  8. mysqld restart service 卡_MySQL数据库之mysqld服务启动失败, Failed to restart mysqld.service: Unit not found....
  9. 颜色 透明度 算法_通过问责制和透明度减少算法偏差
  10. 【C++】一次遇到的需要加入const属性的情况