网站首页  词典首页

请输入您要查询的论文:

 

标题 基于iOS即时通讯的设计与实现
范文

    周翠红

    摘要:基于iOS平台即时通讯的设计与实现采用Obj-C语言,在iOS平台开发而成。采用的是iOSXMPPframework框架,开始时间更短,成本更低。为了更好的改善用户体验,本机设计了方便操作,便于用户使用的界面,能给用户在使用过程中带来舒适的感受。该APP可以进去用户的注册和登陆,以及判断该用户是否已注册。可以让用户进行好友的添加,删除,聊天等序列操作。

    关键词:iOS;Objective-C;即时通讯;XMPPframework

    中图分类号:TP315 文献标识码:A 文章编号:1009-3044(2016)30-0011-02

    1 引言

    在如今的信息化时代,人与人之间的沟通显得尤为的重要,只有不断地与人沟通,才能使不断的发展自己,了解自己,丰富自己,提高知识水平,扩大的自己的朋友圈。原有的网络社交环境受到时间,设备,位置等许多因素的限制,已经不能满足人们随时随地沟通的需求。而智能终端和4G网络的发展,逐渐的让移动互联网成为人们交流与沟通的首选平台[1]。新形式的移动网络不仅仅可以提高沟通效率,还改善了网络环境,扩展了新的沟通形式。正是这样提高了中国在全球一定社交网络服务上的技术形象,并且在移动领域占据主导和领先地位具有重要意义[2]。腾讯自主开发了OICQ,由于当年大部分国内用户访问ICQ比较困难。OICQ在设计,稳定性,易用性和本能满足了很多国内网络用户的需要。ICQ的迅猛发展也让在桌面软件领域独步风骚的Microsoft和当时的互联网领头羊Yahoo嗅到了商机,它们当时分别推出了Yahoo Messenger、MSN Messenger和曇花一现的MS Chat。即时通讯市场的雏形开始展现出来,因为有了世界级软件公司和国际互联网大哥的加入,从此拉开了IM时代的大幕。

    2 系统具体设计

    基于iOS的即时通讯,主要有六个功能模块,包括用户登录、用户注册、用户聊天、查看用户好友信息、视频观看、用户个人信息查看与修改。为用户提供比较友好的人机交互的界面,方便用户与好友随时随地进行聊天。并且发现模块的精选视频让用户在休息之余,可以选择自己喜欢类型的视频观看。丰富了用户的休息时间的生活。

    2.1 系统流程

    该APP的开发是在OSX系统下,使用Xcode7.2为开发工具,openfire作为APP的服务器,MySql作为服务器的数据库。

    整个箱项目的开发包括项目框架的搭建,服务器的配置,数据库的建立,以及前端界面的设计与实现,用户登陆与注册采用coredata存取用户数据,前端的界面设计是采用iOS的框架里面的控件进行设计。整个项目有四个主要的界面,四个主界面里有不同的界面来完善功能。该App为用户提供比较友好聊天界面,方便用户与好友进行聊天,并且观看自己喜欢类型的视频。通过结合相关的软件和及相关的书籍以及老师的指导来完成该App的开发。用户注册成功账号和密码之后可进入系统,主要功能模块如下:

    2.2详细设计与实现

    如图2为登陆界面是模仿微信的登陆界面。其中设置有两个textfiled输入框和两个button按钮,其中的登陆按钮使用了一个定时器来实时监听两个输入框,判断账号密码是否已经输入,如果没有输入账号密码,按钮为灰色,并且不能点击。输入之后登陆按钮为绿色,可以点击。两个textfiled分别设置他们的属性placehold为QQ号/微信号/手机号和密码。

    登录界面实现的主要代码:

    [MBProgressHUD showMessage:@"正在登录..."];

    //将两个输入框里的值分别给enterUser,enterPassword属性

    [JZQAcount defaultAcount].enterUser = self.textField.text;

    [JZQAcount defaultAcount].enterPassword = self.textField1.text;

    [[JZQXMPPTool sharedJZQXMPPTool] xmppEnter:^(XMPPEnterType result) {

    dispatch_async(dispatch_get_main_queue(), ^{

    [MBProgressHUD hideHUD];

    if (result) {

    NSLog(@"%s 登录成功",__func__);

    JZQTabbarViewController * tab = [[JZQTabbarViewController alloc]init];

    //将根视图设置为自定义的tabbarcontroller

    [UIApplication sharedApplication].keyWindow.rootViewController =tab;

    [JZQAcount defaultAcount].enter = YES; //保存账号密码

    [[JZQAcount defaultAcount] save];

    }else

    { [MBProgressHUD showError:@"帐号或密码错误"];

    }

    });

    }];

    3界面的设计

    界面要是由电子名片模块和头像模块结合开发出来的。电子名片模块提供用户的个人信息,将用户的个人信息保存在数据库里。而头像模块则将用户的头像保存起来。点击不同的信息,可以将对应的信息修改。其中头像模块是调用系统的相册,选取系统相册里面的图片。

    界面实现的主要代码:

    //获取用户电子名片信息

    XMPPvCardTemp * vCardTemp = [JZQXMPPTool sharedJZQXMPPTool].vCard.myvCardTemp;

    //第一组,将用户的头像,名字,登陆账号保存在模型里

    MeModel * d = [MeModel meWithIcon:[UIImage imageWithData:vCardTemp.photo] name:vCardTemp.nickname number:@"mingzibei" vcClass:[BenrenViewController class]];

    NSArray * array = @[d];

    //第二组,

    MeModel * d1 = [MeModel meWithIcon:[UIImage imageNamed:@"MoreMyAlbum"] name:@"相册" vcClass:[PhotoViewController class]];

    MeModel * d2 = [MeModel meWithIcon:[UIImage imageNamed:@"MoreMyFavorites"] name:@"收藏" vcClass:[CollotViewController class]];

    MeModel * d3 = [MeModel meWithIcon:[UIImage imageNamed:@"MoreMyBankCard"]name:@"钱包" vcClass:[MoneyViewController class]];

    NSArray * array1 = @[d1,d2,d3];

    MeModel * d4 = [MeModel meWithIcon:[UIImage imageNamed:@"MoreExpressionShops"] name:@"表情" vcClass:[ExpressionViewController class]];

    NSArray * array2 = @[d4];

    //

    MeModel * d5 = [MeModel meWithIcon:[UIImage imageNamed:@"MoreSetting"] name:@"设置" vcClass:[SettingViewController class]];

    NSArray * array3 = @[d5];

    //用一个数组包含其他数据模型的数组

    self.arr = @[array,array1,array2,array3];

    4 结束语

    此次开发的项目是一个基于iOS平台的手机APP,使用openfire作为本地服务器,MySql为服务器数据库,以Xcode作为开发工具,在OSX系统下开发。该App界面是模仿微信开发出来的。素材也是通过抓包的方式获取,此外的发现界面我添加了视频功能,数据是从网上的接口获取来的,界面的搭建也尽可能地做到最好,其中动画的实现让我挺满意的,可以给予用户视觉的享受。

    参考文献:

    [1] 达尔林普尔,纳斯特.Objective-C基础教程[M].北京:人民邮电出版社,2009:231-255.

    [2] 沃伦.iOS应用开发[M].北京:人民邮电出版社,2014:132-142.

    [3] 熊斌.iOS开发从入门到精通[M].北京:希望电子出版社,2012:58-77.

    [4] 姜承尧.MySQL技术内幕:SQL编程[M].北京:机械工业出版社,2012:46-67.

    [5] 杜江.PHP5与MySQL5 Web开发技术详解[M].北京:电子工业出版社,2007:41-55.

    [6] 王石,杨英娜.精通PHP+MySQL应用开发[M].北京:人民邮电出版社,2006:12-23.

    [7] 贾素来.常见动态网页技术比較[J].大众科技,2008(9).

    [8] 张绪旺.互联网创新加速服务贸易增长[N].北京商报,2012,5,31.

    [9] Luke Welling.PHP and MySQL Web Development(原书第四版)[M].北京:机械工业出版社,2009:88-90.

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/3/22 15:16:18