发布时间:2026/9/2 7:54:15
移动软件开发_实验1:热身运动 本实验属于哪门课程中国海洋大学26夏《移动软件开发》实验名称实验1热身运动代码仓库地址https://github.com/shen5920/Mobile-Software-Development/tree/main目录一、实验内容1.1 实验目的1.2 开发环境准备——下载与安装微信开发者工具1.2.1 下载微信开发者工具1.2.2 安装微信开发者工具1.3 创建属于自己的第一个小程序1.3.1 在桌面创建一个空白文件夹1.3.2 新建并配置小程序项目1.3.3 小程序项目目录结构1.4 实现 Hello World 小程序1.4.1 app.json —— 全局配置1.4.2 index.wxml —— 页面结构1.4.3 index.wxss —— 页面样式1.4.4 index.js —— 页面逻辑1.4.5 index.json —— 页面配置1.5 运行效果1.6 WXML、WXSS、JS 三种文件的作用总结二、问题总结与体会一、实验内容1.1 实验目的熟悉微信小程序官方开发者工具的下载与安装流程学会创建一个空白的小程序项目了解小程序的目录结构通过实现一个 Hello World 小程序动手编写代码体会 WXML、WXSS、JS 三种文件各自的作用。1.2 开发环境准备——下载与安装微信开发者工具1.2.1 下载微信开发者工具微信小程序需要使用微信官方提供的「微信开发者工具」进行开发。下载地址为微信开放文档打开上述网址后建议下载最新的稳定版本Stable Build然后点击自己电脑对应系统的版本Windows 64 位 / Windows 32 位 / macOS 等下载即可。1.2.2 安装微信开发者工具安装非常方便只需要双击安装包然后不停地点击「下一步」即可完成安装。安装完成以后打开官方开发者工具界面长这样首次打开需要用微信扫码登录1.3 创建属于自己的第一个小程序1.3.1 在桌面创建一个空白文件夹在桌面创建一个空白文件夹名字可以随便取本实验以 lab1文件夹为例。1.3.2 新建并配置小程序项目打开微信开发者工具点击「」号或「新建项目」选择「小程序」类型开始配置小程序项目。注意微信小程序官方最新的开发者工具界面有过多次变化所以不同版本创建项目的界面可能略有不同以下以最新版为例进行说明。在项目配置中选择「不使用模板」即从空白项目开始不套用任何模板。配置好以后点击「新建」即可创建属于自己的第一个小程序。1.3.3 小程序项目目录结构创建完成后本实验项目lab1的目录结构如下lab1/ ├── app.js // 小程序入口逻辑文件 ├── app.json // 小程序全局配置文件 ├── app.wxss // 小程序全局样式文件 ├── project.config.json // 项目工具配置文件 ├── sitemap.json // 页面收录配置SEO ├── images/ // 图片资源目录 │ ├── 1.png │ ├── 2.png │ └── nailong.png ├── components/ // 自定义组件目录 │ └── navigation-bar/ // 自定义导航栏组件默认生成 └── pages/ // 页面目录 └── index/ // index 页面 ├── index.js // 页面逻辑 ├── index.json // 页面配置 ├── index.wxml // 页面结构 └── index.wxss // 页面样式1.4 实现 Hello World 小程序本实验的 Hello World 小程序参考官方视频教程https://developers.weixin.qq.com/community/business/doc/0008ae90008ff80bd48838c5e5600d其核心功能是点击按钮改变页面里的文字。在完成基础功能后本实验对它做了一点扩展点击按钮后不仅改变文字还会切换页面上的图片实现「打开笼子 → 追逐逮捕」的交互效果。下面结合本实验的实际代码分别介绍几个核心文件的作用。1.4.1app.json—— 全局配置{ pages: [ pages/index/index ], window: { navigationBarTextStyle: black }, style: v2, sitemapLocation: sitemap.json, lazyCodeLoading: requiredComponents }解释pages声明小程序所有页面的路径数组第一项就是小程序的首页这里只有一个pages/index/index页面window配置全局窗口样式navigationBarTextStyle设为black表示导航栏文字为黑色style: v2启用新版组件样式sitemapLocation指定页面收录配置文件的位置。1.4.2index.wxml—— 页面结构!--index.wxml-- navigation-bar titletest back{{false}} colorblack background#FFF/navigation-bar scroll-view classscrollarea scroll-y typelist view classcontainer view wx:if{{showTip}} classtip-text胖宝宝 你给我回来/view image modewidthFix src{{imgSrc}}/image button bindtaphandleBtnClick{{btnText}}/button /view /scroll-view解释navigation-bar自定义导航栏组件项目默认生成scroll-view可滚动区域scroll-y表示允许纵向滚动{{imgSrc}}、{{btnText}}数据绑定语法用双大括号{{}}把 JS 里data中的数据渲染到页面上wx:if{{showTip}}条件渲染只有当showTip为true时提示文字才会显示bindtaphandleBtnClick事件绑定点击按钮时会触发 JS 中的handleBtnClick函数。1.4.3index.wxss—— 页面样式.container{ padding:20rpx; display:flex; flex-direction:column; align-items:center; } .tip-text{ font-size:36rpx; color:#ff4444; margin:20rpx 0; } image{ width:90%; margin-bottom:30rpx; }解释.container使用display: flex弹性布局并配合flex-direction: column和align-items: center让内容垂直排列并水平居中rpx是小程序特有的响应式长度单位它会根据屏幕宽度自动换算750rpx 屏幕宽度保证在不同机型上显示效果一致image{ width:90% }设置图片宽度为父容器的 90%。1.4.4index.js—— 页面逻辑Page({ data: { status: 0, imgSrc: /images/1.png, btnText: 打开笼子, showTip: false }, handleBtnClick(){ if(this.data.status 0){ this.setData({ status:1, imgSrc:/images/2.png, btnText:点击追逐逮捕, showTip:true }) }else{ this.setData({ status:0, imgSrc:/images/1.png, btnText:打开笼子, showTip:false }) } } })解释Page({...})用于注册一个页面data页面的初始数据包括状态标志status、图片路径imgSrc、按钮文字btnText、提示显示标志showTiphandleBtnClick()按钮点击的处理函数。当status 0时通过this.setData({...})把图片切换成2.png、按钮文字改为「点击追逐逮捕」、显示提示文字否则恢复成初始状态实现了点击按钮切换页面内容和文字的效果this.setData()是小程序更新页面数据的唯一方式它会同步更新data并重新渲染页面。1.4.5index.json—— 页面配置{ usingComponents: { navigation-bar: /components/navigation-bar/navigation-bar } }解释usingComponents用于声明当前页面使用到的自定义组件这里注册了默认生成的navigation-bar导航栏组件。1.5 运行效果点击开发者工具上方的「编译」按钮即可在模拟器中预览小程序效果初始状态显示一张关在笼子里的图片按钮文字为「打开笼子」点击按钮后图片切换为另一张图按钮文字变为「点击追逐逮捕」并显示提示文字「胖宝宝 你给我回来」再次点击按钮恢复初始状态如此反复切换。1.6 WXML、WXSS、JS 三种文件的作用总结文件类型作用类比 Web 前端.wxml定义页面的结构负责页面上有什么HTML.wxss定义页面的样式负责页面长什么样CSS.js定义页面的逻辑和数据负责页面怎么动JavaScript简单来说WXML 负责搭骨架WXSS 负责美化外观JS 负责交互逻辑三者共同构成一个小程序页面。二、问题总结与体会遇到的问题及解决安装微信开发者工具时遇到的问题下载完安装包后最开始双击启动安装包时最先弹出报错提示「无法向 C 盘写入文件」。出现这个提示的根本原因是当前以普通权限运行的安装程序没有足够的操作系统权限无法在 C 盘的系统目录中创建、修改文件写入操作被 Windows 系统拦截安装进程异常中断。这次中途失败的安装直接破坏了本地的.exe安装文件安装包数据因此受损当之后再次双击同一个安装文件尝试运行时就触发了第二份报错——「NSIS-Error 安装程序完整性校验失败」。针对这一个问题的完整解决流程如下将这份已经损坏的安装包以及相关临时缓存文件全部彻底删除清除掉失败安装产生的所有残留文件前往官方渠道重新下载一份全新、完整的安装程序不再直接双击打开而是右键新下载好的 exe 文件选择「以管理员身份运行」。管理员权限赋予了安装程序写入 C 盘的权限不再出现写入失败安装顺利完成两个故障一并解决。点击按钮没有反应代码写好后点击页面上的按钮却没有任何反应。一开始怀疑是代码写错了于是询问 AI 寻求帮助但检查后发现代码本身并没有问题调试器也没有任何报错按照 AI 提示做了一些改动后仍然无效。最后把整个微信开发者工具完全关闭后重新启动再次点击按钮就正常了。这说明问题并不是代码逻辑错误而是开发者工具的编译缓存或运行状态异常导致的重启工具即可解决。图片路径问题一开始图片无法正常显示排查后发现是图片路径写错了——当时没有仔细查看目录结构只写了一个../导致路径层级不对、找不到图片。后来仔细核对了图片相对当前页面的位置改成了正确的相对路径../../images/1.png之后才正常显示。以后引用图片时也可以直接改用绝对路径以/开头如/images/1.png就能避免这类由目录层级引起的路径错误。页面数据不更新修改了变量后页面没有变化原因是直接给data赋值不会触发重新渲染必须通过this.setData()来更新数据。收获与体会通过本次实验我完整地走了一遍小程序开发流程从下载安装开发者工具、创建空白项目到手写 WXML、WXSS、JS 代码实现交互效果。在安装环节我还切身体会到了 Windows 系统中文件权限与程序完整性校验的重要性——普通权限无法向 C 盘系统目录写入失败的中断安装还会损坏安装包数据而「以管理员身份运行」正是解决这类权限问题的正确方式。在开发环节最大的收获是真正理解了小程序三种核心文件的分工——WXML 负责结构、WXSS 负责样式、JS 负责逻辑这种「结构-样式-逻辑」分离的思想与 Web 前端开发一脉相承。在把官方 Hello World 的改文字扩展成改图片 改文字的过程中我也掌握了数据绑定{{}}、条件渲染wx:if、事件绑定bindtap以及setData更新视图等小程序的核心机制为后续的移动软件开发打下了基础。

