【大白话学习】UniApp 微信小程序与APP应用 开发零基础入门教程(一)---基础页面框架搭建

写在前面话:

随着互联网的快速发展,微信小程序应用的快速便捷,不用下载安装等的优势越来越明显,于是,我就开始着手于小程序开发的学习,虽然微信提供了开发工具,但它只能生成小程序 ,不能生成APP,那么有没有两全的工具呢? 百度后搜索到目前流程的开发工具是 Hbuilder,官网上以技术手册为重点,感觉没有简单的教程,虽然也提供了几套学习视频,自己试着学习了几个,总体感觉专业性较强,更有甚首一套视频教程课件多则上百节,对于没有编程基础或第一次接触APP开发的同学来讲,太难了,太费时间了,容易被劝退。我下载了一套源文件,结果版本还不支持。

所以在自己学习后,编写了这套教程,从小白的角度来开发一个真实的应用入手,让你在实践中沉浸式学习各项基本功能,并且成品可以直接拿来使用,两天时间快速入门!

准备工作:

学习中我们只用到最少的2个工具来做讲解:

1.Hbuilder 官网 下载开发工具, 直接解压缩,找到HBuilderX.exe 就可以使用。

2.搭建php+mysql环境,这个网上有集成一键安装的软件,可自行搜索下载。

可以这么说吧,手机上的APP或者小程序,都是由我们看到显示界面(所谓前端)与 数据(所谓后端)两部分组成,前端调用后端的数据,两者结合到一起就是我们看到的 排版与内容。

在本教程中,我们不讲解后端数据的构成,直接安装好数据库的运行环境php+mysql,把本教程提供的数据库安装进来,php接口文件仅一个,只需要做简单的配置就可以了,在文章最下面,提供本教程所有源程序 (Hbuilder中导入文件夹就可以使用)与php接口和数据库代码。在开始学习之前,请保证完成以上两项准备工作。

应用名称 : 《树洞笔记本》,一个私密日记本,可以用来记录密码,书写心情,仅限自己一个人使用。

功能包括六项: 登陆 > 写日记 > 看日记 > 修改 > 删除 > 退出登陆

是不是看起来功能很简单,但麻雀虽小五脏俱全。

下面我们正式开始

打开Hbuilder,点击工具栏里的文件 -> 新建 -> 项目,选择uni-app类型,输入工程名:“mynote”,选择最左边第一个模板,点击创建,即可成功创建。

这里说一下为什么我们要选uni-app,最早我三年前接触这个软件时,选的是H5+,这对于有网站开发经验的朋友很容易上手,基本上全是html+js应用,但后来实际应用中发现,不能够直接转换成微信小程序,所以现在已经放弃了。而用官方扩来说,uni-app 开发者编写一套代码,可发布到iOS、Android、Web、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台,所以同学们直接从这里入手,可以少走弯路。

 点击确定后,会在左侧目录中,生成如下内容

┌──pages         我们用到的所有页面文件存放的目录
│   └─index
│       └─index.vue 首页
├─static      存放应用引用静态资源(如图片、视频等)的目录,注意:静态资源只能存放于此
├─App.vue    (不管它)应用配置,用来配置App全局样式以及监听 应用生命周期
├─index.html (不管它)
├─main.js      Vue初始化入口文件
├─manifest.json (先不管它,最后才会用)配置应用名称、appid、logo、版本等打包信息
├─pages.json    配置页面路由、导航条、选项卡等页面类信息
└─uni.css    (不管它) uni-app内置的常用样式变量

这里我们先把要用到页面一次性生成完毕,分别在 pages 文件夹上点击右键,输入文件名:login,按默认状态直接确认就可以,依次生成 list , edit ,共三个文件,如下:

然后我们分别点开具体文件,将所有页面改成如下格式,对应文件名保留 我是XX

<template>
	<view>
		我是登陆界面(login),我是编辑界面(edit),我是写日记界面(index),我是看日记界面(list)
	</view>
</template>

<script>
	export default {
		data() {
			return {
				
			}
		},
		methods: {
			
		}
	}
</script>

<style>

</style>

接下来找四张小图标,拷贝到 static 目录下,我这里找了四张,大家可以另存为保存下来

b-1.pngb-2.png  a-1.png a-2.png

 页面生成完毕后,我们点开 pages.json,将内容改成以下

{
	"pages": [ //pages数组中第一项表示应用启动页,
		{
			"path": "pages/index/index",
			"style": {
				"navigationBarTitleText": "写日记"
			}
		}, {
			"path": "pages/login/login",
			"style": {
				"navigationBarTitleText": "登陆",
				"enablePullDownRefresh": false
			}

		}, {
			"path": "pages/list/list",
			"style": {
				"navigationBarTitleText": "看日记",
				"enablePullDownRefresh": true
			}

		}, {
			"path": "pages/edit/edit",
			"style": {
				"navigationBarTitleText": "修改",
				"enablePullDownRefresh": false
			}

		}
	],
	"globalStyle": {
		"navigationBarTextStyle": "black",
		"navigationBarTitleText": "树洞日记本",
		"navigationBarBackgroundColor": "#F8F8F8",
		"backgroundColor": "#F8F8F8"
	},
	"tabBar": {
		"color": "#000",
		"selectedColor": "red",
		"borderStyle": "black",
		"backgroundColor": "#ffffff",
		"list": [{
				"pagePath": "pages/index/index",
				"text": "写日记",
				"iconPath": "static/a-1.png",
				"selectedIconPath": "static/a-2.png"
			},
			{
				"pagePath": "pages/list/list",
				"text": "看日记",
				"iconPath": "static/b-1.png",
				"selectedIconPath": "static/b-2.png"
			}]
	}
	
}

 重点说一下 "path": 对应是的页面文件所在的目录,以  pages/   开头,这个叫”路径“,我们教程中,全部推荐使用  pages/  开头的路径。

 "navigationBarTitleText":   这个是指页面的标题名称
  "enablePullDownRefresh": false   这是指页面是否允许下拉刷新,除了 list页面 改成 true(允许),其它全默认false(禁止)就可以。

