十分钟教你做一个电子书App

.jpeg

在移动化时代,出现了大量的电子书app,往往是拿一个架子,里面各种填充内容就拿去发行,还能获得不少下载甚至好评(我也是惊了),在app store里,随便搜一个书籍相关的词,都是以下这些结果

说实话,这类app的价值我认为基本没有,我直接在互联网上搜索不好么?或者一些其他体验好一些的垂类读书应用也不错。而且这种app经常进行内容盗版,对于文化生态的建设也有很大害处。然而,现在app生态里面就是有这样的现象,反映着我国网民的一些特点,说不得,我们作为app开发者,也只能尽所能的满足需求和对这类需求进行有益方向的引导了

其实,对于很多经典的文学著作,在目前的时代还是经常受到忽视,而18、19世纪文学兴盛的时代的作品,其版权到现在一般都已经开放了,就算没有开放,雨果、托尔斯泰这样的大文学家,如果看到其作品能够在新时代、新平台上进行传播,也不会计较什么版权问题了吧,我发起的“毕昇网络图书”项目,就是针对经典的、已经超过著作权保护期限(作者死亡后50年)的作品进行电子化和线上化,让更多的人能够接触到这些人类文化的瑰宝。

所以本文从技术的角度,简析如何快速的在移动平台(iOS、安卓)上快速制作精美的文字电子书。且希望制作者能够将这些内容以免费、无广告的非商业形式发布到线上供大家阅读。

一、使用HTML5图书框架并进行原生封装

通过原生封装Html5本地站点的方式来制作电子书app,成本极低,而现在大部分的电子书数据,本质上都是网页,因此比较推荐此方法,需要三步:

Step1 设计icon和launch-screen

推荐使用mac上的app,prepo,这个软件可以直接通过1024*1024的尺寸的大图生成所有iOS上应用想要的图标,如果你购买了prepo+付费版,还可以在实际机器上进行预览

LaunchScreen可以通过photoshop等软件制作,在此不多说

Step2 通过ViewController封装webview的方式引入html5网站

在主ViewController的load方法中加入如下代码,代码中的djz是引用的html文件所在的文件夹,注意这个文件夹需要加入到工程之中。

– (void)viewDidLoad {

    [super viewDidLoad];

    UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.frame];

    webView.delegate = self;

    self.webView = webView;

    self.webView.backgroundColor = [UIColor clearColor];

    [self.view addSubview:webView];

    NSString *htmlPath = [[NSBundle mainBundle] pathForResource:@”index” ofType:@”html” inDirectory:@”djz”];

    NSURL *htmlUrl = [NSURL fileURLWithPath:htmlPath];

    NSLog(@”%@”,htmlPath);

    NSLog(@”%@”,htmlUrl);

    [webView loadRequest:[NSURLRequest requestWithURL:htmlUrl]];

    // Do any additional setup after loading the view, typically from a nib.

}

 

Step3 如果需要使用网络内容,加入loading框架和缓存框架

如果搭载的内容有页面需要从线上加载,则需要加入一个loading的组件,以便在加载网页内容时整个节目不是一片白色而是显示正在加载。

加载这个组件,只要在pod中暗转MBProgressHUD就可以了,如下:

source ‘https://github.com/CocoaPods/Specs.git’

inhibit_all_warnings!

platform :ios, ‘8.0’

pod ‘MBProgressHUD’

 

另外,引入本地缓存功能,在用户第二次打开同样内容时,就不需要重新加载了,请见附件工程文件,引入就可以了

网页的本地缓存

 

二、使用原生框架填充TEXT内容

未完待续

分享该内容

PinIt
submit to reddit

说点什么

您将是第一位评论人!

提醒
avatar
Top