- 博客(55)
- 收藏
- 关注
原创 AndroidManifest.xml文件解析(总有一个你不清楚)
一、关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities, ContentProviders, Services, 和Inte
2012-01-16 10:53:11 1480
原创 Android-sharedUserId数据权限
Android给每个APK进程分配一个单独的用户空间,其manifest中的userid就是对应一个Linux用户 (Android 系统是基于Linux)的. 所以不同APK(用户)间互相访问数据默认是禁止的. 但是它也提供了2种APK间共享数据的形式: 1. Share Preference. / Content Provider APK可以指定接口和数据给任何其他APK读取. 需要
2012-01-16 10:51:26 1856
转载 rtp协议详解/rtcp协议详解
目前,在IP网络中实现实时语音、视频通信和应用已经成为网络应用的一个主流技术和发展方向,本文详细介绍IP协议族中用于实时语音、视频数据传输的标准协议RTP( Real-time Transport Protocol)和RTCP(RTP Control Ptotocol)的主要功能。 2、RTP/RTCP协议简介 RTP 由 IETF(http://www.ietf.org/)定
2011-12-30 11:42:02 2002
转载 FTP协议详解
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)察看远程计
2011-12-30 11:41:20 2567
转载 HTTP协议的头信息详解
通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可 选的消息体组成。HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域 值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。
2011-12-30 11:40:31 2185
转载 HTTP协议详解(真的很经典)
引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation
2011-12-30 11:39:18 1547
原创 How To Use SDWebImage
Web Image This library provides a category for UIImageVIew with support for remote images coming from the web. It provides: An UIImageView category adding web image and cache management to
2011-12-29 14:39:31 1860
转载 一些iOS高效开源类库
因为iOS SDK相对比较底层,所以开发者就得受累多做一些体力活。不过幸运的是,有很多第三方的类库可以用来简化很多不必要的工作。笔者整理了一下在本人学习过程中用到的一些比较有用Objective-C开源类库,既是做一个总结,同时也希望通过这些分享,能提高各位的开发效率。 KissXml——xml解析库 相关教程:http://www.iteye.com/topic
2011-12-29 14:37:26 1295
转载 IOS开发缓存机制之—本地缓存机制
前面一篇文章介绍了iOS设备的内存缓存,这篇文章将设计一个本地缓存的机制。 功能需求 这个缓存机制满足下面这些功能。 1、可以将数据缓存到本地磁盘。 2、可以判断一个资源是否已经被缓存。如果已经被缓存,在请求相同的资源,先到本地磁盘搜索。 3、可以判断文件缓存什么时候过期。这里为了简单起见这里,我们在请求url资源的时候,给每次请求的文件设定一个过期的时间。 4、可以实现:如果文件已经
2011-12-25 15:18:29 1464
转载 IOS开发缓存机制之—内存缓存机制
在IOS应用程序开发中,为了减少与服务端的交互次数,加快用户的响应速度,一般都会在iOS设备中加一个缓存的机制。 这篇文章将介绍一下如何在iOS设备中进行缓存,本文先介绍一下将内容缓存到内存中,下一篇文章就介绍一下在iOS磁盘上缓存内容。 使用缓存的目的是为了使用的应用程序能更快速的响应用户输入,是程序高效的运行。有时候我们需要将远程web服务器获取的数据缓存起来,减少对同一个url多次请求。
2011-12-25 15:17:36 1328
转载 键盘添加工具条
IOS开发中,iphone/ipad/itouch采用的触摸设计,本身没有硬件键盘,一般都是点击输入框之后,弹出一个虚拟键盘出来,因此开发中,经常在完成编辑输入之后,要写程序代码来关闭软键盘的输出,非常繁琐,当然关闭软键盘的方式有很多。本文要分享的是一个键盘顶部工具条的类,通过这个工具条,可以很方便的关闭键盘,而且有上一项,下一项的输入框切换,非常方便,效果如下图所示: 一、KeyB
2011-12-25 15:12:38 1485
转载 自定义加载等待框(MBProgressHUD)
这里介绍一下网友开源的MBProgressHUD类,实现等待框, 一、网上下载 MBProgessHUD 类文件,直接导入到工程即可 二、示例分析 在我的工程中示例如下: 1)在ShowImageViewController.h头文件代码如下: #import #import "MBProgressHUD.h" @interface ShowI
2011-12-25 15:06:17 3512
转载 iPhone操作队列 VS Java线程池
引言 在涉及多线程并发操作时,如何管理多线程对共享数据的访问以及防止线程间的死锁问题是个很重要的话题。在 Java 语言中,从 Java 5 开始, Java 提供了自己的线程池 ThreadPoolExec 引言 在涉及多线程并发操作时,如何管理多线程对共享数据的访问以及防止线程间的死锁问题是个很重要的话题。在 Java 语言中,从 Java 5 开始, Java 提供了自己的线
2011-12-25 14:58:02 1466
转载 iPhone,iPhone4,iPad程序的启动画面
iOS设备现在有三种不同的分辨率:iPhone 320x480, iPhone 4 640x960, iPad 768x1024。以前程序的启动画面(图片)只要准备一个Default.png就可以了,但是现在变得复杂多了。 如果一个程序,既支持iPhone又支持iPad,那么它需要包含下面几个图片: Default-Portrait.png iPad专用竖向启动画面 768x1024或
2011-12-25 14:26:51 1674
转载 WWDC2010 Session312 LLVM Compiler的新特性
LLVM(Low Level Virtual Machine)是新的compiler环境,用C++编写。LLVM project在University of Illinois at Urbana-Champaign大学的Vikram Adve和Chris Lattner的领导下,开始于2000年。当时,Lattner作为助教和硕士生刚刚加入此大学。后来在2005年,Lattner受雇于Apple。
2011-12-25 14:25:46 1516 1
转载 WWDC2010 Session313 深入探讨LLVM技术
这个session涵盖: Xcode 4中的Clang(Code completion, Fix-it, Indexing and Edit-all-in-scope), Clients of LLVM(LLDB, Integrated assembler). 在Xcode4中使用Clang 很多内容已在Session 312中提到。仅仅增加了一些例子。 LLDB的好处 H
2011-12-25 14:25:01 1446
转载 让支持Block的app运行于iOS3.x
iOS 4支持Block,但如果想让此app运行于iOS 3.x(当然涉及到Block的功能不能实现 ),你会发现会出现一下错误: dyld: Symbol not found: __NSConcreteStackBlock Referenced from: /var/mobile/Applications/192B30ED-16AC-431E-B0E9-67C1F41FD5DA/MyApp
2011-12-25 14:21:38 1447
转载 WWDC2010 Session211 使用Grad Central Dispatch简化iPhone开发
GCD 概述 1. GCD 包含于 libSystem.dylib 2. 可供所有程序使用. - #include 3. GCD API 提供 block-based and function-based variants - 目前仅提供 block-based API GCD总结 1. Blocks - dispatch_async() 2
2011-12-25 14:19:40 1610
转载 WWDC2010 Session206 介绍iPhone上的Blocks和Grand Central Dispatch (2)
Grand Central Dispatch 使用GCD,可以让你的程序不会失去响应. 多线程不容易使用,用了GCD,会让它变得简单。你无需专门进行线程管理, 很棒! 让你的程序保持响应的原则: 1. 不要柱塞主线程 2. 把工作一到其他线程中做。 3. 做完后更新主线程的UI. 没有GCD的代码: - (void)addTweetWithMsg:(NSS
2011-12-25 14:18:20 1576
转载 WWDC2010 Session206 介绍iPhone上的Blocks和Grand Central Dispatch (1)
Blocks和Grand Central Dispatch已经被iOS4支持,(Snow Leopard早就支持了). 程序运行架构 Blocks Blacks are available in C++ and Objective-C++. Basic Blocks 我们在block中使用这个字符^ 因为这个字符很特别,在C++中不能作为操作符重载. B
2011-12-25 14:17:42 1379
原创 如何使用Objective-C获取iPhone/iPad内全部字体的Fontfamily和FontName?
How to use Objective-C get all fontfamily name and fontname in an iPad or iPhone? 代码很简单,效果就是把全部字体家族和字体名都输出到调试窗口。 01 NSArray* familys = [UIFont familyNames]; 0
2011-12-22 18:21:46 1101
转载 开发 iOS 的 VOIP 客户端
首先要下载全套资料,不过比较烦,不是iOS专用: http://trac.pjsip.org/repos/wiki/Getting-Started/iPhone ,代码也能官网或者附件中下载,记得论坛附件后缀名重命名为*.tar.bz2。 在 Mac 里新建个文件夹,解压开,最好不要带中文路径名。 解压开后,命令行 Terminal 至 pjlib/include/pj/con
2011-12-22 17:03:04 1440
原创 iOS开发之详解剪贴板
在iOS中,可以使用剪贴板实现应用程序之中以及应用程序之间实现数据的共享。比如你可以从iPhone QQ复制一个url,然后粘贴到safari浏览器中查看这个链接的内容。 概述 在iOS中下面三个控件,自身就有复制-粘贴的功能: 1、UITextView 2、UITextField 3、UIWebView UIKit framework提供了几个类和协议方便我们在自己的
2011-12-22 16:52:48 557
转载 iOS运行回路(RunLoop)总结
首先看两个runloop的示例,来源:http://paste.lisp.org/display/86524 第一个: #include static void _perform(void *info __unused) { printf("hello\n"); } static void _time
2011-12-22 16:50:48 449
转载 iOS 中 GCD 的魔力
本文转自 http://blog.csdn.net/favormm/archive/2011/05/29/6453260.aspx GCD(Grand Central Dispatch)是一个大的主题。它可以提高代码的执行效率与多核的利用率。是苹果的开源项目,如果你是一个追求软件效率的开发人员,这门技术你一定要有所研究。 今天要介绍的是如何从网上下载大量的文件, 方法有
2011-12-22 16:49:23 495
转载 iOS 的多核编程和内存管理
这篇文章转自 http://anxonli.iteye.com/blog/1097777,集中与iOS的多核编程和内存管理,大家完全可以使用苹果的多核编程框架来写出更加responsive的应用。 多核运算 在iOS中concurrency编程的框架就是GCD(Grand Central Dispatch), GCD的使用非常简单。它把任务分派到不同的queue队列来处理。开发
2011-12-22 16:42:58 386
转载 ios简单使用core data
iPhone OS在2009年6月份推出3.0版本SDK,其中一个特性是引入了Mac SDK中的core data。是一种ORM(Object Relationships Mapping)解决方案,类似java的Hibernate。 有了这个,就不必像ios简单sqlite使用那样编写繁琐代码了,减少工作量,也可以回避使用c的语法,降低ios开发的技术门槛。总之,可降低开发成本,提高项目质量
2011-12-14 18:41:43 409
转载 ios简单sqlite使用
sqlite是嵌入式的和轻量级的sql数据库。sqlite是由c实现的。广泛用于包括浏览器(支持html5的大部分浏览器,ie除外)、ios、android以及一些便携需求的小型web应用系统。 使用sqlite前的准备 使用sqlite是很多做ios开发中第一次面对c的情况,包括我。因为sqlite是c写的,objc可以直接使用c代码。在sqlite前,一般都会使用cocoa tou
2011-12-14 18:40:46 400
转载 Associative References
Associative References Associative references, available starting in Mac OS X v10.6, simulate the addition of object instance variables to an existing class. Using associative references, you can a
2011-12-06 13:36:20 771
转载 UIViewController Class Reference
1.因为在应用中view controller直接的关系是很复杂的,所以每一个view controller都有一些属性用于指示它是否在被其他的view controller 管理。我们可以查看一个view controller的tabBarController 或者navgationController属性来得知此view controller是嵌入到一个tab bar还是一个navgati
2011-11-26 01:21:05 791
转载 说说Xcode4中xib绑定的原理
最开始的是时候始终没有弄明白xib文件中的绑定关系。经过一周的开发体验终于有一些理解与收获。 Xib文件就是MVC模式中的View这个层的界面显示布局的信息。即类似Asp.net的aspx文件或者java中的jsp文件。完全就是一个界面展示控制的文件,存储方式是xml文件格式,可以手动编辑与修改。但我还没有细致的研究xml文件内容本身。 所有的关联与绑定的信息都存储在xib文件中,头文
2011-11-26 01:18:06 2098
转载 在XCode4.2中添加MainWindow.xib文件
最近把XCode升级到了最新的4.2版本,然后在创建项目时,发现创建的Winzard改了,没有了以前的Window Based Application了,要创建一个干净点的项目该选用的模板是"Empty Project"。但是创建完之后,项目中不再有MainWindow.xib文件了,不过我们可以自己添加这个文件。 首先,选择添加文件,Cmd+N,然后选择 iOS->User Interfa
2011-11-26 01:01:38 1300
转载 What is a meta-class in Objective-C?
In this post, I look at one of the stranger concepts in Objective-C — the meta-class. Every class in Objective-C has its own associated meta-class but since you rarely ever use a meta-class directly,
2011-11-24 17:57:29 830
转载 Objective-C选择器 Selector
5.4 SEL类型 1 id cattle[3]; 2 SEL say; 3 SEL skin; 其中id cattle[3]定义了一个数组用于存储Cattle或者Bull对象。这一行代码估计大家都很熟悉,笔者就不赘述了。像这样的传统的数组并不能完全满足我们的需求,当我们需要做诸如追加,删除等操作的时候,会很不方便。在
2011-11-24 17:36:27 1723
转载 UIApplication对象及其代理UIApplicationDelegate
在开发过程中我们需要一些全局对象来将程序的各个部分连接起来,这些全局对象中最重要的就是UIApplication对象。但在实际编程中我们并不直接和UIApplication对象打交道,而是和其代理打交道。 UIApplication 是iPhone应用程序的开始并且负责初始化并显示UIWindow,并负责加载应用程序的第一个UIView到UIWindow窗体中。 UIApplication
2011-11-24 15:46:13 612
转载 IOS开发技术之──头文件引用(@class/#import/#include)
一、 Objective-C 中 #import 和 #include 的区别 预编译指令 Objective-C:#import C,C++:#include #import由gcc编译器支持 在 Objective-C 中,#import 被当成 #include 指令的改良版本来使用。除此之外,#import 确定一个文件只能被导入一次,这
2011-11-23 17:35:19 555
转载 关于##在C宏定义中的作用
内核中有很多的宏定义,在宏定义define中经常看到两个字符串##和#,这里把它的用法做一下说明: ##是一个连接符号,用于把参数连在一起 例如: > #define FOO(arg) my##arg 则 > FOO(abc) 相当于 myabc #是“
2011-11-23 17:24:15 762
转载 How to use iPhone with File I/O Functions: A Tutorial for Software Developers
Introduction The iPhone OS, like Mac OS X, provides both Apple specific file I/O functions, and Unix-type file I/O functions. For example, you can use Apple specific functions to find the paths rela
2011-11-21 14:30:44 547
转载 ios简单sqlite使用
sqlite是嵌入式的和轻量级的sql数据库。sqlite是由c实现的。广泛用于包括浏览器(支持html5的大部分浏览器,ie除外)、ios、android以及一些便携需求的小型web应用系统。 使用sqlite前的准备 使用sqlite是很多做ios开发中第一次面对c的情况,包括我。因为sqlite是c写的,objc可以直接使用c代码。在sqlite前,一般都会使用cocoa tou
2011-11-21 13:50:14 471
转载 ios创建库及其调用
ios的应用,也不都是使用ios自带的框架或者自己写所有实现,有时需要使用第三方库,比如ios调用flurry做统计分析。 下面简要说明,如何创建自己的库,并且部署到另外的项目中使用。 创建库 通过xcode的想到可以很容易的创建库。为了简单起见,这里只用objc写最简单的类代码。当然是可以用c、c++语法写库函数的,而且也很常见。 ios为了安全上的考虑,只允许使
2011-11-21 13:49:00 480
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人