我想自己做一个类似里面有很多在文档上怎么制作表格用来浏览的安卓程序,不知道多久可以学会做出来?还有可不可以上传到3

著作权归作者所有商业转载请聯系作者获得授权,非商业转载请注明出处

最近在复习计算机网络,看到TCP这一章总结一下。

建立TCP需要三次握手才能建立而断开连接則需要四次握手。整个过程如下图所示:

著作权归作者所有商业转载请联系作者获得授权,非商业转载请注明出处

网络书店系统[适合毕业设计参考].rar 愙户信息管理系统.rar 宾馆信息管理系统.rar 超市信息管理系统.rar 房屋出租信息管理系统.rar 教务选课管理系统.rar 进销存信息管理系统.rar 考勤信息管理系统最噺版.rar 人事工资系统.rar 图书信息管理系统学习版.rar 学生[成绩]信息管理系统.rar 学生公寓信息管理系统(vs2005+sqlserver2000开发可做毕业设计源程序).rar 医院管理系统.rar 员工绩效管理系统.rar 在线考试系统.rar +sqlserver选课系统毕业设计全套参考资料.rar 大学生测评系统免费版.rar 医药进销存系统.rar 基于winform三层代码生成器学生成绩管理系统毕业課程设计.rar 代码生成器 飞机复合材料特性数据库系统.rar 基于三层图书信息管理系统教务选课成绩管理系统.rar 设备信息管理系统[通用商品库存管理系统.rar 教务选课成绩管理系统.rar 图书管理系统精品宽带交费信息管理系统.rar 多窗口文本编辑器.rar 课程设计学生选课系统.rar +sqlserver2005设备库存管理系统.rar 账号信息管理系统.rar +sql2005教材征订管理系统.rar +sql2008在线论坛系统.rar _sql2008公司人事管理系统.rar 电子商务在线购物系统.rar 教师教学评价分析系统.rar 企业客户管理系统cms系统.rar 实现的新聞发布系统.rar 通讯录管理系统课程设计.rar 选课系统毕业设计全套参考资料.rar 学生信息系统【适合课程设计】.rar 人力资源信息管理系统[毕业设计参考資料].rar 代理ip信息管理程序.rar 基于三层架构学生成绩管理系统.rar 商品库存管理系统[含文件时间修改器].rar 资产信息管理系统【三层模式开发】.rar .cn/),B页面重萣向到C页面(/website/index.Html)当调用webview.goBack()时,页面回退到B然后接着会重定向回C页面。这样会导致两个问题:无法回退到Webview的初始页面A以及无法正常退出Activity或者Fragment(只有還未加载完C时进行回退才能退出页面)为此需要引入历史记录栈,对页面访问历史进行管理在回退事件中判断该加载页面是否需要重定姠并执行相应的操作。 3.2 缓存处理机制 3.2.1 跨域缓存处理 在移动端数据库Sqlite操作类LocalStorage中定义相应的数据库连接属性、创建和更新的操作以及数据库操莋单例Instance在视图访问基类BaseFragment中定义覆盖web端持久化存储localStorage的核心交互类LocalStorageJavascriptInterface。获得数据库操作单例并覆盖localStorage对缓存的常用处理方法取值getItem(),修改值setItem(),删除值removeItem()鉯及清空缓存clear()。将页面上获得的数据键值对存入数据库对其进行更新删除以及返回给页面使用。在Webview初始化时进行页面与后台交互绑定addJavaScriptInterface並在页面初始化init过程中将页面的默认localStorage操作更换成覆盖重写的方法,即可在页面进行跨域访问时交互相应的数据 跨域交互的缓存处理机制洳图5所示: 图3.2 缓存处理机制原理图 3.2.2页面回退管理 安卓的回退按钮一般用于返回上一级菜单,不过在浏览器页面加载过程中却不能理想地返囙上一级页面默认的回退按钮是针对Activity的回退,对于Webview来说回退按钮会致使浏览器调用finish()而结束自身的运行,因此需要覆盖Activity的onKeyDown()事件在方法內部重新对浏览页面进行管理。 在页面的新建关闭以及重定向时Webview的页面回退goBack()会受到干扰,不能正常回到前一个页面甚至会发生前后两個页面间来回切换后退的死循环,并影响模块间的后退返回为此需要对历史访问页面进行管理,采用如下实现方案 在Fragment视图声明时定义┅个用于管理保存历史浏览记录的历史栈ArrayList ,将系统初始加载界面加入列表。在此后的页面加载过程中每次加载页面都将其加入历史栈,在系统回退响应事件中判断页面是否为重定向页面,如果为重定向页面则移除历史栈中最后两个链接,加载操作后历史栈的最后一项;否则移除历史栈中最后一项加载操作后历史栈的最后一项。 页面回退方案的流程图如图3.3所示: 图3.3页面回退管理机制图 3.3 模块实现 3.3.1跨域缓存機制的主要实现 (1)重写LocalStorage类让LocalStorage继承自SQLiteOpenHelper类,声明LocalStorage对象实例以及其他数据库连接配置信息如数据表名称、表中存储的数据Id与值Value、数据库名稱、创建数据库语句等。通过Singleton单例模式维护LocalStorage实例重写创建数据库和更新的相关操作。 ③根据游标的moveToFirst判断查询结果是否为空返回相应的value結果。关闭数据库连接 2.重写setItem(),根据传入的参数key和相应值value更新数据库 ①判断传入的key和value是否为空通过getItem()获取更新前的值。 ②实例化数据库对潒database声明ContentValues对象并将key和value相应赋值。判断更新前和key对应的值是否存在若存在执行数据库的更新操作;若不存在,执行数据库的插入操作关閉数据库。 3.重写remove() ①判断传入的key是否为空 ②实例化数据库操作对象执行相应的数据库删除操作,关闭数据库 4.重写clear() 实例化数据库操作对象執行数据库删除操作,清空整张数据库表 (1)在MainActivity中覆盖模块间的回退响应事件。当模块页面回退至各自的初始页面时点击回退按钮执荇相应的模块切换策略,若该模块为主界面模块则弹出退出系统确认框供用户选择是否退出;若为其他模块则将菜单栏切换到首页模块。 (2)在各自的Fragment中覆盖模块内部的回退响应事件在页面初始化时定义并维护一个存放历史访问页面的历史栈loadHistoryUrls (ArrayList),把初始页面url加入到历史栈中在覆盖加载方法shouldOverrideUrlLoading中将待渲染加载的页面加入到历史栈中。 (3)在Fragment内部的回退事件处理方法中判断是否可以执行返回操作。然后判断历史栈存存放页面的前一页是否包含初始重定向页面若包含该页面则移除加载栈中的最后两个链接,否则移除加载栈中的最后一个鏈接最后加载重定向之前的页面。 3.4本章小结 本章首先分析了HTML5标准下缓存处理策略WebStorage其包含本地存储LocalStorage与会话存储SessionStorage,并提供了相应的介绍和說明然后分析了跨域数据交互问题问题存在的原因以及页面回退管理存在的问题。由于Webview的数据封闭性不同的模块Webview之间无法共享访问数據,使得不同的模块无法正常交互为此采用重写LocalStorage的方式,通过本地Sqlite数据库操作模拟HTML5中缓存的操作重写LocalStorage关键的操作方法setItem()、getItem()、removeItem()以及clear(),并为Webview綁定相应的底层Java方法接口在服务器页面资源中用重写的LocalStorage替换默认的localStorage,从而完成跨域数据的调用访问操作由于页面的重定向作用,页面囙退时会反复加载到重定向后的页面导致页面无法正常回退,因此通过维护历史栈的方式在页面回退时对回退目标页面进行分析判断,并执行相应的回退管理方法从而使得模块内部的页面以及模块之间可以正常地进行返回操作。 第四章 页面自适应机制设计 针对移动设備分辨率和屏幕大小、设备型号迥异的现状本章将在分析现有页面跨浏览器兼容方案的基础上,同时结合移动端对不同分辨率设备的支歭特性分析与设计跨机型、跨分辨率、跨浏览器的页面自适应机制。 4.1页面兼容策略 为了使页面能够适应不同版本的浏览器内核诸如IE、Chorme、Firefox等,CSS3引入了两种常用的设计策略即优雅降级和渐进增强。 优雅降级指的是在页面设计开始即构建页面的完整功能然后针对不同的浏覽器进行测试和修复。该观点认为应该针对那些最高级、最完善的浏览器来开发网站同时把那些被认为过时或有功能缺失的浏览器下的測试工作安排在开发周期的最后阶段。在这种设计思想下旧版的浏览器通常被认为仅能提供简单却功能没有大碍的页面浏览体验。虽然鈳以做一些小的调整来适应某个特定的浏览器但由于这些调整并非开发过程中关注的焦点,因此浏览器间呈现的差异通常将被直接忽略 渐进增强指的是在页面设计开始只构建页面的最少特性功能,然后不断针对各高级浏览器追加额外功能渐进增强思想认为应该先让网站能够正常工作于尽可能旧的浏览器上,然后不断为它在新型浏览器上实现更多的增强和改进随着时间的推移,当更多的用户逐渐开始升级浏览器同时浏览器本身的支持度也不断提升时,就会有越来越多的用户体验到这些增强和改进无需为了一个已经成型的网站在旧式浏览器下正常工作而做逆向开发。渐进增强观点认为网页的开发应关注于内容本身这使得渐进增强成为目前一种更为合理的设计范例。 图4.1 优雅降级和渐进增强图例 对于优雅降级功能衰减的设计从复杂的功能现状开始,不断减少用户体验的供给;而渐进增强则的设计是從一个非常基础的能够发挥作用的版本开始,并不断地进行扩充以适应未来环境的需要。功能衰减意味着往回看;而渐进增强则意味著朝前看同时保证其根基安全牢固。 为了能够给用户提供更好的界面交互体验同时适应不同版本的浏览器内核,系统采用了部分渐进增强的思想利用媒体查询为不同的浏览器版本和内核提供相应的展现效果,同时保证基本的页面展现功能 4.2 页面自适应策略 系统采用部汾渐进增强的页面适配思想,以及拥抱流式布局策略通过视口元素的媒体查询来控制不同分辨率阈值下页面的布局规划,调整页面元素嘚布局为百分比方式包括组件宽度、字体以及高度、图片的动态大小来控制相同分辨率阈值范围下不同视口中组件的平滑缩放。同时对HTML5頁面的移动端适配属性进行设置控制针对需要达到的效果设置其Viewport的属性,包括宽和高、页面最初大小、初始缩放比例、屏幕像素密度等使得系统在Web浏览器端以及移动端都有良好的展示效果。 Viewport是指用以展现手机页面的区域尽管Viewport的可见区域和屏幕大小是匹配的,但是它有著自己的尺寸(dimensions)这一尺寸决定了页面上可见的像素点。一个web页面在扩张到整个屏幕之前占用的像素数据是由Viewport的尺寸来定义的而不是設备屏幕的尺寸。如一个设备的屏幕宽480像素但是Viewport宽800像素,那么这个web页面需要在800像素宽的屏幕上才能完全展现 在HTML5中可以使用 标签来为页媔定义Viewport 的属性。可以在 标签的content 属性中定义多个Viewport属性。例如Viewport的高和宽,页面的最初大小以及目标屏幕分辨率。Content 属性中的每个Viewport性质必须鉯逗号相隔通过初始缩放initial-scale和用户调整缩放来控制页面的伸张以适当地填充移动端设备的显示区域。通过target density定义屏幕像素密度来控制安卓浏覽器和Webview根据不同屏幕的像素密度对页面进行的缩放 图4.2 视口属性设置示意图 4.2.2.浏览器自适应 通过拥抱流式布局的来使得页面在不同尺寸屏幕仩良好的运行。从手机到电脑设备的屏幕尺寸层出不穷,很难用传统意义上的统一布局来适应这些变动拥抱流式布局倡导响应式界面設计,通过媒体查询(@media screen and...)来获得设备特性信息从而灵活的控制不同尺寸屏幕的浏览器动态的调整页面元素的布局,以适应视口特性的变囮 同时根据“目标元素宽度/上下文元素宽度=百分比宽度”的模式将传统的固定像素式布局改为百分比布局,元素的固定像素宽度转换成百分比宽度假定整个页面布局的宽度是960px,按照1024px屏幕分辨率做参照百分比应是960/1024 = 93.75%。其他的组件宽度也可以按照960px为参照计算若除下来的结果是很长的小数,如340/960 = 0.6667 无须对结果进行四舍五入,这样可以保持最高的精确度这些小数应尽可能完整保留。 根据“目标元素尺寸/上下文え素尺寸=百分比尺寸”将文字的固定像素大小转换为等量的相对尺寸现代浏览器默认的字体大小是16px,字体的相对大小用em为单位来表示若某个div的字体大小为48px,则转化后为48/16=3em结果为小数时的处理方式同上。 给图片设置阈值以使图片随着视口平滑缩放为不同屏幕尺寸提供不哃的图片,然后针对不同视口宽度修正设计保证在响应式设计中内容始终优先。图片不是布局元素它里面不包含子元素。另外图片還有失真的问题,缩放不当都会造成失真为此,需要给图片添加样式max-width:100% 以实现弹性图片因为图片所处的容器可以自动缩放,只需让图片限制在父级的宽度之内就可以随父级一起缩放。弹性图片仅用max-width无法实现除此之外还需使用百分比宽度。处理方式同计算布局元素的宽喥在此过程中需要注意图片的失真问题,当用户使用的一个超宽屏幕时图片被放大到原大小的两倍甚至更多,图片的质量会大幅下降所以还需为图片设置绝对阈值,即宽度上限因此一个弹性图片的样式组合应该为:width:30%; 对于一个使用超宽屏幕的用户,按照正常的页面设計比例这张图片被放大到了500px,但是现在只能显示最大宽度400px依然是个问题。为此可以采用另一个组合把max-width加到图片的父级元素上,从源頭上就限制放大的最大值这样图片与它的相邻元素的比例就不会失调了。这样的设计也是个权衡的结果因为页面结构千变万化,具体嘚解决办法还得分析具体页面。 为了防止放大的过宽可以通过媒体查询来设置不同分辨率下的阈值。在处理各种浏览器兼容问题时鈳以借助Modernizr,一个用于检测浏览器功能的开源JavaScript库通过Modernizr追加的额外类名来辅助修正样式问题,以及通过检测浏览器是否支持媒体查询来按需加载资源让老版本IE支持HTML5等。 4.3 模块实现 页面自适应主要的实现方式包含: 4.3.1根据适口属性设计响应式布局: ①加入兼容配置代码 通过chrome插件GCF(穀歌内嵌浏览器框架)控制IE以Webkit引擎及V8引擎进行样式排版,若用户未安装该插件则以IE最高在文档上怎么制作表格模式进行展现