在上面的pages.json中,我们手工添加了一个”tabBar",这个是软件下方的功能按键,

        "color": "#000",             -------------文字颜色
        "selectedColor": "red",  -------------选中后的文字颜色
        "borderStyle": "black",  -------------选框样式
        "backgroundColor": "#ffffff",  ------------背景色
        "list": [   -------------按钮组,每个按钮用 {  }   包起来
           {
                "pagePath": "pages/index/index",  -
                "text": "写日记",
                "iconPath": "static/nav2.png",                      ---没选中时的图标
                "selectedIconPath": "static/nav2-a.png"     ---选中时的图标
            }

最后的效果如下

mysql数据表只有两个

接口 api.php 只有一个文件,简单方便

本节教程,我们先搭建好骨架,后面的教程中再让它丰满起来

本教程源文件 与 数据表,php接口 都已打包,直接下载导入就可以使用

零基本开发uniapp微信小程序教程源文件与数据库接口,简单易上手,不受版本限制-小程序文档类资源-CSDN下载

### 关于Unapp毕业设计的相关资源 #### Unapp简介 Unapp种假设的应用程序名称,在实际开发中可能指代任何基于 Android 或其他平台的移动应用。对于毕业设计而言,围绕 Unapp开发可以涉及多个方面,例如需求分析、系统设计、编码实现以及测试部署等阶段。 --- #### 参考资料示例代码 1. **毕业设计题目** 毕业设计的核心在于选题的实际意义和技术可行性。以下是个关于 Unapp 的毕业设计题目示例: - 题目:《基于Android多媒体技术的英文学习APP——Unapp的设计实现》[^1] 2. **设计要求及原始数据** 设计(论文)的具体要求如下: - 综述国内外移动互联网现状及其发展前景; - 掌握 Android 系统的基础知识,理解其应用程序开发的方法和步骤; - 对 Unapp 应用程序的功能模块进行详细分析并描述主要算法逻辑; - 使用合适的开发工具完成代码编写功能测试; - 提升文献检索能力,并能够有效利用已有研究成果支持自己的设计工作; - 锻炼撰写高质量技术文档学术论文的能力。 3. **示例代码片段** 以下是针对 Unapp 中某个具体功能模块(如对话界面优化)的个简单代码示例: ```java public class ChatActivity extends AppCompatActivity { private RecyclerView recyclerView; private EditText messageInput; private Button sendButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_chat); recyclerView = findViewById(R.id.recycler_view); messageInput = findViewById(R.id.message_input); sendButton = findViewById(R.id.send_button); LinearLayoutManager layoutManager = new LinearLayoutManager(this); recyclerView.setLayoutManager(layoutManager); List<String> messages = new ArrayList<>(); MessageAdapter adapter = new MessageAdapter(messages); recyclerView.setAdapter(adapter); sendButton.setOnClickListener(v -> { String text = messageInput.getText().toString(); if (!text.isEmpty()) { messages.add(text); // 添加消息到列表 adapter.notifyDataSetChanged(); // 刷新适配器 messageInput.setText(""); // 清空输入框 recyclerView.scrollToPosition(messages.size() - 1); // 自动滚动到底部 } }); } static class MessageAdapter extends RecyclerView.Adapter<MessageAdapter.MessageViewHolder> { private final List<String> data; public MessageAdapter(List<String> data) { this.data = data; } @NonNull @Override public MessageViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(android.R.layout.simple_list_item_1, parent, false); return new MessageViewHolder(view); } @Override public void onBindViewHolder(@NonNull MessageViewHolder holder, int position) { holder.textView.setText(data.get(position)); } @Override public int getItemCount() { return data.size(); } static class MessageViewHolder extends RecyclerView.ViewHolder { TextView textView; public MessageViewHolder(View itemView) { super(itemView); textView = itemView.findViewById(android.R.id.text1); } } } } ``` 4. **文档下载建议** 如果需要完整的毕业设计文档模板或参考案例,可以通过以下途径获取: - 学校图书馆提供的电子资源库; - 开源社区网站(如 GitHub),搜索关键词 `android graduation project` 或者更具体的主题词组合; - 教育类论坛或博客文章分享的经验贴; - 商业平台上购买经过验证的成功案例作为参考资料。注意版权问题,仅用于个人学习研究用途时才可适当借鉴他人成果[^1]。 --- #### 技术难点解析 在开发过程中可能会遇到些挑战,比如如何提升用户体验、保障信息安全等方面的问题解决策略。这里列举几个常见场景的技术处理方式供参考: - 数据存储加密机制的选择; - UI/UX交互效果优化技巧; - 后台服务稳定性维护措施等等。 以上内容均需结合实际情况灵活调整方案实施细节[^2]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恰好

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值