打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
iOS开发学习笔记 -- (一)hybrid app
http://blog.csdn.net/inte_sleeper/article/details/8633608
最近开始看iOS开发,看了个把星期,写几篇笔记。顺序有点乱,想到什么写什么好了。
因为上周刚刚参加了一个hybrid app开发的培训,感觉Hybrid app开发是一个比较好的方式,可以充分利用web页面布局的特性(当然,还重用了web开发的知识),避免写纯native app UI的痛苦。而目前纯HTML5的开发,虽然也有相关的应用,但是有时又损失了hybrid方式的灵活性。
当然hybrid app也有它自己的问题需要解决,如加载空白、服务器端错误处理、缓存等,不同的公司一般都会基于这些问题提供一个底层的通用包,以方便在此基础上进行开发,比如:http://windvane.m.taobao.com/windvane.htm#svninfo
下面是一个最简单的Hybrid app demo:
1. 使用Xcode,新建一个项目,在项目类型中,选“Single View Application”。名字随便起,比如叫HelloHybridApp。
2. 完成之后,我们就看到项目中有下列文件:
-AppDelegate.h
-AppDelegate.m
-MainStoryboard.storyboard
-ViewController.h
-ViewController.m
+Supporting Files
-HelloHybridApp-info.plist
-InfoPlist.strings
-main.m
...
iOS中访问网页,是通过UIWebView控件实现的。因此我们需要使用interface builder,拖入一个UIWebView控件。
然后在Connections Inspector中创建控件与变量的connection。
也就是说在ViewController.h中,变成了这样:
[plain] view plaincopy
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@property (weak, nonatomic) IBOutlet UIWebView *webView;
@end
接下来,我们需要程序在打开的时候,能够加载一个网页。这有两种方式:本地离线网页和在线网页。下面分别会就这两种情况来示例。1. 本地离线网页
我们需要添加一个离线的网页,在Supporting Files中添加一个index.html,内容如下:
[html] view plaincopy
<!DOCTYPE html>
<html>
<head>
<title>Hello, Hybrid App</title>
</head>
<body>
Hello, world!
</body>
</html>
然后在ViewController.m的viewDidLoad方法中,添加如下代码:[plain] view plaincopy
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *path = [[NSBundle mainBundle] pathForResource:@"index.html" ofType:nil];
[self.webView loadRequest: [NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]]];
}
然后点击运行,就会看到屏幕上出现了"Hello, world!“了。
2. 在线网页
这种方式,需要在服务器端部署一个页面,这里我们就不用这么复杂了,直接打开百度就可以了。
同样修改ViewController.m的viewDidLoad方法代码:
[plain] view plaincopy
- (void)viewDidLoad
{
[super viewDidLoad];
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];
}
这样就是一个简单的hybrid app啦(噢,为了简单,把其他的导航控件都省掉了,一种比较通用的hybrid app是:上方或下方是导航,使用native方式,内容区使用HTML5,比如网易新闻客户端:http://www.mhtml5.com/2011/07/2200.html)。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
IOS UIwebView加载本地文件(支持显示图片)
IOS学习笔记(16)网络请求,json解析
iOS开发网络数据之AFNetworking使用
iOS开发之缓存(一):内存缓存
iOS开发中的网络请求
iOS开发网络篇
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服