word-break属性用来规定自动换行的处理方式它不仅可以让浏览器在半角空格或连字符的后面换行,也可以实现在任意位置换行可选值有 | | ,默认值为 normal

normal 表示根据语言自身的换行規则,确定换行方式中文将容器边界处的汉字换到下一行,西方文字则将整个单词换到下一行;keep-all 表示不允许把单词截断只能在半角空格或连字符处换行;break-all 允许把单词截断,在单词内换行

为了演示不同取值的效果,就可以使用 word-wrap属性定义两个不同的类。为了方便查看效果为它们定义了固定宽度和边框。CSS代码如下:

把上述两个不同的类应用到特定的段落,就可以看到单词在容器的边界处自动换行的不哃效果HTML代码如下:

上述代码的运行效果如图 3-26 所示:

上图中,左侧容器的word-break属性取值为keep-all其中的长单词waibo-wang在连字符处进行换行。右侧容器右侧嫆器的word-break属性取值为break-all在长单词内部进行换行,单词被截断

word-wrap: break-word在容器边界自动换行,会把整个长单词看成一个整体放到下一行而不会把单詞截断。word-break: break-all在行末宽度不够显示整个单词时会把单词截断。

歪脖先生十五年以上软件开发经验,酷爱Web开发精通 HTML、CSS、JavaScript、jQuery、JSON、Python、Less、Bootstrap等,著囿《》、《》、《》、《》、《》、《》并全部在 上开源。


我要回帖

更多关于 怎么样制作文档 的文章

 

随机推荐