Android Studio非UI线程修改控件——定时器软件

news2024/11/20 10:42:28

目录

一、UI界面设计

1、UI样式

2、XML代码

二、功能编写

1、定义

2、实现方法

3、功能实现


一、UI界面设计

1、UI样式

2、XML代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    android:background="#59b1ef"
    tools:context=".MainActivity4">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/btn_client_send"
        android:text="发送"
        android:textSize="25sp"
        android:layout_marginTop="20dp"
        android:layout_centerHorizontal="true"
        android:onClick="btn_client_send_clicked" />

    <TextView
        android:id="@+id/text_view"
        android:layout_width="match_parent"
        android:textSize="30sp"
        android:layout_height="300dp"
        android:layout_below="@id/btn_client_send"
        android:layout_marginTop="20dp"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:background="#ffffff" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/btn_start"
        android:text="开始"
        android:layout_below="@+id/text_view"
        android:textSize="25sp"
        android:layout_marginTop="20dp"
        android:layout_centerHorizontal="true"
        android:onClick="btn_start_clicked" />

    <TextView
        android:id="@+id/text_view2"
        android:layout_width="match_parent"
        android:textSize="30sp"
        android:text="0"
        android:layout_height="100dp"
        android:layout_below="@id/btn_start"
        android:layout_marginTop="20dp"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:background="#ffffff" />


</RelativeLayout>

二、功能编写

1、定义

public TextView textView1,textView2;

public Handler h;
public Handler h2;

2、实现方法

public void btn_start_clicked(View v){
        new Thread(new Runnable() {
            @Override
            public void run() {
                for(int i = 0;i < 101;i++){
                    Message msg = new Message();
                    msg.what = i;
                    h.sendMessage(msg);
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        throw new RuntimeException(e);
                    }
                }
            }
        }).start();
    }

3、功能实现

textView1 = findViewById(R.id.text_view);
        textView1.setText("数据接收框");
        textView2 = findViewById(R.id.text_view2);
        textView2.setText("0");

        h = new Handler(){//UI主线程的家里的电话,处理一些其他进程无法处理的事件。
            @Override
            public void handleMessage(Message msg) {//区分事件的类型
                super.handleMessage(msg);
                textView2.setText(msg.what+"s");
            }
        };

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1427938.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Methodot低代码实战教程(一)——熟悉可视化Echart组件

一、产品介绍&#xff1a; Methodot是行云创新旗下一款面向研发使用的一站式云原生开发及应用托管平台&#xff0c;产品内有大量开箱即用的服务和开发工具&#xff0c;例如&#xff1a; 支持开发团队进行微服务架构设计&#xff08;例如一个袜子商店管理系统&#xff09;&…

【开源】SpringBoot框架开发农村物流配送系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统登录、注册界面2.2 系统功能2.2.1 快递信息管理&#xff1a;2.2.2 位置信息管理&#xff1a;2.2.3 配送人员分配&#xff1a;2.2.4 路线规划&#xff1a;2.2.5 个人中心&#xff1a;2.2.6 退换快递处理&#xff1a;…

高频高动态范围信号采集的理想选择

在无线通讯、雷达/声纳、图形成像等领域&#xff0c;高频和高动态范围的信号采集是关键。PCIe8532B/8531B&#xff0c;作为一款专为这类应用而设计的4通道12/14位20MS/s采样数字化仪&#xff0c;无疑成为了工程师们的理想选择。 卓越的性能参数 这款数字化仪具备4通道单端模拟…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之TimePicker组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之TimePicker组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 编辑 二、TimePicker组件 TextClock组件通过文本将当前系统时间显示在设备上。…

基于SpringBoot Vue学生成绩管理系统

大家好✌&#xff01;我是Dwzun。很高兴你能来阅读我&#xff0c;我会陆续更新Java后端、前端、数据库、项目案例等相关知识点总结&#xff0c;还为大家分享优质的实战项目&#xff0c;本人在Java项目开发领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#x…

日志记录——单片机可执行文件合并

一&#xff1a;需求场景 现在有一片单片机&#xff0c;执行程序包括自定义boot和应用程序app, 在将打包好的固件给到生产是有以下问题&#xff0c;由于要通过jlink烧录boot&#xff0c;然后上电启动boot&#xff0c;通过boot烧录初始化程序&#xff0c;过程过于复杂&#xff0…

IT业务的卓越服务

要想实现卓越服务&#xff0c;就必须对当前的服务成熟度进行全面分析。然而&#xff0c;这种评估可能会令人望而生畏&#xff0c;尤其是在现有评估框架不明确的情况下。这些方法要么考虑实践的成熟度&#xff0c;要么考虑技术的成熟度&#xff0c;为团队提供了狭隘的视野。 为…

移动机器人激光SLAM导航(三):Hector SLAM 篇

