手机短信平台聊天程序
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
1 引言
1.1 课题背景
移动智能设备,智能信息管理,多媒体信息交流正成为未来移动通信发展的方向和通信技术进步的潮流。无线移动设备结合了手机通信和PDA功能更成为现代移动设备的发展方向。这种发展方向意味着无线通信业和IT行业正在进入融合和相互的创新。一种整合了手机通信平台和PDA平台的代表现在潮流的移动电话正在普及和发展。人们将这种融合的产品统称为智能手持设备(Smart Handheld Device,简写为SHD)也称为掌上智能手机。更多时候SHD被赋予一个更为大家了解和接受的名字Smart Phone(智能电话)。智能手机包括娱乐和商务两大功能,特别是其商务功能。智能移动信息终端提供了先进的集个人通信,个人信息管理,互联网接入等一体化功能。其中Symbian,Windows CE,Plam,Linux是智能手机的四大操作系统,我们目前最常使用的Windows CE主要分为Pocket PC和Smart Phone系列两种。通常Pocket PC并不是单一的手机操作系统,但是可以通过改造和整合后,可用与多款手机如大显CU9288,多普达M700,厦新M696。
在提到智能手机的操作系统,就不得不涉及到智能手机的开发平台。目前,智能手机的开发平台主要有JAVA,BREW和.NET。其中.NET框架是一个用于生成,部署,运行XML Web服务及其他应用程序的环境。它包含三个主要部分:公共语言运行库,框架类和ASP.NET。在.NET中有一套编程接口,用于开发者对智能手机和PDA的开发。.NET技术是为人所用,并不是强制个人适应起计算机的限制。利用.NET,无论什么时候,什么地方都能对你设备上的信息进行管理,对远程的数据进行访问。 think58 [来源:http://think58.com]
1.2 国内外研究现状
通过对文献和资料的整理查阅,国内对Pocket PC的研究和实践正是起步时期,但成绩较为显著。很多国内智能手机开发商都在利用相关技术对该系统进行开发并将此运用到实践和商业环境中。在国外已经发展的相当成熟,也将此技术更多的使用在3G通信中,更能体现出智能手机的人性化,智能话,开放化。
1.3 本课题研究意义
智能手机除了具备PDA的大部分功能外,其中最关键的功能还在于自身的通信能力,特别是现在短信息成为一种成熟的通信机制的环境下,就显的更为引人关注(文字短信,彩信)智能手机为用户提供可足够大的屏幕尺寸和带宽,可以从容的面对多媒体信息的发送和接收。融合了3C(Computer,Communication,Consumer)的智能手机必将成为未来手机发展的新方向。随着计算机及其信息技术不断成熟与发展,人们的消费需求和消费心理都发生了巨大的变化,人们已经不再一味地追求PC的大容量和高速度,而是转而设法将计算机应用于日常工作,生活和学习的方方面面,追求个性化的产品和消费。一台智能设备(Smart Device)从本质上将仍然是一台计算机,因为它具有一般计算机的典型特征,它仍然由硬件和软件组成,在智能设备内部既有CPU,存储器,系统时钟和外部接口等,也有操作系统和应用软件,和一般的通用计算机或PC相比,它更像一台专用计算机,智能设备一般都是为了特定的目的而设计的,一般具有特定的功能,因为它的速度和容量只满足设备的使用要求,远低于通常的PC。但是,智能设备种类繁多,功能和性能千变万化,所以它对软硬件的要求也就更加复杂和多样,所以智能设备不仅要求其硬件集成度高,体积小,功耗低,也要求软件稳定性高,灵活性好,实时性高等。对于智能设备的硬件来讲,CPU是其核心,CPU的功能和性能在很大程度上决定了设备的功能和性能;对于只能设备的软件来讲,操作系统是其核心,操作系统的功能和性能很大程度上决定了设备的功能和性能。
本文来自think58
[来源:http://www.think58.com]
1.4 本课题研究方法
1.4.1 开发平台Visual Studio .NET
Visual Studio .NET的Smart Device Programmability(SDP)功能(以前称作Smart Device Extensions[SDE])可以帮助开发人员利用Microsoft NET Compact Framework编写移动应用程序,从而在连接或短开外部设备的情况下启用分布式的移动计算。使用.NET Compact Framework中提供的大量类库,开发者编写程序的速度得到很大的提高,使用Visual Studio .NET2005,开发者可以在桌面系统中用到的相同工具和技术来开发Pocket PC 2003(具备相应的SDK)以及Smart Phone2003。它将安装.NET Compact Framework,这是专门为资源有限的设备设计的。开发者可以使用C#语言或者Visual Basic.NET语言来开发移动和嵌入式设备。除此之外它还能很好的应用于XML Web Service或ADO.NET的应用程序。
1.4.2 SQL Server CE 数据库
Microsoft SQL Server 2000 Windows CE Edition(SQL Server CE)2.0版是精简的数据库,Microsoft SQL Server扩展到基于Windows CE的移动设备,并将开发者的快速应用程序开发提供一个一致的编程模型。SQL Server CE不同于Windows CE操作系统本身的属性数据库,它是一个真正意义上的关系数据库,它具有强大的数据存储功能,优化查询处理器,以及可靠,可伸缩的连接能力。SQL Server CE的引擎提供了关系型数据库的基本功能。远程数据访问和合并复制,确保SQL Server 数据库中的数据不仅可以可靠的提交给用户,而且能够离线修改并在以后的时间内与服务器进行数据同步。SQL Server CE2.0还包括新的特性。 [资料来源:http://think58.com]
使用SDE处理数据与通过 eMbedded Visual Basic处理数据的差别很大。如果采用eMbedded Visual Basic,可以使用两种类型的数据库——Pocket Access和SQLCE。许多的开发者选择使用Pocket Access,因为它容易实现,而且与Microsoft Access相集成。而SDE只支持SQLCE在eMbedded Visual Basic中,你具有ADOCE。SDE提供ADO.NET。
SQL Server远程数据访问:远程数据访问(RDA)为Pocket PC应用程序提供了功能强大而简单的方法,来访问位于远程的SQL Server 2000或者SQL Server 7.0数据库中的SQL Server数据。不论Pocket PC是连续还是间歇地连接到SQL Server系统,均可使用RDA。应用程序以两种方式使用RDA:一种是应用程序提交数据操作语言(DML)语句,该语句被转交到SQL Server服务器上执行。另一种是应用程序提供返回查询结果集的SQL查询语句。查询结果集被返回给Pocket PC设备,并以数据库表的形式存储在SQL Server CE数据库里。RDA能跟踪Pocket PC应用程序所做的所有更改。RDA 使用Microsoft Internet信息服务(IIS)的身份验证,授权和加密服务。
1.4.3 C/S结构
C/S (Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端,还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件, 加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高,效率低。
本文来自think58 [资料来源:http://THINK58.com]
think58 [资料来源:www.THINK58.com]
2 系统需求分析
2.1 功能需求
综合运用所学知识开发一种基于PC机的手机短信通信系统,侧重在于模拟手机短信通信的过程。
通过在客户端输入信息能够访问本地数据库,即在本地数据库SQLCE上能查看信息;通过RDA的技术,执行PULL操作(从远程数据库服务器接受数据)和PUSH操作(向远程数据库服务器发送信息)访问远程数据库。
客户端即模拟器应用功能需求:
对数据和信息的添加,删除功能:完成对用户ID,发送和接收信息的添加,删除。对信息的发送和接收功能:完成对信息的发送和接收,访问本地数据库和远程数据库。
用户可以在Pocket PC完成和手机上同样的操作,向Pocket PC中输入接收方ID和信息,通过RDA技术将用户的信息发送到远程服务器上,同样也可以从远程服务器上接收信息。
Pocket PC上存储数据实际上是对本地数据库SQLCE的操作,通过按钮控件把相关的信息存储到本地数据库中,用户ID,信息,用户名,同样也可以删除本地数据库里的信息。
Pocket PC对远程数据库的访问需要使用RDA的同步技术,运用PULL和PUSH操作分别从远程的服务器接收数据和向远程服务器发送数据。
服务器端即SQL Server 2000数据库的功能需求:
保存和接收用户ID,用户名,信息。 think58 [资料来源:http://www.THINK58.com]
为方便开发者可以使用SQL Server查询语言,查询数据库中保存的数据,可通过使用SQL语句完成对远程数据库的操作。该功能可以方便开发者修改数据库中的数据,使远程数据库拥有更大的拓展性。通过完善远程数据库的存储能力从而达到对Pocket PC离线开发的更大功能。
内容来自think58
[版权所有:http://think58.com]
2.2 性能需求
该设计最大存储容量为用户存储容量和信息存储容量。用户存储容量中包含了用户ID(即手机号码)和姓名,其容量允许用户随时添加和删除存储信息,但用户存储容量最高为50个字符,信息存储容量为100个字符。
该设计由于是在PC机上模拟PPC通信,其运行的时间受其搭建的系统平台环境的影响(主要是开发机的硬件环境影响)。一般从程序调试运行到模拟器部署成功要花2至3分钟时间。
安全性方面由于系统平台搭建时均采用默认值,因此在使用该系统时不会存在使用过程中的保密限制。任何用户只要在系统正常情况下都可使用。
当程序运行中同时要考虑网络环境的配置。如果网络出现问题,Pocket PC可以正常访问SQLCE本地数据库,而暂时不能访问SQL Server 2000 远程数据库,信息将保存暂时保存在SQLCE本地数据库上。
在RDA访问远程数据库中是一种乐观的同步访问方式,但当发生冲突或错误的时候,需要开发者手动维护数据完整性。在此情况下可用合并复制的技术完成对设备的同步访问。
2.3 环境需求
该设计完成需要硬件环境和软件环境的支持。
(1) 硬件环境:主机上采用一般的个人PC,其硬件核心在于处理器和内存,硬盘有效空间在4G以上。
(2) 软件环境:操作系统为Windows Server 2003 ;在网络环境上另需安装IIS信息服务器;数据库为SQL Server 2000 sp4 和SQL Server 2000 Windows CE Edition 2.0(SQL Server CE),开发工具为Visual Studio.NET2005。
本文来自think58
[资料来源:THINK58.com]
2.4 用户界面需求
为使该设计可行,可靠,其界面设计要求简单,方便,且具有人性化的操作界面,系统功能可以良好的功能按钮相结合。使用Send,accept,添加,删除四个按钮控制相关的功能;TextBox 控件用来分别显示信息和用户ID,用户名。整个界面简单,醒目,且有效。
3 系统主体设计
3.1 主体设计思路
本系统主要使用SQL Server CE数据库和SQL Server 2000数据库,通过引用System.Data.SqlServerCe组件创建SqlConnection实例利用代码在Pocket PC 2003模拟器上创建本地数据库表:MsgInfo。对远程SQL Server 2000数据库的访问通过RDA技术需要System.Data.SqlClient的引用完成PULL操作和PUSH操作。
在对Pocket PC上存储数据实际上是对本地数据库的操作,通过代码在编辑环境中创建出本地数据库AccessMsg.sdf,该数据库是个精简版的SQL Server 数据库,同样是个关系型数据库,同时通过代码在SQLCE中创建表MsgInfo,表中列属性为用户ID(SendID,AcceptID)和Message,分别用来存储用户信息和发送接收的信息。
整个系统的开发除了建立数据库外,在实现功能代码上要创建一个SQLCECF的实例。使数据库能够支撑整个系统功能实现。
在Pocket PC上其界面设计思路是尽量简单,但能满足系统需求。控件上的设计简洁,明了。使模拟器和真实的手机操作界面相似,到达界面设计的需求。在发送端的模拟器上显示接收端的ID和Message,在接收端的模拟器上显示发送端的ID和同样的Message,使模拟器功能上和真实手机一致。
think58
[版权所有:http://think58.com]
在实现对远程数据库SQL Server 2000访问时主要采用RDA的同步技术。运用PULL和PUSH操作分别从远程的服务器接收数据和向远程服务器发送数据。在运用RDA时由于是一种乐观的访问方式,而没有考虑系统环境存在的冲突,当访问不成功时,数据会暂时保存在本地数据库中,其实质也是对本地数据库的操作。当系统环境通畅后再一次对数据进行PULL和PUSH操作就能访问远程数据库。
系统整体运行模式:通过一台Pocket PC向另一台Pocket PC传送信息,首先发送方将信息写入Pocket PC中即完成对发送方本地数据库的操作,在通过PUSH操作向远程数据库中发送数据,接收方再通过PULL操作从远程数据库接受数据,此时信息将保存在接收方本地数据库中,通过相应的查询操作完成对接收方本地数据库的访问。同时需要考虑此传输过程是一种乐观的传输过程。
本文来自think58 [版权所有:http://think58.com]