相关新闻

2026/9/2 7:54:15

4篇3章6节:如何进行临床试验期中分析(三)

本文将基于前文搭建的模拟临床试验数据集与预设的O’Brien‑Fleming序贯设计方案,系统完成期中数据拆分、基线统计量计算、数据质量核验等关键步骤,夯实后续观测Z值计算、序贯边界比对与期中疗效决策的数据基础,完整还原真实临床试验期中分析的标准化实操流程。 一、回顾前文…

2026/9/2 7:54:15

4篇3章5节:如何进行临床试验期中分析(二)

这篇文章以高血压新药 Ⅲ 期临床试验为案例,演示如何借助 R 包完成确证性临床试验的成组序贯设计,计算期中及最终分析的临界 Z 判定边界,同时强调序贯设计必须在试验开展前完成固化并满足 SAP 合规要求。 一、建立预先批准的序贯设计 为保证本篇实操内容完全衔接上文高血压…

2026/9/2 7:54:15

算力虹吸下的成本突围:大模型Token消耗与工程化管控策略

过去一年,很多行业的技术预算表正在发生一场静悄悄的结构转移。过去一套核心业务系统,从服务器采购到运维保障,预算规划相对从容;而今年,仅仅是某个 AI 客服助手或报表解读助手的一年模型调用费用,就可能超…

