内容
1: 组件通信
设计一个主Activity和一个子Activity(Sub-Activity),利用主Activity上的按钮启动子Activity,并将子Activity的一些信息返回给主Activity,并显示在主Activity上,亦可以自己设计界面和场景,也可以利用下面供应的内容。主Activity界面上有一个“登录”按钮和一个用了显示信息的TextView,点击“登录”按钮后打开一个新的Activity,新Activity上面有输入用户名和密码的控件,在用户关闭这个Activity后,将用户输入的用户名和密码通报到主Activity,并显示在主Activity的TextView中。

2: Fragment+FragmentTabHost实现仿微信底部导航
(1)理解Fragment的用法
(2)理解FragmentTabHost的用法
(3)可参考代码目录中的Fragment_tabhost.rar来实现
3: android网络编程
将参考代码目录中的开源代码whiteboard-master.zip编译运行起来,体会android中的app作为网络客户真个开拓技能。该项目是基于网络框架开拓的电子白板,可实现同屏互动功能。同时该项目采取C/S模式,支持多人同时在线、并发实时同屏互动。
报告中表示程序运行效果;写出研究开源代码的android客户真个体会;选作内容:自由添加修正功能。4: 大作业
任选一个android运用(互联网开拓领域),可以按照自己的兴趣,选择完成。
可设计只有客户端(app)的移动互联网开拓(例如景象类app);如能同时设计做事端程序,则事情量更多,可适当提高成绩(例如利用你自己开拓的javaEE等做事器做后端,你的app作为客户端去连接显示)。
………………大作业其它解释………………
哀求:功能完备,交互方便。优先选择android运用,如不能节制,选择IOS开拓或java web等办法开拓互联网运用程序亦可。不许相互抄袭。哀求息争释
12周末了一次实验课时,提交报告和光盘
(各班统一制作一张光盘,每人的目录名: xx是学号末2位,xx姓名)。
光盘内含:4项内容的源程序工程文件和apk文件;电子版报告。
报告:A4双面打印文档一份,统一封面。
要得到较高的分数,可在12周末了一次实验课时对大作业程序进行演示。
互联网运用开拓报告
课程名称______互联网运用开拓___
学生学院__ 打算机学院_____
专业班级_ 打算机科学与技能2班_
学 号____ 311500 ______
学生姓名____ _ ___
辅导西席______ 黄剑锋 ____
2018 年 5 月 18 日
实验一
一、实验目的:
理解利用 Intent 进行组件通信的事理。节制利用 Intent 启动 Activity 的方法。节制获取 Activity 返回值的方法。二、实验内容:
设计一个主Activity和一个子Activity(Sub-Activity),利用主Activity上的按钮启动子Activity,并将子Activity的一些信息返回给主Activity,并显示在主Activity上,亦可以自己设计界面和场景,也可以利用下面供应的内容。主Activity界面上有一个“登录”按钮和一个用了显示信息的TextView,点击“登录”按钮后打开一个新的Activity,新Activity上面有输入用户名和密码的控件,在用户关闭这个Activity后,将用户输入的用户名和密码通报到主Activity,并显示在主Activity的TextView中。
三、测试截图:
1.登录界面,可以输入账户和密码。
2. 用户名和密码通报到主Activity,并显示在主Activity的TextView中
四、总结
这次实验是为了理解组件之间的信息通报可以用Intent来做到,可以更好的掌握流程的跳转。
实验二
一、实验目的
(1)理解Fragment的用法
(2)理解FragmentTabHost的用法
二实验内容:
Fragment+FragmentTabHost实现仿微信底部导航
三测试截图:
四、总结
1、一个Fragment必须总是被嵌入到一个Activity中,它的生命周期直接被其所属的宿主Activity生 命周期影响,它的状态会随宿主的状态变革而变革。 要创建一个Fragment 必须创建一个Fragment的子类,或者继续自另一个已经存在的 Fragment的子类.并重写 onCreateView()方法加载UI。
2.FragmentTabHost实现一样平常有如下步骤:
①、Activity要继续FragmentActivity
②、调用FragmentTabHost的setup()方法
③、添加TabSpec
实验三
一、实验内容:
将参考代码目录中的开源代码whiteboard-master.zip编译运行起来,体会android中的app作为网络客户真个开拓技能。该项目是基于网络框架开拓的电子白板,可实现同屏互动功能。同时该项目采取C/S模式,支持多人同时在线、并发实时同屏互动。
二、测试截图:
三、android客户真个体会
1. Android客户端为了与做事器通讯有两种协议,HTTP和TCP
2. HTTP连接利用的是“要求—相应”的办法,不仅在要求时须要先建立连接,而且须要客户端向做事器发出要求后,做事器端才能回答数据。
3.socket是可以监听,因此Socket连接一旦建立,通信双方即可开始相互发送数据内容,直到双方连接断开。保持客户端与做事器数据的实时与同步。
大作业题目:PHP开拓的图书管理第1章 需求剖析随着打算机的不断遍及和发展,很多大型的学校图书馆虽然已经有一整套比较完善的图书馆管理系统,然而在一些中小型的学校图书馆中,绝大部分的事情仍需图书管理员由手工来完成,事情效率低下。本文设计的图书馆管理系统基于B/S架构,利用最盛行的做事器端脚本措辞PHP,并以与PHP良好匹配的MYSQL数据库为本系统的数据库,Apache作为本系统的做事器,实现了图书信息的添加、查询、删除和借阅归还,搜索、统计等功能。可以轻松地在电脑浏览器网页上,乃至移动设备上进行图书管理。
1.1项目设计目标
图书管理者可以通过电脑浏览器乃至是移动设备网页,进行图书管理,可以进行图书信息的添加、查询、删除和借阅归还,搜索、统计等。该图书管理系统力求界面简洁,操作大略,功能完善。同时,系统哀求有优秀的可视化图形操作界面,大力提高系统的可操作性和交互性,只管即便减少操作员的包袱,让他们更方便、更快捷、更大略的进行操作。还有哀求系统有很强的稳定性、可掩护性、扩充性、可移植性
1.2项目涉及的技能、方法或事理
1、PHP概述:
PHP是一种广泛利用的开源的脚本措辞,可嵌入到HTML中,尤其是对付Web开拓,它是一种做事器端HTML的脚本措辞,是一种大略的、高效的、面向工具的、阐明
的、健壮的、安全性非常高的动态的脚本措辞。
2、MySQL概述:
MySQL数据库是一个小型关系型数据库管理系统。由于MySQL体积小、速率快和低本钱,尤其是在开放源代码的特点,目前MySQL被广泛用于中小型网站
3、Apache做事器:
目前天下利用排名第一的Web做事器软件便是Apaache。
Apache起初由NCSA(伊利诺伊大学喷鼻香槟分校的国家超级电脑运用中央)开拓。此后,随着Apache httpd的开源社区的成员不断发展和加强,Apache的HTTP Web做事器有可靠的荣誉,有超过一半网站正在利用它,特殊是险些所有最盛行的大网站。例如,维基百科利用的便是Apache 做事器。
4、phpstorm概述:
phpstorm是一个大型PHP项目开拓编译器。此编译器为PHP编译器,赞助PHP代码的开拓和调试,集成了代码高亮、函数跟踪、实时纠错等功能。内嵌浏览器可以在调试大略代码实时浏览。不仅支持php ,也支持其他网络措辞像html、xhtml、xml、css和javascript、java、perl、python等
5、BS模式概述:
B/S(Browser/Server构造)构造即浏览器和做事器构造。它是随着Internet技能的兴起,对C/S构造的一种变革或者改进的构造。在这种构造下,用户事情界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是紧张事务逻辑在做事器端(Server)实现,形成所谓三层3-tier构造。这样就大大简化了客户端电脑载荷,减轻了系统掩护与升级的本钱和事情量,降落了用户的总体本钱(TCO)。
1.3功能需求
1、管理员注册和登录功能。
2、管理员修正密码功能。
3、图书借出、还入操作。
4、新书入库,图书删除功能。
5、图书搜索、统计。
第2章 数据库设计1、admin表(记录管理员的干系信息):
2、yx_book表(记录图书的干系信息):
第3章 系统实现3.1 图书分页显示功能模块:
图书分页显示模块无疑是该图书管理系统最主要的一部分之一。分页显示可以让管理者轻松地查看所有的图书信息。连接mysql数据库。将所有的图书信息以表格形式分页显示,可以切换上一页或者下一页,也可以实现跳转到详细页数。下面是紧张的实当代码:
<?php
$pagenum = 10; //一页显示多少条数据
$pagenow = 1; //默认显示第一页的数据
$sql2 = "select count() from yx_book";
$rows = $mysql->conn->query($sql2)->fetch();
$total = $rows[0]; //一共有多少条数据
$pagecount = ceil($rows[0]/$pagenum);
//获取当前页数
if(!empty($_GET["page"])) {
if($_GET['page'] < 1) {
$pagenow = 1;
}else if($_GET['page'] > $pagecount) {
$pagenow = $pagecount;
}else {
$pagenow = $_GET["page"];
}
}
$sql = "select from yx_book limit"." ".(($pagenow-1)$pagenum).",$pagenum";
$pdostm = $mysql->conn->query($sql);
$i = 1;
while($res = $pdostm->fetch(PDO::FETCH_ASSOC)) {
?>
<tr align="center">
<td class="td_bg" width="8%"><?php echo $i++ ?></td>
<td class="td_bg" width="25%" height="26"><?php echo $res['name'] ?></td>
<td class="td_bg" width="17%" height="26"><?php echo $res['position'] ?></td>
<td class="td_bg" width="12%" height="26"><?php echo $res['type'] ?></td>
<td class="td_bg" width="14%" height="26"><?php echo $res['total'] ?></td>
<td class="td_bg" width="14%" height="26"><?php echo $res['leave_number'] ?></td>
</tr>
<?php
}
?>
<tr>
<td height="25" colspan="6" align="center" class="bg_tr tda">
<a class="page" href="list.php?page=1">首页</a>
<a class="page" href="list.php?page=<?php echo $pagenow-1 ?>">上一页</a>
当前<span><?php echo $pagenow?></span>页
<a class="page" href="list.php?page=<?php echo $pagenow+1 ?>">下一页</a>
<a class="page" href="list.php?page=<?php echo $pagecount ?>">尾页</a>
共<span><?php echo $total?></span>条数据,共<span><?php echo $pagecount ?></span>页
<form action="" method="get" class="form">
<input type="text" name="page" style="width: 50px;height: 23px">
<input type="submit" value="跳转该页">
</form>
</td>
</tr>
3.2 图书模糊搜索模块:模糊搜索可以按某些关键字查出干系的图书,紧张的实现事理是mysql的like操作符。Mysql语句如下:
$sql = "select from yx_book WHERE ".$_SESSION["seltype"]." like"." '%".$_SESSION["coun"]."%'"." limit"." ".(($pagenow-1)$pagenum).",".$pagenum;
3.3 新书入库模块管理员可以通过界面化操作,实现添加新的图书,利用mysql的insert语句。紧张代码如下:
<?php
include_once "coon/pdo.php";
$mysql = new mysqls();
$sql = "insert into yx_book (name,position,type,total,leave_number) VALUES ('" .$_POST['name'].
"','".$_POST['position']."','".$_POST['type']."','".$_POST['total']."','".$_POST['leave']."')";
$row = $mysql->myExec($sql);
if($row == 1) {
echo "<script>alert('入库成功');window.location.href='add.php';</script>";
}else {
echo "<script>alert('入库失落败,请重试');</script>";
}
?>
3.4修正图书信息模块
修正图书信息可以变动图书的摆放位置,总库存,剩余库存等信息。紧张用到mysql的update语句。紧张代码如下:
<?php
include_once "coon/pdo.php";
$mysql = new mysqls();
$sql = "update yx_book set POSITION ='".$_POST["position"]."',type='".$_POST['type']."',total=".$_POST['total'].
",leave_number=".$_POST['leave']." where name='".$_POST['name']."'";
$row = $mysql->myExec($sql);
if($row == 1) {
echo "<script>alert('修正成功');window.location.href='operate.php'</script>";
}
?>
3.5借出,还入,删除图书模块
连接数据库,借出时图书的剩余库存减一。有人还入时,剩余库存加一。利用mysql的update语句。删除图书时,利用mysql的delete语句删除该条图布告载。
3.6图书统计模块:
1.统计每种类型的图书各有多少种,以表格形式输出。紧张的mysql语句如下:$sql="select type, count() from yx_book group by type"
2.利用sanvas画布画出饼状图。紧张代码如下:
function drawCircle(canvasId, data_arr, color_arr, text_arr)
{
var c = document.getElementById(canvasId);
var ctx = c.getContext("2d");
var radius = c.height / 2 - 20; //半径
var ox = radius + 20, oy = radius + 20; //圆心
var width = 30, height = 10; //图例宽和高
var posX = ox 2 + 20, posY = 30; //
var textX = posX + width + 5, textY = posY + 10;
var startAngle = 0; //起始弧度
var endAngle = 0; //结束弧度
for (var i = 0; i < data_arr.length; i++)
{
//绘制饼图
endAngle = endAngle + data_arr[i] Math.PI 2; //结束弧度
ctx.fillStyle = color_arr[i];
ctx.beginPath();
ctx.moveTo(ox, oy); //移动到到圆心
ctx.arc(ox, oy, radius, startAngle, endAngle, false);
ctx.closePath();
ctx.fill();
startAngle = endAngle; //设置起始弧度
//绘制比例图及笔墨
ctx.fillStyle = color_arr[i];
ctx.fillRect(posX, posY + 20 i, width, height);
ctx.moveTo(posX, posY + 20 i);
ctx.font = 'bold 12px 微软雅黑'; //斜体 30像素 微软雅黑字体
ctx.fillStyle = color_arr[i]; //"#000000";
var percent = text_arr[i] + ":" + 100 data_arr[i] + "%";
ctx.fillText(percent, textX, textY + 20 i);
}
}
第4章 测试截图4.1管理员注册登录页面
4.2图书详情页面
4.3图书模糊搜索以及操作页面:
4.4新书入库页面
4.5图书统计页面
4.6系统总览:
第5章 问题和总结
通过本次项目设计,不仅更加踏实的节制了PHP,mysql以及H5前端等根本知识,对互联网开拓方面的知识也有了进一步的理解。对软件工程的意义有了更深刻的体会。从一个项目定题到项目完成,只有负责全面的做好可行性研究和需求剖析,做好总体设计和详细设计,才能完成功能完善,质量良好的项目。
在项目过程中虽然碰着了一些问题,但经由思考和网上查询资料,也办理大部分问题,在此同时也暴露出了前期PHP根本方面的知识欠缺和履历不敷。实践出真知,通过亲自动手实践,使我们节制的知识不再是纸上谈兵。回顾起这次项目设计,至今仍感慨颇多,从理论到实践,在这段日子里,虽然很累,但是却可以学到很多很多的东西,既巩固了以前所学过的知识,也学到了很多在书本和教室上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很主要的,只有理论知识是远远不足的,只有理论与实际相结合,才能提高自己的实际动手能力和独立思考的能力。以是在往后的学习中,我要多实践,多敲代码。