×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
暂无评论
图文详情
  • ISBN:9787302509011
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:其他
  • 页数:242
  • 出版时间:2017-03-01
  • 条形码:9787302509011 ; 978-7-302-50901-1

本书特色

本书重点讲解Android系统功能模块涉及的主要知识点,并通过技能扩展讲解常用的实用技能。本书的项目原型是公司电子商务的基础版本,有助于读者了解一个真实项目的整个开发流程。

内容简介

本书基于Apple很新发布的iOS 7编写。书中循序渐进地介绍了iOS项目开发的一般步骤和基础知识,主要内容包括设计及美化用户界面,用Interface Builder构建视图,切换和弹出框,用导航控制器导航页面,用表视图结构化数据,读写和显示数据以及地图和定位功能等。 本书通过简洁的语言和详细的步骤,帮助读者迅速掌握开发iOS应用程序所需的基本知识,适合有一定编程经验的读者阅读。本书可作为高等学校教材,也可供从事iOS开发的人员参考。

目录


目录Contents第1章iOS应用开发概述1

1.1iOS应用开发的历史与现状1

1.2iOS应用的基本架构2

1.2.1可触摸层2

1.2.2媒体层3

1.2.3核心服务层4

1.2.4核心操作系统层5

1.3iOS应用开发的特点5

1.4iOS开发工具简介6

1.5创建并运行**个iOS应用9

1.6基础知识与技能回顾11

练习11

第2章为开发做好准备12

2.1客户端的准备12

2.2服务端的准备12

2.2.1Web Services的搭建12

2.2.2DB Server的搭建14

2.3几个**的基础技能25

2.4基础知识与技能回顾26

练习26

第3章MyDemo项目介绍27

3.1项目背景27

3.2项目需求分析27

3.3项目用例分析27

3.4项目数据库分析28◆iOS项目开发教程目录3.5基础知识与技能回顾29

练习29

第4章用户注册30

4.1用户注册总体设计30

4.1.1流程图30

4.1.2时序图30

4.2数据库的准备31

4.3服务端接口的准备32

4.4用户注册的实现32

4.4.1客户端代码开发32

4.4.2客户端与服务端交互64

4.5用户注册的调试71

4.6让用户免去注册的烦恼73

4.7基础知识与技能回顾73

练习73

第5章用户登录74

5.1用户登录总体设计74

5.1.1流程图74

5.1.2时序图75

5.2服务端接口的准备75

5.3用户登录的实现75

5.3.1客户端代码开发76

5.3.2客户端与服务端交互82

5.4用户登录的调试84

5.5使用第三方账号登录86

5.5.1什么是第三方账号86

5.5.2第三方账号登录方式86

5.5.3使用第三方账号登录86

5.6基础知识与技能回顾95

练习95

第6章向用户展示内容96

6.1数据库的准备96

6.2服务端接口的准备97

6.3实现内容展示静态页面98

6.3.1图文列表展示98

6.3.2详情内容展示115

6.3.3客户端与服务端交互121

6.4图片的处理与效果实现131

6.4.1图片添加手势131

6.4.2分页与翻页133

6.5基础知识与技能回顾138

练习138

第7章支持用户基于LBS的应用139

7.1用户定位139

7.1.1LBS与常见第三方地图139

7.1.2在地图上找到自己140

7.2摇一摇144

7.2.1客户端代码开发145

7.2.2客户端与服务端交互149

7.3基础知识与技能回顾151

练习152

第8章让用户搜索153

8.1服务端接口的准备153

8.2常用搜索方式与应用开发154

8.2.1客户端代码开发154

8.2.2客户端与服务端交互162

8.3基础知识与技能回顾163

练习163

第9章与用户互动164

9.1数据库的准备164

9.2服务端接口的准备165

9.3让用户参与评价166

9.3.1客户端代码开发167

9.3.2客户端与服务端交互178

9.4让用户分享187

9.4.1什么是分享187

9.4.2让用户将内容分享到社交平台187

9.5给用户推送消息191

9.5.1推送原理192

9.5.2第三方推送介绍192

9.5.3集成第三方推送193

9.6基础知识与技能回顾202

练习203

第10章添加商户信息204

10.1服务端接口的准备204

10.2添加商户信息的实现205

10.2.1客户端代码开发205

10.2.2客户端与服务端交互211