2026/9/2 8:04:16

基于Hadoop+Spark的招聘推荐系统:从架构设计到算法实现全解析

简介:本资源是一套完整的基于Hadoop与Spark的大数据招聘推荐可视化系统源码,面向计算机专业本科生、大数据初学者及毕业设计选题者,解决招聘数据海量采集、分布式处理、智能匹配与多维可视化等典型工程问题。压缩包共5个文件,含2个…

2026/9/2 8:04:16

嵌入式MCU物联网协议库设计:C语言实现云快充对接框架

简介:本资源是一套面向嵌入式开发工程师与充电桩设备研发人员的MCU云快充协议C语言实现库,聚焦于充电桩与云平台间的标准化通信对接,解决设备端协议解析、帧构造与状态同步等核心问题。压缩包共6个文件(3个头文件.h用于协议结构定…

2026/9/2 8:04:16

433MHz无线遥控解码:从信号捕获到协议逆向的嵌入式实战

简介:本资源是一套面向嵌入式初学者与射频工程实践者的433MHz无线遥控解码完整源码方案,适用于基于51单片机和STM32平台的无线通信入门开发与教学实验。资源聚焦于常见红外/RF遥控协议的接收与解析,解决无线信号捕获、脉宽识别、编码还原等核…

2026/9/2 8:04:16

UR5e真实产线抓取:ROS Noetic+MoveIt!硬核落地实践

简介:本资源是一套基于PythonROSMoveIt框架实现UR5机械臂与AG95夹爪协同完成指定目标位姿抓取任务的完整开发方案,面向计算机、自动化、人工智能等专业的本科生及初学者,适用于课程设计、期末大作业与毕业设计等实践场景。压缩包共34个文件&a…

2026/9/2 8:04:16

STM32驱动DHT11与OLED显示实战:从时序到I2C的完整指南

简介:这是一套面向STM32入门学习与嵌入式课程设计的温湿度实时监测工程。以STM32F103C8为主控,通过DHT11传感器采集环境温湿度,并驱动OLED屏完成数据展示,搭配Keil uVision5开发环境,源码组织清晰,适合用来…

2026/9/2 7:59:16

游戏推理任务设计:基于状态机与对话树构建剧情解谜系统

这次我们来看一个游戏推理任务的设计与实现思路。标题提到的《食盒疑案》第六幕,是一个典型的剧情驱动型解谜玩法,核心是“传唤证人-梳理证词-找出关键道具(食盒)”。对于游戏开发者、剧情策划,或是想学习如何设计分支…

2026/9/1 16:02:17

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出,第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器,出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台,直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/9/1 8:27:47

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流:为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历:明明传感器本身性能很好,信号输出却一塌糊涂——噪声大、漂移明显、重复性差,怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/9/1 7:04:43

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起,其实就是嵌入式开发里最常遇到的一类需求:用一块不算贵的 MCU,同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控,主频…

2026/9/2 0:03:41

单片机毕业设计-基于单片机与蓝牙通讯的输液状态监测终端设计与开发 基于 STM32 或 51 单片机的液位‑滴速‑温度多参数输液监护装置设计(024005)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/9/2 0:03:41

DeepSeek字幕翻译实战:从API调用到批量SRT转中文的完整方案

这次我们来看一个很实用的 DeepSeek 落地场景:用 DeepSeek 把英文视频字幕自动翻译成中文。具体案例是《恶魔君》1989 年第 28 集的英转中字幕任务,标题写得很直白,但背后其实是一整套可以复用的技术流程:字幕解析、模型调用、批量…

2026/9/2 0:03:41

用Python搭建搞笑语音助手:从语音识别到语音合成全教程

当你家里摆着一台天猫精灵,却总希望语音助手偶尔“不正经”一点,不用官方腔回答问题,而是张口就接几句搞笑段子,会是什么体验?我最近动手验证了一下这个想法——没有去改装任何市面上现有的智能音箱,而是直…

2026/9/2 1:15:22

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/2 1:15:22

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/2 1:15:20

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…