Skip to content

Repository files navigation

《微信移动终端开发》课程安排

课程性质:面向四川大学计算机学院本科大二、大三学生, 依据学生专业课成绩、综合素质、获奖情况及求学意愿,由腾讯讲师和校内讲师筛选,最终确定选课人数82人,24个学时,2个学分

授课方式:采用线上视频慕课学习 + 线下课堂学习的教学方式。线上由腾讯讲师通过教学视频进行授课。线下除第一次和最后一次课程腾讯讲师会到学校跟同学们面对面交流之外,中间由校内老师组织线下课堂

  • 线上视频学习:通过腾讯大学的网络授课平台进行,视频由腾讯资深架构师录制;
  • 线下课堂学习:由四川大学计算机学院教师进行授课与答疑指导。

课程目标:通过项目实践,提升学生动手能力,将所学知识整合运用到移动终端开发相关项目中

  • 开发技能:通过代码编写与阅读,训练学生编写程序的熟练性和规范性;
  • 项目经验:通过完成项目案例和阶段项目实战,增加对实际软件项目开发的体验与积累;
  • 综合素质:通过项目组角色分配、技术研讨等多种训练手段,培养学生良好的职业习惯。

课程信息

  • 课序号:304206020
  • 授课教师:方智阳* 陈岳伟 赵原 周志杰 刘艺恒 饶珺 卢正坤
  • 课程时间: 4-15周周五3~4节
  • 课程地点:四川大学江安校区二基楼B301
课程时间主要负责讲师授课方式
第四周(3.30)腾讯讲师+校内老师线下课堂
第五周(4.6)校内老师线下课堂
第六周(4.13)腾讯讲师线上视频
第七周(4.20)校内老师线下课堂
第八周(4.27)校内老师线下课堂
第九周(5.4)腾讯讲师线上视频
第十周(5.11)校内老师线下课堂
第十一周(5.18)校内老师线下课堂
第十二周(5.25)校内老师线下课堂
第十三(6.1)、十四周(6.8)校内老师线下课堂
项目验收(6.15)腾讯讲师+校内老师线下课堂
**

考核方式 : 5-6 人自由组成团队,要求各小组在两周时间内,运用课程中学到的微信移动端小程序及Android开发相关知识,完成有一定工作量的微信移动端的小项目,并实现相对完整的功能;
项目选题要有先进性、综合性、实践性。可以结合各小组同学已参加的大学生创新项目、互联网+项目或者同学们的一些实际需求选题,所有选题需要提前课程指导老师确认。
完成小组自行选择的小程序开发、Android开发项目任务。验收通过后即可获得四川大学2个选修学分腾讯签发的结业证书

课程相关代码资源查看Github项目MobileDevCourse

地址:https://github.com/fanmcgrady/MobileDevCourse


课程资源

本Github项目展示了《微信移动终端开发》课程上涉及到的相关代码和课程资源

微信开发者工具打开整个项目,Lesson* 目录里面是每节课涉及到的代码和工程,部分内容可能和小程序工程无关

Lesson1

  1. 介绍课程整体内容,重点微信移动端开发,课程的要求.
  2. 微信公众号,微信小程序入门.
  3. 介绍HTML,JavaScript,CSS基础.
  4. 使用web-view标签简单模拟微信小程序HelloWorld程序.
  5. 介绍微信小程序HelloWorld.

lesson1文件夹中,包含了一个小程序官方Hello World程序,已经按照这个结构,课堂上演示的模拟的一个纯HTML的Hello World程序

Lesson2

  1. 回顾上节课小程序前端的内容,前端weui
  2. 介绍服务器后端开发的基础知识,以Java Servlet为例.
  3. 介绍上节课课后意见反馈页面的编写流程,以小程序为例再次演示同样的功能基于小程序的实现.

lesson2文件夹中,包含了一个基于Weui的“意见反馈页面”的小程序端实现,以及课堂上演示的基于Servlet的一个Java后端Hello World程序(直接使用intellj idea打开这个项目,项目是以工程的形式上传)

Lesson3

  1. 介绍上节课课后意见反馈页面的编写流程,以小程序为例再次演示同样的功能基于小程序的实现.
  2. 上节课介绍的Servlet例子,作为服务器,接入小程序反馈页面后台.
  3. 介绍“2015级微信公众号”后端查询用户基本信息的业务流程,顺便介绍公众号开发的基础知识,以及巩固服务器端开发的概念.
  4. 展示一个我已经实现的微信公众号黑科技.
  5. 相关工具使用:

Lesson4

  1. 展示一个我已经实现的微信公众号黑科技.

  2. 展示我开发的四川大学校内充值APP程序川大生活服务iOS和Android端代码结构.

    app

  3. 介绍移动终端开发第一章:Android应用设计与开发. lesson4

  4. 简单介绍notejs使用,开发一个简单的后台

Lesson5

  1. 小程序使用过程的几个问题:页面见传参,访问网页,全局变量.
  2. 黑科技:深度强化学习(Deep Reinforcement Learning)Hello World.
    • Catepole-v0小杆游戏 Hello World,使用random方法控制小杆平衡,使用强化学习方法控制小杆平衡
    • 机器学习入门资料,Google InnoCamp
  3. 介绍移动终端开发第二章:Android UI技术探究与应用. lesson5

小程序全局变量

微信小程序里面有个app.js,我们可以在这个里面设置全局变量,像酱

App({data:{servsers:"http://192.168.0.253:3000"}})

在外面就这样引用就可以了,这个真的是简单

getApp().data.servsers

页面见传参

<!-- sample.wxml --><navigatorurl="../navigator/navigator?title=我是navigate" >跳转到新页面</navigator><navigatorurl="../redirect/redirect?title=我是redirect" redirect>在当前页打开</navigator>

页面接收参数

// redirect.js navigator.jsPage({onLoad: function(options){this.setData({title: options.title})}})

RL 示例

classrandomAgent():
"""The world's simplest graduation_agent!"""def__init__(self, action_space):
self.action_space=action_spacedefact(self, observation):
returnself.action_space.sample()
defstop_episode(self):
passdefload(self, model_name):
pass# 使用gym的CartPole游戏env=gym.make('CartPole-v0')
# 随机的方法创建智能体agent=randomAgent(env.action_space)
# 强化学习的方法创建智能体# agent = createAgentDQN(env)# 现场训练模型# trainingAgent(agent, env)# 加载训练好的模型# agent.load("cart")# 循环运行10次游戏,对agent进行测试fori_episodeinrange(10):
observation=env.reset()
R=0fortinrange(200):
# env.render()action=agent.act(observation)
observation, reward, done, info=env.step(action)
R+=rewardifdone:
print("{}:Episode finished after {} timesteps, reward {}".format(i_episode, t+1, R))
breakagent.stop_episode()

Lesson6

  1. 第三章,Android安全开发。介绍如何实现开发过程中的接口加密。 img
  2. 第四章,终端存储技术。介绍JSON,XML的使用,介绍数据库SQL语句的简单实例。 img
  3. 第五章,终端网络技术。介绍网络协议的基础知识。 img

JSON数据格式

{
"type": 1,
"result": 0,
"resultMsg": "操作成功",
"cardId": "84122070",
"days": 7,
"contents": [{
"address": "江安东园一餐厅",
"amount": "500",
"charge": "540.0",
"type": 1,
"salaryNo": "84122070",
"dealType": "消费",
"dealTime": "2018-05-22 12:38:37"
}, {
"address": "江安东园一餐厅",
"amount": "560.0",
"charge": "1040.0",
"type": 1,
"salaryNo": "84122070",
"dealType": "消费",
"dealTime": "2018-05-22 12:38:11"
}, {
"address": "江安东园一餐厅",
"amount": "560.0",
"charge": "1600",
"type": 1,
"salaryNo": "84122070",
"dealType": "消费",
"dealTime": "2018-05-22 12:38:03"
}, {
"address": "校园交通车",
"amount": "0",
"charge": "2160.0",
"type": 1,
"salaryNo": "84122070",
"dealType": "消费",
"dealTime": "2018-05-22 09:10:08"
}, {
"address": "校园交通车",
"amount": "0",
"charge": "2160.0",
"type": 1,
"salaryNo": "84122070",
"dealType": "消费",
"dealTime": "2018-05-18 16:41:36"
}, {
"address": "江安东园一餐厅",
"amount": "560.0",
"charge": "4198.00",
"type": 1,
"salaryNo": "84122070",
"dealType": "消费",
"dealTime": "2018-05-18 12:21:22"
}],
"startDate": "2018-05-18",
"endDate": "2018-05-25"
}

About

《微信移动终端开发》课程资源

Resources

Stars

19 stars

Watchers

7 watching

Forks

Releases

Packages

Contributors

Languages