参考引用 Hector_Mapping ROS-Wiki从零开始搭二维激光SLAM机器人工匠阿杰wpr_simulation 移动机器人激光SLAM导航&#xff08;文章链接汇总&#xff09; 1. 基于滤波器的 SLAM 问题 1.1 什么是 SLAM 什么是SLAM SLAM 就是为了构建地图用的&#xff0c;这个地图可以保存下来&…

【python接口自动化】- DDT数据驱动测试

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

第一讲:入门python

第一讲&#xff1a;入门python1.安装Python1.下载2.安装3.运行4.代码 2.安装VS code 第一讲&#xff1a;入门python 本讲任务&#xff1a; 安装python安装VS code Python初学者通常首次面临的主要问题是需要在计算机上安装Python和一个适用的代码编辑器&#xff08;比如VSco…

龙芯--自主架构先驱者

&#x1f6d1; 这是ren_dong的第23篇原创 1、概述 自主可控最高的 MIPS 架构 CPU 龙芯是我国最早研制的高性能通用处理器系列&#xff0c;拥有 MIPS 指令的永久授权&#xff0c;并拓展出了自己的指令集loong ISA。龙芯采用自主 Loong ISA 指令系统&#xff0c;兼容 MIPS 指令&a…

OpenCV学习记录——形态学处理

文章目录 前言一、腐蚀和膨胀二、高级形态学运算三、具体应用代码 前言 形态学是图像处理中最常用的技术之一&#xff0c;它主要用于从图像中提取有意义的形状信息&#xff0c;例如边界和连通区域&#xff0c;以便后续的识别工作能够捕捉到目标对象最重要的形状特征。此外&…

为什么飞凌嵌入式的FET527N-C核心板更值得期待?

在高度数字化的智能时代&#xff0c;嵌入式系统在各个领域都发挥着重要作用&#xff0c;因此在项目的选型与开发中选择与需求更为匹配的核心板主控至关重要。飞凌嵌入式最新发布的FET527N-C核心板是一款值得特别关注的产品&#xff0c;具有许多令人瞩目的优势。下面小编将从四个…

arcgis自定义dem高程实现地形抬高 - 操作矢量,转tin、adf(tif),cesiumlab切高程服务

这次记录分享一下arcgis自定义高程全过程 /(ㄒoㄒ)/~~ 我的场景&#xff1a;前端实现地面抬高效果 自定义高程实现地形抬高 一、数据处理 - arcgis操作矢量1、准备工作&#xff08;可选&#xff09;2、绘制外围矢量&#xff08;可选&#xff09;3、操作矢量数据 二、创建tin - …

第8章 磁盘管理

第8章 磁盘管理 8.1 标准磁盘管理 8.1.1 两种分区格式 MBR&#xff08;Master Boot Record&#xff0c;主引导分区&#xff09;&#xff0c;支持 4 个主分区或者 3 个主分区 1 个扩展分区&#xff0c;分区的空间最大支持 2.2 TB。 GPT&#xff08;GUID Partition Table&…

IS-ISv6配置

正文共&#xff1a;1024 字 12 图&#xff0c;预估阅读时间&#xff1a;1 分钟 上篇文章中&#xff08;OSPFv6配置&#xff09;&#xff0c;我们介绍了OSPFv3的基本配置方式&#xff0c;文中提到&#xff0c;OSPFv3是基于链路运行的&#xff0c;和IS-IS协议比较像。那既然和IS-…

中二少年工具箱(PC端)简介

同学们可以私信我加入学习群&#xff01; 正文开始 简介一、功能模块1.node版本管理工具 总结 简介 中二少年开发的中二少年工具箱&#xff0c;相信博主&#xff0c;功能不孬。 辅助自己开发工作&#xff0c;帮助新人快速入门&#xff0c;提供交互式文档辅助学习……如果还不…

⑩电子产品拆解分析-家用无线遥控开关433Mhz

⑩电子产品拆解分析-家用无线遥控开关433Mhz 一、功能介绍二、电路分析以及器件作用1、433发射控制端2、433接收应答端三、Get到的点一、功能介绍 ①免布线随意贴,装上就能使用解决单线开关烦恼;②遥控配对简单,无线通讯距离长,信号可穿墙;二、电路分析以及器件作用 1、43…

Spring Bean 定义常见错误

Spring 的核心是围绕 Bean 进行的。不管是 Spring Boot 还是 Spring Cloud&#xff0c;只要名称中带有 Spring 关键字的技术都脱离不了 Bean&#xff0c;而要使用一个 Bean 少不了要先定义出来&#xff0c;所以定义一个 Bean 就变得格外重要了。 当然&#xff0c;对于这么重要…

Node.js 目录穿越漏洞(CVE-2017-14849)

文章目录 Node.js 目录穿越漏洞&#xff08;CVE-2017-14849&#xff09;1. 漏洞原理2. 漏洞复现3. 漏洞验证4. 漏洞分析 Node.js 目录穿越漏洞&#xff08;CVE-2017-14849&#xff09; 1. 漏洞原理 原因是 Node.js 8.5.0 对目录进行normalize操作时出现了逻辑错误&#xff0c…