摘要: 关老师的作品:《iPhone与iPad开发实战—iOS经典应用剖析》一书正式发售;(请到书店、淘宝、当当网等进行购买) 首先给出书籍源码下载地址,然后再对书籍进行一个详细的介绍!《iPhone与iPad开发实战—iOS经典应用剖析》书籍源码下载地址(免费下载): http://download.csdn.net/detail/tonny_guan/4272389试读样章第三章下载地址 http://download.csdn.net/detail/tonny_guan/4288972 可以通过微博在线沟通 读书交流群:204462948 腾讯微博:http://t.qq.com/a_lit.. 阅读全文
posted @ 2012-05-12 11:03 516inc 阅读(873) 评论(0) 推荐(0) 编辑
摘要: 《Android开发案例驱动教程》 作者:关东升,赵志荣 Java或C++程序员转变成为Android程序员 采用案例驱动模式展开讲解知识点,即介绍案例->案例涉及技术->展开知识点->总结的方式 本书作者从事多年一线开发和培训,讲解知识点力求细致,深入浅出目 录 前言 第1章 Android操作系统概述 1 1.1 Android历史介绍 1 1.2 Android架构 1 1.3 Android平台介绍 2 1.4 现有智能手机操作系统比较 4 第2章 Android开发环境搭建 5 2.1 Eclipse和ADT插件 5 2.1.1 Eclipse安装 5 2.1.2 阅读全文
posted @ 2011-10-27 10:18 516inc 阅读(1678) 评论(0) 推荐(0) 编辑
摘要: 北京时间10月12日下午消息,据美国科技博客BusinessInsider报道,在今年9月推出iOS 6后,苹果开始通过一项名为IFA或IDFA的新技术追踪用户,发布精准广告。在此之前,广告主原本可以借助UDID识别码追踪iPhone用户,但苹果后来禁用了这一技术。但多名移动广告行业高管透露,通过IFA技术,iOS 6对用户的追踪效果将会加强。IFA是“identifier for advertisers”(广告主识别码)的简写,会随机将匿名号码分配给用户及他们的设备。但与cookie一样,这种技术只是暂时的,而且可以关闭。当用户浏览应用或网络时,内容提供商便会将IFA传送给广告服务器,这样一 阅读全文
posted @ 2012-11-15 09:30 516inc 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 在实际的项目中,IPhone应用程序会存在很多与服务器之间的数据交互的地方,XML是首选方案。此包可以解决XML文件的解析、对象转化为XML字符串的问题。1 通过调用解析类,可以将XML的DATA数据转换为XmlNode对象,XmlNode以树形结构进行XML的数据封装,使用的时候按照树形结构进行数据的获取。XmlNode结构如下:01 @ interface XmlNode : NSObject {0203 }04 @property(nonatomic,retain)NSMutableDictionary *attributes;//属性05 @property(nonatomic,ret 阅读全文
posted @ 2012-11-08 15:53 516inc 阅读(325) 评论(0) 推荐(0) 编辑
摘要: ABAddressBookRef addressBook = ABAddressBookCreate(); CFArrayRef results = ABAddressBookCopyArrayOfAllPeople(addressBook); for(int i = 0; i < CFArrayGetCount(results); i++) { ABRecordRef person = CFArrayGetValueAtIndex(results, i); //读取firstname NSString *personName = (... 阅读全文
posted @ 2012-11-05 16:27 516inc 阅读(154) 评论(0) 推荐(0) 编辑
摘要: APNs--Apple Push Notification ServiceAPNs苹果推送服务器Device安装带有推送服务程序的iPhone手机Provider程序服务器,把需要推送的信息发给 APNsDeviceToken在Device第一次连接APNs时,由APNs生成的经过加密的连接认证信息。在以后的连接中,无论时Provider到APNs还是APNs到Device 都需要 DeviceToken作为认证。Payload需要推送的消息的主体内容。alert-alert消息的消息体,按键标题等badge-显示在程序icon右上角的数字,sound-声音提示文件的文件名,该声音资源文件要在 阅读全文
posted @ 2012-10-30 10:16 516inc 阅读(455) 评论(0) 推荐(0) 编辑
摘要: 在IOS应用程序开发中,为了减少与服务端的交互次数,加快用户的响应速度,一般都会在iOS设备中加一个缓存的机制。这篇文章将介绍一下如何在iOS设备中进行缓存,本文先介绍一下将内容缓存到内存中,下一篇文章就介绍一下在iOS磁盘上缓存内容。使用缓存的目的是为了使用的应用程序能更快速的响应用户输入,是程序高效的运行。有时候我们需要将远程web服务器获取的数据缓存起来,减少对同一个url多次请求。内存缓存我们可以使用sdk中的NSURLCache类。NSURLRequest需要一个缓存参数来说明它请求的url何如缓存数据的,我们先看下它的CachePolicy类型。1、NSURLRequestUseP 阅读全文
posted @ 2012-10-25 09:52 516inc 阅读(510) 评论(0) 推荐(0) 编辑
摘要: 通过代码块(block)功能,你就能像对待对象一般,指定要在方法和函数中传递任意代码部分。代码块的声明:int main (int argc, const char * argv[]) {@autoreleasepool {void (^myBlock) (NSString *x);//声明变量/* 代码块是存储在一个变量中,并且需要参数和声明的返回类型。返回类型:(本类是void)声明代码块的返回值类型的位置所声明变量的类型定义在同一个地方。在代码块声明中声明的值类型就是代码块执行时的返回值类型。特殊字符^:它告诉编译器所定义的时代码块而不是其他类型的变量。变量名:(这里时myBlock). 阅读全文
posted @ 2012-10-24 12:33 516inc 阅读(204) 评论(1) 推荐(0) 编辑
摘要: 一、获取系统所支持的国际化信息在国际化之前,你可以在iphone中的”设置->通用->多语言环境->语言”中来查看你的iphone支持哪些语言,当然也可以写一段代码测试一下你的iphone都支持哪些语言.测试代码如下:NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSArray *languages = [defaults objectForKey:@"AppleLanguages"]; NSLog(@”%@”, languages);注:NSUserDefaults类用 阅读全文
posted @ 2012-10-17 10:00 516inc 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 01 //获取当前时间02 NSDate *now = [NSDate date];03 NSLog(@”now date is: %@”, now);0405 NSCalendar *calendar = [NSCalendar currentCalendar];06 NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;07 NSDateComp 阅读全文
posted @ 2012-10-16 10:18 516inc 阅读(4485) 评论(0) 推荐(0) 编辑
摘要: 多线程编程是防止主线程堵塞,增加运行效率等等的最佳方法。而原始的多线程方法存在很多的毛病,包括线程锁死等。在Cocoa中,Apple提供了NSOperation这个类,提供了一个优秀的多线程编程方法。本次介绍NSOperation的子集,简易方法的NSInvocationOperation:@implementation MyCustomClass- (void)launchTaskWithData:(id)data{//创建一个NSInvocationOperation对象,并初始化到方法//在这里,selector参数后的值是你想在另外一个线程中运行的方法(函数,Method)//在这里, 阅读全文
posted @ 2012-10-16 10:16 516inc 阅读(121) 评论(0) 推荐(0) 编辑
摘要: object-c的多线程如java的多线程一样方便可靠。一、线程创建与启动线程创建主要有二种方式:[cpp] view plaincopy- (id)init; // designated initializer- (id)initWithTarget:(id)target selector:(SEL)selector object:(id)argument;当然,还有一种比较特殊,就是使用所谓的convenient method,这个方法可以直接生成一个线程并启动它,而且无需为线程的清理负责。这个方法的接口是:[cpp] view plain copy+ (void)detachNewThr 阅读全文
posted @ 2012-10-16 10:13 516inc 阅读(418) 评论(0) 推荐(0) 编辑