10.3基础知识与技能回顾213

练习213

第11章让用户的使用体验更佳214

11.1用户网络环境214

11.2用户手机环境216

11.3基础知识与技能回顾218

练习218

第12章发布和管理iOS应用219

12.1发布iOS应用219

12.1.1申请发布证书219

12.1.2发布应用到App Store224

12.2版本管理229

12.3让用户升级232

12.4基础知识与技能回顾235

练习235

第13章HTML 5236

13.1什么是HTML 5236

13.2用HTML 5实现内容展示236

13.3基础知识与技能回顾242

练习242

参考文献243


展开全部

节选

···························································· 第5章chapter5 第5章用 户 登 录用户登录功能分为系统登录和第三方账号登录两部分。 在系统登录部分,从界面布局、控件关联、服务端交互等方面介绍系统登录功能开发的完整过程。 在第三方账号登录部分,介绍目前主流的第三方登录方式和以QQ账号登录为案例的具体实现过程。 5.1用户登录总体设计 用户登录时要求用户输入用户名、密码。用户单击登录按钮后,系统将用户账户和密码提交到后台。后台验证如果通过,则登录成功,否则登录失败。 第三方账号登录时要求用户输入第三方账号,如果验证通过,则登录成功,否则登录失败。 5.1.1流程图 用户登录流程如图5.1所示。 图5.1用户登录流程 5.1.2时序图 用户登录的时序过程如图5.2所示。 图5.2用户登录的时序过程 5.2服务端接口的准备 ◆iOS项目开发教程第◆5章用户登录本节将用到登录接口,下面给出其详细信息。 接口地址: http://localhost:8080/meServer/user.php? 调用方式: Post 返回数据格式: Json 登录接口请求参数及说明如表5.1所示。 登录接口返回字段及说明如表5.2所示。 表5.1登录接口请求参数请求参数必选类 型说 明actYstringloginusernameYstring用户名passwordYstring密码 表5.2登录接口返回字段返回字段字段类型字段说明flagstring0: 失败,1: 成功msgstring信息说明5.3用户登录的实现 本节首先介绍用XIB布局界面并与所属类进行代码关联。与纯代码布局相比,XIB布局的*大好处是大量减少了代码量,降低了布局难度,方便初学者快速掌握。然后介绍客户端与服务端的交互,让服务端验证用户提交信息。 图5.3用户登录界面 用户登录界面如图5.3所示。 5.3.1客户端代码开发〖*2〗1. 创建登录页面(1) 打开第4章已完成的项目,单击Sections文件夹,按下command+N,添加ObjectiveC class,如图5.4所示。 图5.4添加ObjectiveC class (2) 在Class中输入LoginViewController,在Subclass of中输入FatherViewController,勾选Also create XIB file,如图5.5所示。 2. 绘制登录页面界面 (1) 选择存储目录后,单击导航区下的LoginViewController.xib,拖放两个UILabel、两个UITextField、一个UIImageView、一个UIButton到界面并调整位置,整体效果如图5.6所示。 (2) 设置两个UILabel属性,如图5.7所示。 (3) 设置两个UITextField属性,如图5.8所示。 (4) 设置UIButton属性,如图5.9所示。图5.5创建LoginViewController 图5.6整体效果 图5.7UILabel属性 图5.8UITextField属性 图5.9UIButton属性 3. 关联控件 (1) 分别右击两个UITextField控件,关联New Referencing OutLet到LoginViewController.h中。将**个控件命名为username,第二个控件命名为password,如图5.10所示。 图5.10关联属性 (2) 右击UIButton控件,关联其Touch Up Inside事件到LoginViewController.h中,Name为registChick,如图5.11所示。 图5.11关联事件 (3) *终效果如图5.12所示。 图5.12*终效果 4. 设置登录页面为启动页面 (1) 单击AppDelegate.m,引入头文件LoginViewController.h,并删除RegisterView Controller.h,如图5.13所示。 图5.13引入头文件 这里将登录页面设置为window的rootViewController,因此不再需要RegisterView Controller.h,将其删除掉。 (2) 重写application:didFinishLaunchingWithOptions:方法,代码如下: -(BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions { self.window=\[\[UIWindow alloc\] initWithFrame:\[\[UIScreen mainScreen\] bounds\]\]; LoginViewController vc=\[\[LoginViewController alloc\]initWithNibName:@"LoginViewController" bundle:nil\]; UINavigationController nav=\[\[UINavigationController alloc\]initWithRootViewController:vc\]; self.window.rootViewController=nav; self.window.backgroundColor=\[UIColor whiteColor\]; \[self.window makeKeyAndVisible\]; return YES; } 5. 连接登录页面与注册页面 (1) 单击LoginViewController.m,引入头文件RegisterController.h,如图5.14所示。 图5.14引入头文件 (2) 重写viewDidLoad方法,添加代码如下: -(void)viewDidLoad { \[super viewDidLoad\]; self.title=@"登录"; UIBarButtonItem rightBar=\[\[UIBarButtonItem alloc\]initWithTitle:@"注册" style:UIBarButtonItemStyleBordered target:self action:@selector(goRegist)\]; self.navigationItem.rightBarButtonItem=rightBar; } -(void)goRegist{ RegisterViewController vc=\[\[RegisterViewController alloc\]initWithNi-bName:@"RegisterViewController" bundle:nil\]; \[self.navigationController pushViewController:vc animated:YES\]; } 代码解析: 在viewDidLoad方法中创建右上角的“注册”按钮,单击后跳转到注册页面。 pushViewController:animated方法将视图控制器推入栈顶。 UINavigationController通过栈来实现。添加一个Controller为入栈,释放一个Controller为出栈。 注意:  栈是先进后出。  栈顶是*后一个入栈的对象。  基栈是**个入栈的对象(栈底)。 (3) 单击RegisterViewController.m,找到viewDidLoad方法,添加代码如下: -(void)viewDidLoad { \[super viewDidLoad\]; self.title=@"注册"; \[self createLeftBtnWithFrame:CGRectMake(0, 0, 24, 24) Image:\[UIImage imageNamed:@"backButtonNormal"\]\]; } -(void)leftBarChick{ \[self.navigationController popViewControllerAnimated:YES\]; } 代码解析: 重写父类createLeftBtnWithFrame: Image: 方法,创建左上角的自定义按钮。单击按钮后回到登录页面。用户单击按钮后,NavigationController进行出栈操作,弹出注册页面。 另外,NavigationController还有两个出栈方法:  popToRootViewControllerAnimated:方法: 是否退到栈顶。  popToViewController:animated:方法: 退到指定的viewController。 5.3.2客户端与服务端交互 (1) 单击LoginViewController.m,引入头文件AFHelper,如图5.15所示。 图5.15导入头文件 (2) 重写loginChick:方法,代码如下: -(IBAction)loginChick:(id)sender { if(self.username.text.length UIAlertView alert=\[\[UIAlertView alloc\]initWithTitle:@"提示" message:@"请完整输入" delegate:nil cancelButtonTitle:@"好的" otherButto-nTitles:nil, nil\]; \[alert show\]; } else{ NSDictionary dic=@{@"act":@"login",@"username":_username.text,@"password":_password.text}; \[AFHelper downDataWithDictionary:dic andBaseURLStr:@"http://localhost: 8080/meServer/" andPostPath:@"user.php?" success:^(NSDictionary dic){ if(\[dic\[@"flag"\]intValue\]==1){ NSLog(@"登录成功"); \[USER_DEFAULT setBool:YES forKey:@"isLogin"\]; \[USER_DEFAULT setObject:_username.text forKey:@"username"\]; \[USER_DEFAULT synchronize\]; }else{ UIAlertView alert=\[\[UIAlertView alloc\]initWithTitle:@"提示" message:dic\[@"msg"\] delegate:nil cancelButtonTitle:@"好的" otherButtonTitles:nil, nil\]; \[alert show\]; } }\]; } } 代码解析: 上面代码中,程序先判断用户是否完整输入。如果没有完整输入,则提示“请完整输入”,否则提交用户输入的用户名和密码给服务端验证。服务端如验证成功,则在Debug区打印“登录成功”。服务端若验证不成功,则弹出对话框,告知用户错误信息。 登录成功后,程序用NSUserDefaults来保存用户登录状态和用户名。 NSUserDefaults进行用户轻量级的数据持久化,主要用于保存用户程序的配置等信息,以便下次启动应用程序后能恢复上次的设置。该数据实际上是以“键值对”形式保存的(类似于NSDictionary),因此需要通过key来读取或者保存数据(value)。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航