08 2013 档案

摘要:2013是游戏爆发的一年,手游用户也是飞速暴增。虽然自己不做游戏,但也是时刻了解手机应用开发的新动向。看到CSDN的“写书评得技术图书赢下载分”活动,就申请了一本《iOScocos2d2游戏开发实战(第3版) 》。由于时间的关系,没有仔细读完全部内容,翻看了几章,书的内容还是不错的,说真的。书的原作者是Steffen Itterheim可以在http://www.learn-cocos2d.com/了解他。 《iOScocos2d2游戏开发实战(第3版) 》介绍了cocos2d游戏引擎,关注的是创建完整cocos2d游戏的过程而不是展示大量的iOS SDK 或OpenGL代码... 阅读全文
posted @ 2013-08-30 17:21 张兴业 阅读(373) 评论(0) 推荐(0) 编辑
摘要:SQLite (http://www.sqlite.org/docs.html) 是一个轻量级的关系数据库。SQLite最初的设计目标是用于嵌入式系统,它占用资源非常少,在嵌入式设备中,只需要几百K的内存就够了,目前应用于Android、iOS、Windows Phone等智能手机。iOS 使用时SQLite,只需要加入 libsqlite3.dylib 依赖以及引入 sqlite3.h 头文件即可。 数据库操作包含打开数据库、创建表,表的增、删、改、查。下面代码给出了数据库操作。 创建并打开数据库:-(BOOL) openDB{ //获取数据库路径 NSArray *... 阅读全文
posted @ 2013-08-25 18:23 张兴业 阅读(1901) 评论(2) 推荐(1) 编辑
摘要:在之前的《iOS学习——xml数据解析(九)》介绍了xml数据解析,这一篇简单介绍一下Json数据解析。JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与客户端的交互,Json语法参考。关于在iOS平台上进行JSON解析,已经有很多第三方的开源项目,比如TouchJson,JSONKit,SBJon等,自从iOS5.0以后,苹果SDK推出了自带的JSON解决方案NSJSONSerialization,这是一个非常好用的JSON生成和解析工具,效率也是比其他第三方开源项目的高很多,详情可看下图。图片详情可查看NSJSONSer.. 阅读全文
posted @ 2013-08-24 19:56 张兴业 阅读(3782) 评论(3) 推荐(0) 编辑
摘要:电话、短信是手机的基础功能,iOS中提供了接口,让我们调用。这篇文章简单的介绍一下iOS的打电话、发短信在程序中怎么调用。1、打电话 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10010"]];//打电话 使用openURL这个API打电话结束后,返回的是系统的拨打电话界面,如何才能返回自己的应用呢?有两种方法与大家分享。第一种是用UIWebView加载电话,这种是合法的,可以上App Store的。代码如下: UIWebView*callWebview =[[UIWebV 阅读全文
posted @ 2013-08-23 11:11 张兴业 阅读(2337) 评论(0) 推荐(0) 编辑
摘要:iOS的APP的应用开发的过程中,有时为了bug跟踪或者获取用反馈的需要自动收集用户设备、系统信息、应用信息等等,这些信息方便开发者诊断问题,当然这些信息是用户的非隐私信息,是通过开发api可以获取到的。那么通过那些api可以获取这些信息呢,iOS的SDK中提供了UIDevice,NSBundle,NSLocale。UIDevice UIDevice提供了多种属性、类函数及状态通知,帮助我们全方位了解设备状况。从检测电池电量到定位设备与临近感应,UIDevice所做的工作就是为应用程序提供用户及设备的一些信息。UIDevice类还能够收集关于设备的各种具体细节,例如机型及iOS版本等... 阅读全文
posted @ 2013-08-23 11:10 张兴业 阅读(1341) 评论(1) 推荐(0) 编辑
摘要:开发的移动应用更希望获取更多用户,走向世界,这就需要应用国际化,国际化其实就是多语言。这篇文章介绍Xcode4.5以后的国际化,包括应用名国际化和应用内容国际化。如果是Xcode4.5之前版本请参考。应用内容国际化1、新建一个名为Localizable.strings的资源文件2、在右侧属性选择器中可以看到多了个按钮 Localize:3、点击Localize按钮,如果没做过国际化处理,选项只有English,做过了国际化处理会有多个选项。 4、点击Localize按钮,点击工程根目录,并选择PROJECT,然后选择INFO选项卡,底部我们就看到了Localizations,点击“+”号选.. 阅读全文
posted @ 2013-08-20 22:35 张兴业 阅读(946) 评论(0) 推荐(0) 编辑
摘要:前面一直使用模拟器运行,今天使用了真机调试,这一篇介绍一下真机调试。真机调试需要99$注册,如果有注册过的账号,也可以使用注册账号邀请你加入一个账号下,注册账号可以给你分配权限,我也是使用的邀请成为开发者的。1、登录:首先登录https://developer.apple.com/ios/manage/overview/index.action登录后会进入如下界面: 图一2、制作证书,提前准备好证书,也可以用时制作。1)Finder->应用->钥匙串访问图二这将会打开如下图所示的页面,按照图示内容进行填写:图三继续后生成证书,注意选择存储到磁盘。3、提交证书在图一中点击 Certi 阅读全文
posted @ 2013-08-20 12:28 张兴业 阅读(2597) 评论(0) 推荐(1) 编辑
摘要:在iPhone开发中,XML的解析有很多选择,iOS SDK提供了NSXMLParser和libxml2两个类库,另外还有很多第三方类库可选,例如TBXML、TouchXML、KissXML、TinyXML和GDataXML。这篇文章使用了NSXMLParser。解析 XML 通常有两种方式,DOM 和 SAX:DOM解析XML时,读入整个XML文档并构建一个驻留内存的树结构(节点树),通过遍历树结构可以检索任意XML节点,读取它的属性和值。而且通常情况下,可以借助XPath,直接查询XML节点。SAX解析XML,是基于事件通知的模式,一边读取XML文档一边处理,不必等整个文档加载完之后才.. 阅读全文
posted @ 2013-08-18 09:42 张兴业 阅读(1439) 评论(1) 推荐(0) 编辑
摘要:移动互联网时代,网络通信已是手机终端必不可少的功能。我们的应用中也必不可少的使用了网络通信,增强客户端与服务器交互。这一篇提供了使用NSURLConnection实现http通信的方式。 NSURLConnection提供了异步请求、同步请求两种通信方式。1、异步请求 iOS5.0 SDK NSURLConnection类新增的sendAsynchronousRequest:queue:completionHandler:方法,从而使iOS5支持两种异步请求方式。我们先从新增类开始。1)sendAsynchronousRequestiOS5.0开始支持sendAsynchron... 阅读全文
posted @ 2013-08-16 08:28 张兴业 阅读(2229) 评论(0) 推荐(1) 编辑
摘要:前面写了UIWindow、UIViewController,那些都是一些框架,框架需要填充上具体的view才能组成我们的应用,移动应用开发中UI占了很大一部分,最基础的UI实现是使用系统提供的各种控件,其他的就是自定义实现了,作者目前是入门状态,只能写写基础控件了。 iOS中提供了UIButton、UILable、UITextField、UIImageView等基础UI控件,继承于UIView。这里先拿UIButton练练手,为什么拿UIButton呢,因为UIbutton继承自UIControl,UIControl派生自UIView类,每个控件都有很多视图的特性,包括附着于其他视图... 阅读全文
posted @ 2013-08-15 12:21 张兴业 阅读(4680) 评论(0) 推荐(2) 编辑
摘要:ViewController是iOS应用程序中重要的部分,是应用程序数据和视图之间的重要桥梁,ViewController管理应用中的众多视图。iOS的SDK中提供很多原生ViewController,以支持标准的用户界面,例如表视图控制器(UITableViewController)、导航控制器(UINavigationController)、标签栏控制器(UITabbarController)和iPad专有的UISplitViewController等。 按结构可以对iOS的所有ViewController分成两类: 1、主要用于展示内容的ViewController,这... 阅读全文
posted @ 2013-08-14 21:02 张兴业 阅读(1975) 评论(0) 推荐(2) 编辑
摘要:在PC中,应用程序多是使用视窗的形式显示内容,手机应用也不例外,手机应用中要在屏幕上显示内容首先要创建一个窗口承载内容,iOS应用中使用UIWindow、UIView来实现内容显示。UIWindow: UIWindow对象是所有UIView的根视图,管理和协调的应用程序的显示、分发事件给View。UIWindow类是UIView的子类,可以看作是特殊的UIView。一般应用程序只有一个UIWindow对象,即使有多个UIWindow对象,也只有一个UIWindow可以接受到用户的触屏事件。UIWindow初始化在appDeleDgate里面的 didFinishLaunchingWi... 阅读全文
posted @ 2013-08-14 08:26 张兴业 阅读(2372) 评论(0) 推荐(1) 编辑
摘要:开发应用程序都要了解其生命周期,开始接触android时也是从应用程序生命周期开始的,android的应用程序生命周期更多是其组件的生命周期,例如Activity、Service。今天我们接触一下iOS应用程序的生命周期, iOS的入口在main.m文件:int main(int argc, char *argv[]){ @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); }} main函数的两个参数,i... 阅读全文
posted @ 2013-08-12 14:30 张兴业 阅读(2431) 评论(0) 推荐(1) 编辑
摘要:iOS的系统架构分为四个层次:核心操作系统层(Core OS layer)、核心服务层(Core Services layer)、媒体层(Media layer)和可触摸层(Cocoa Touch layer)。下面是IOS系统结构图。iOS结构图 1、Core OS是位于iOS系统架构最下面的一层是核心操作系统层,它包括内存管理、文件系统、电源管理以及一些其他的操作系统任务。它可以直接和硬件设备进行交互。作为app开发者不需要与这一层打交道。 2、Core Services是核心服务层,可以通过它来访问iOS的一些服务。 3、Media是媒体层,通过它我们可以在应用程序中... 阅读全文
posted @ 2013-08-12 12:42 张兴业 阅读(2192) 评论(1) 推荐(0) 编辑
摘要:前面写了iOS开发环境搭建,只简单提了一下安装Xcode,这里再补充一下,点击下载Xcode的dmp文件,稍等片刻会有图一(拖拽Xcode至Applications)的提示,拖拽至Application即可,在Finder-应用程序-Xcode找到Xcode图标。点击Xcode图表,下一步操作即可进入开发界面。图一(拖拽Xcode至Applications)安装完Xcode,首先熟悉一下Xcode界面(这张是网上看到的一张图): 从上图看,Xcode和开发windows phone的Visual Studio、开发Android的Eclipse很像,如果是从那两个方向转过来做iOS开... 阅读全文
posted @ 2013-08-11 16:21 张兴业 阅读(2628) 评论(1) 推荐(1) 编辑
摘要:好久就想试水IOS开发了,由于开发环境限制,一直局限于理论和虚拟机,近来入手了MacBook Pro,也来尝尝鲜,笔者也是现学现总结,如果有不足,请指正。 IOS开发必备MAC OS X 另加一部iPhone手机,windows操作系统也可以开发,需要安装虚拟机,安装虚拟机请参考Windows 7下虚拟机安装MAC。笔者的开发硬件配置:MacBook Pro+iphone 3gs,手机有点落后了。 我们来看一下MAC下建立iOS开发环境: 首先进入官网https://developer.apple.com,这也是任何程序入门必走的一步,进入官网找到iOS Dev Center... 阅读全文
posted @ 2013-08-11 09:09 张兴业 阅读(6723) 评论(0) 推荐(2) 编辑
摘要:当我们设计应用程序时,希望能够尽最大限度的适配各种设备,包括4寸屏、7寸屏、10寸屏等等,Android开发文档给了我们参考,而且Google IO的app(如图二)也实现了这种思想,他们都是使用layout、layout-large里面不同的布局文件实现的,下面是翻译的developer.android.com一篇的文章,里面的例子能详细的看出layout、layout-large并使用Fragmen构建灵活的桌面。 当设计应用程序,你可以在不同的布局结构中重复使用Fragment,以支持众多的屏幕尺寸,,在可用的屏幕空间上优化用户体验。例如在手持设备(如Nexus 4)上,... 阅读全文
posted @ 2013-08-10 17:24 张兴业 阅读(1649) 评论(1) 推荐(1) 编辑
摘要:这篇文章是整理的以前用过的一个功能,由于多种原因现在停用了,也希望这篇文章能帮助一些android入门的小童鞋。android是不提供监控卸载自己的功能的,这里使用了监控android日志的功能,android日志相关知识可以参考《adb logcat 查看日志》这篇文章。 android卸载提示的思路是启动一个服务监控android系统的打印日志,当监控到"android.intent.action.DELETE"并且包含自己应用的包名时,提示给用户。监控代码public class AndroidLogcatScannerThread extends Thread { 阅读全文
posted @ 2013-08-10 09:10 张兴业 阅读(1257) 评论(1) 推荐(2) 编辑
摘要:为了重用Fragment的UI组件,创建的每个Fragment都应该是自包含的、有它自己的布局和行为的模块化组件。一旦你定义了这些可重用的Fragment,你就可以把它们跟一个Activity关联,并把它们跟应用程序的逻辑相连来实现全部的组合式UI。 现实中我们经常想要一个Fragment跟另一个Fragment进行通信,例如,要基于一个用户事件来改变内容。所有的Fragment间的通信都是通过跟关联的Activity来完成的。另个Fragment不应该直接通信。也就是说Fragment间不直接通信,通过Activity转一下,按java常规,转一下多是使用Interface实现的。... 阅读全文
posted @ 2013-08-09 20:25 张兴业 阅读(1264) 评论(0) 推荐(0) 编辑
摘要:Android Menu在手机的应用中起着导航的作用,作者总结了5种常用的Menu。1、左右推出的Menu 前段时间比较流行,我最早是在海豚浏览器中看到的,当时耳目一新。最早使用左右推出菜单的,听说是Facebook,我不确定消息的真实性。左右推出菜单如图, 2、Path菜单 为什叫Path菜单呢,因为我是最早在path应用中看到的,这里也不知道起什么名字了,就定为Path菜单了。这种散开、收起的小图标很清新,Path菜单出现后,国内就出现了很多仿品。其实实现不难,主要是创意。 3... 阅读全文
posted @ 2013-08-09 12:59 张兴业 阅读(1078) 评论(1) 推荐(0) 编辑
摘要:Fragment实现了Android UI的分片管理,尤其在平板开发中,好处多多。这一篇将借助Android UI开发第二十六篇——Fragment间的通信、Android UI开发第二十七篇——实现左右划出菜单来实现。看图1的效果,左边使用LeftFragment实现,中间使用的CenterFragment实现。public class SlidingActivity extends FragmentActivity implements LeftShowCenter{ private SlidingMenu mSlidingMenu; private CenterFragment ... 阅读全文
posted @ 2013-08-09 11:30 张兴业 阅读(3222) 评论(1) 推荐(2) 编辑
摘要:年前就想写左右滑动菜单,苦于没有时间,一直拖到现在,这篇代码实现参考了网上流行的SlidingMenu,使用的FrameLayout布局,不是扩展的HorizontalScrollView。 程序中自定义了菜单view:SlidingView,继承自ViewGroup,使用FrameLayout布局。重写了onInterceptTouchEvent(MotionEvent ev)方法实现ontouch的分发拦截,重写了onTouchEvent(MotionEvent ev)方法,实现左右滑动。public class SlidingView extends ViewGroup { p... 阅读全文
posted @ 2013-08-09 10:19 张兴业 阅读(1143) 评论(1) 推荐(0) 编辑