11 2012 档案
摘要:设计师必备工具推荐(上)【译】2012.11.25 | 会员设计中心 | 暂时没有留言工具的发展是随着设计的发展与时俱进的,一个好的工具会给设计师带来高效、便捷的感受,提高设计产出的质量。以下翻译了国外同行总结的最新设计工具的好文:原文地址:http://www.webdesignerdepot.com/2012/11/whats-new-for-designers-november-2012/01 SpectrumSpectrum是基于OS X的一款应用,能够非常简单、直观地创建色彩定制板。他内置了合理搭配色彩的规则以及一个能从图片获取颜色的取色器,还有内置颜色库等等。网站地址:http:/
阅读全文
摘要:移动设备的用户越来越多,每天android手机的激活量都已经超过130万台,所以我们面向移动终端的WebAPP也开始跟进了。本文主要介绍webapp的开发与调试的相关知识和经验,以及给出几种可选的解决方案。一、基本概念(1) CSS pixels与device pixelsCSS pixels: 浏览器使用的抽象单位, 主要用来在网页上绘制内容。device pixels: 显示屏幕的的最小物理单位,每个dp包含自己的颜色、亮度。等值的 CSS pixels在手机屏幕上占多大的位置,这不是固定的,这取决于很多属性。经过分析和总结,我们可以得出这么一条公式: 1 CSS pixels = (de
阅读全文
摘要:转载请注明出处:http://www.blogjava.net/zh-weir/arch...29/362294.html Android类动态加载技术 Android应用开发在一般情况下,常规的开发方式和代码架构就能满足我们的普通需求。但是有些特殊问题,常常引发我们进一步的沉思。我们从沉思中产生顿悟,从而产生新的技术形式。 如何开发一个可以自定义控件的Android应用?就像eclipse一样,可以动态加载插件;如何让Android应用执行服务器上的不可预知的代码?如何对Android应用加密,而只在执行时自解密,从而防止被破解?…… 熟悉Java技术的朋友,可能意识到,我...
阅读全文
摘要:说明:由于最近很忙,老项目被砍掉,新项目刚立项。加之NDK的文章网上已有不少。因此,这一篇文章转自网络。原文链接在此: 《Android: NDK编程入门笔记》APK反破解之三:NDK编译.so动态库为何要用到NDK?前段时间,工作中需要用android的应用程序访问android的根文件系统中的文件,但是由于应用程序的权限限制,无法访问这些文件,怎么办? 所以这就要用到了NDK编程了,既用C/C++代码实现访问系统文件,并将其生成本地库,供android中的java代码调用,这样就可以在java代码中通过调用C/C++编写的库的接口来实现对系统文件的访问。下面就介绍下Android NDK的
阅读全文
摘要:Android APK 签名比对 发布过Android应用的朋友们应该都知道,Android APK的发布是需要签名的。签名机制在Android应用和框架中有着十分重要的作用。 例如,Android系统禁止更新安装签名不一致的APK;如果应用需要使用system权限,必须保证APK签名与Framework签名一致,等等。在《APK Crack》一文中,我们了解到,要破解一个APK,必然需要重新对APK进行签名。而这个签名,一般情况无法再与APK原先的签名保持一致。(除非APK原作者的私钥泄漏,那已经是另一个层次的软件安全问题了。) 简单地说,签名机制标明了APK的发行机构。因...
阅读全文
摘要:转载请注明出处:http://www.blogjava.net/zh-weir/arch...12/354190.html Android Java混淆(ProGuard)ProGuard简介 ProGuard是一个SourceForge上非常知名的开源项目。官网网址是:http://proguard.sourceforge.net/。 Java的字节码一般是非常容易反编译的。为了很好的保护Java源代码,我们往往会对编译好的class文件进行混淆处理。ProGuard的主要作用就是混淆。当然它还能对字节码进行缩减体积、优化等,但那些对于我们来说都算是次要的功能。 引用ProGuard官方的.
阅读全文
摘要:本次教程的最终目的是“偷龙转凤”,通过修改Android客户端让其发表的微博显示“来自iPhone客户端”iPhone多火呀!用iPhone多有面子呀!呵呵第一件事还是准备好所需要的工具。工欲善其事,必先利其器!【手机一部】当然必须是Android系统的【新浪微博Android客户端】有了手机当然也要有客户端安装文件了,下载地址:http://t.sina.com.cn/mobile/android.php【JDK】后面要用到一些Java程序,所以必须安装Java环境我这里装的1.6版,下载地址:http://www.java.net/download/jdk6/6u10/promoted/b
阅读全文
摘要:由于智能手机的普及,手机病毒逐渐走上前台,病毒的地下产业链也逐渐注意到这一块。总体来说,目前的手机病毒不像PC病毒那样(初期的pc病毒主要是为了显示黑客的个人能力)。手机病毒的初衷很简单,主要是为了窃取隐私和获取经济利益。 下面就简单的介绍一个android平台上手机病毒分析的大体流程,首先我们经常用到的两款工具是apktool和jd-gui,这两款工具是分析的利器。 当我们拿到一个安卓平台样本的时候,最先需要考虑的是获取他的文件的结构,apk包我们可以利用解压工具解压出来。不少的样本在加压之后我们可以在其中的解压文件中找到elf,so,apk等格式的文件,其中elf,so是...
阅读全文
摘要:本篇将给您介绍”Autorelease Pools”(自动释放池)在应用中的使用技巧。1,Autorelease Pools概要一个”Autorelease Pool”实例中“包含”其它各种调用了”autorelease”方法的对象。当它释放时,其中所有被管理对象都会收到”relrease”的消信。注意,同一个对象可以被多次调用”autorelease”方法,并可以放到同一个”Autorelease Pool”中。引入这个自动释放池机制,对象的”autorelease”方法代替”relrease”方法可以延长它的生命周期,直接到当前”Autorelrease Pool”释放。如果想让此对象的生
阅读全文
摘要:@try{ Statements } @catch(NSException*ex) { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:[ex name] message:[ex reason] delegate:selfcancelButtonTitle:@"OK"otherButtonTitles: nil]; [alert show]; }
阅读全文
摘要:#include <stdio.h>#include <stdlib.h>#define mSIZE 3#define pSIZE 8static int memery[mSIZE] = {0};static int process[pSIZE] = {0};//static int process[pSIZE] = {2,3,2,1,5,2,4,5,3,2,5,2};//static int process[pSIZE] = {7,10,1,2,10,3,10,4,2,3,10,3,2,1,2,10,1,7,10,1};void build(); //生成一个随机数序
阅读全文
摘要:常见问题解答ARC的机制是什么?它在那里放入retain/release函数调用?请停止思考这些问题,把更多的精力放在下面的问题上,比如你的程序逻辑,对象的强,弱引用,对象的所属关系,可能的循环引用等问题上。我还需要为我的类写一个dealloc函数么?可能。因为ARC并不自动调用malloc/free,并不自动管理像核心功能对象、文件描述符等的生命周期,所以你仍然需要在dealloc中释放它们。你不会(实际上是不能)释放对象实例,但是你仍然需要为系统类调用[self setDelegate:nil]或其他ARC不会自动生产释放代码的情况下释放资源。dealloc方法在ARC不是必须的,并且不许
阅读全文
摘要:使用在函数参数转换的从属关键词当在函数调用的参数中使用Objective-C和基础核心实例的转换的时候,你需要告诉编译关于这个传入参数的所属信息。这些基础核心实例的所属规则定义在基础核心内存管理规则中(参考Memory Management Programming Guide for Core Foundation);Objective-C实例的规则定义在Advanced Memory Management Programming Guide.在下面的代码片段中,传入函数的CGGradientCreateWithColors的数组是需要转换的。byarrayWithObjects:函数返回的实
阅读全文
摘要:使用生存周期修饰符来避免强引用环你可以使用这些生存周期修饰符来避免强引用环。例如,如果程序中存在父类,子类,并且父类需要还有指向子类的指针,那么就有可能存在这样的引用环,反之亦然,那么你可以让父类中的指针是强类型,子类中指向父类的指针是弱类型。其他的情况需要更精巧的处理,特别是在块代码中的使用。在手动管理模式下,__block id x;对x的内存计数加一。在ARC模式下,__block id x;缺省的对x的内存计数加一。为了是这样的代码能够在ARC模式下能够继续工作,你可以使用__unsafe_unretained __block id x;. 就像__unsafe_unretained名
阅读全文
摘要:在IOS5中最新的特性要属ARC机制了,下面就来详细介绍下ARC:自动内存管理技术(Automatic Reference Counting (ARC))是一个为Objective-C提供内存自动管理的编译期技术。作为取代使用retain和release方式来管理内存的方式,ARC让你在其他代码编写方面可以放入更多精力。下图是两种管理内存方式的对比。概要说明ARC的原理是在编译期为每一个对象加入合适的代码,以期能否保证这些对象有合理的生命周期。从概念上来说,ARC通过增加retain,release和autorelease等函数,使得在维护内存计数器方面(相关资料Advanced Memory
阅读全文
摘要:今天给无线事业部的同事开发苹果客户端的推送接口。无线事业部就是我们公司专门开发各种终端的app的部门啦!无线事业部的同事做事还是很体贴的,同时发给了我参考文档地址和需要的开发需要的pl2文件。提供的文档里详细描述了推送原理以及相关申请的步骤和部分cocoa和.net代码片段,还提供开源的.net类库下载地址。非常感谢无线事业部的同事啦,o(∩_∩)o 哈哈提供的文档地址:http://hi.baidu.com/yang_qi168/item/480304c542fd246489ad9e91原文内容如下:Push的原理:Push的工作机制可以简单的概括为下图图中,Provider是指某个iPho
阅读全文
摘要:在object-c中,C语言的数组格式初始化和引用都能够用,但在object-c中不提倡使用。(1)不可变数组:NSArray初始化:NSArray*array=[[NSArray alloc] init];相同的初始化方法还有:initWithArray;initWithContentsOfFile;initWithContentsOfURL;initWithObjects;同样还可以通过如下方法创建一个数组:arrayWithArray;arrayWithContentsOfFile;arrayWithContentsOfURL;arrayWithObject;arrayWithObjec
阅读全文
摘要:SAX解析器是在你的代码分析器通知作为遍历XML树,你是通过负责保持跟踪状态和建设的任何对象你可能想游行保持分析器跟踪的数据。DOM解析器读取整个文件,并建立了一个在内存中的表示,你可以查询不同的元素。 通常情况下,你甚至可以构建XPath查询退出特别件。1、NSXMLParser是一个SAX解析器SDK中包含的iPhone默认的。 这是写在Objective - C和使用非常简单,但也许没有那么容易,因为DOM模型。2、libxml2的是一个开放源码库,包括iPhone SDK的默认情况下使用。 这是一个基于C的API,所以有点更多的工作比使用NSXML。 该库同时支持DOM和SAX处理。
阅读全文
摘要:Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重新给这个字符串赋值。而NSMutableString 创建赋值以后可以动态在该字符串上更改内容与长度。NSString 常用方法总结+(id)stringWithContentsOfFile:path encoding:enc err创建一个新字符串并将其设置为 path 指定文件的内容,使用字符编码 enc,在err 上返回错误+(id)stringWithContentsOfURL:url e
阅读全文
摘要:转到(Go To)Control-F2到菜单Control-F3到Dock切换(Switch)Command-Tab在程序间切换Command-`在程序中的窗口间切换窗口(Window)Command-H隐藏Command-M最小化Command-N新建Command-O打开Command-P打印Command-Q退出Command-Q退出Command-W关闭F9显示所有程序打开的窗口F10显示当前打开的窗口F11隐藏所有窗口并显示桌面文件(File)Command-S保存Command-Shift-S另存为Command-Shift-N新建文件夹Command-I简介Command-Opt
阅读全文
摘要:1. 文件CMD + N: 新文件CMD + SHIFT + N: 新项目CMD + O: 打开CMD + S: 保存CMD + SHIFT + S: 另存为CMD + W: 关闭窗口CMD + SHIFT + W: 关闭文件2. 编辑CMD + [: 左缩进CMD + ]: 右缩进CMD + CTRL + LEFT: 折叠CMD + CTRL + RIGHT: 取消折叠CMD + CTRL + TOP: 折叠全部函数CMD + CTRL + BOTTOM: 取消全部函数折叠CTRL + U: 取消全部折叠CMD + D: 添加书签CMD + /: 注释或取消注释CTRL + .: 参数提示E
阅读全文
摘要:iOS的分析工具可以发现编译中的warning,内存泄漏隐患,甚至还可以检查出logic上的问题;所以在自测阶段一定要解决Analyze发现的问题,可以避免出现严重的bug;内存泄漏隐患提示:Potential Leak of an object allocated on line ……数据赋值隐患提示:The left operand of …… is a garbage value;对象引用隐患提示:Reference-Counted object is used after it is released;以上提示均比较严重,可能会引起严重问题,需要开发者密切关注!方法:xcode----
阅读全文
摘要:iOS开发:iPhone 面试题解答1.main(){inta[5]={};int *ptr=(int*)( a+1);printf("%d%d",*(a+1),*(ptr-1));}答:25*(a+1)就是a[1],*(ptr-1)就是a[4]执行结果是2,5a+1不是首地址+1,编制会认为加一个a数组的偏移,是偏移了一个数组的大小(本例是5个int)int *ptr=(int *)( a+1);则ptr实际 是 (a[5])也就是a+5原因如下:a是数组指针,其类型为int (*)[5];而 指针加1要根据指针类型加上一定的值,不同类型的指针+1之后增加的大小不同。a是
阅读全文
摘要:1. 用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题):#define SECONDS_PER_YEAR (60 * 60 * 24 * 365ul)1) #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)2)懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少 秒而不是计算出实际的值,是更清晰而没有代价的。3) 意识到这个表达式将使一个16位机的整型数溢出-因此要用到长整型符号L,告诉编译器这个常数是的长整型数。4) 如果你在你的表达式中用到UL(表示无符号长整型),那么你有了一个好的起点。2. Objective-
阅读全文
摘要:Object-C有多继承吗?没有的话用什么代替?cocoa中所有的类都是NSObject的子类多继承在这里是用protocol委托代理来实现的你不用去考虑繁琐的多继承,虚基类的概念.ood的多态特性在obj-c中通过委托来实现.Object-C有私有方法吗?私有变量呢?objective-c –类里面的方法只有两种,静态方法和实例方法.这似乎就不是完整的面向对象了,按照OO的原则就是一个对象只暴露有用的东西.如果没有了私有方法的话,对于一些小范围的代码重用就不那么顺手了.在类里面声名一个私有方法@interface Controller : NSObject { NSString *somet
阅读全文
摘要:1.Difference between shallow copy and deep copy?2.What is advantage of categories? What is difference between implementing a category and inheritance?3.Difference between categories and extensions?4.Difference between protocol in objective c and interfaces in java?5.What are KVO and KVC?6.What is pu
阅读全文
摘要:1.Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?2.#import 跟#include 又什么区别,@class呢;#import<> 跟 #import”"又什么区别?3.属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那种情况下用?4.id 声明的对象有什么特性?5.MVC是什么?有什么特性?为什么在iPhone上被广泛运用?6.对于语句NSString* testObject = [[NSData alloc] init
阅读全文
摘要:1.Difference between shallow copy and deep copy?浅复制和深复制的区别?答案:浅层复制:只复制指向对象的指针,而不复制引用对象本身。深层复制:复制引用对象本身。意思就是说我有个A对象,复制一份后得到A_copy对象后,对于浅复制来说,A和A_copy指向的是同一个内存资源,复制的只不过是是一个指针,对象本身资源还是只有一份,那如果我们对A_copy执行了修改操作,那么发现A引用的对象同样被修改,这其实违背了我们复制拷贝的一个思想。深复制就好理解了,内存中存在了两份独立对象本身。用网上一哥们通俗的话将就是:浅复制好比你和你的影子,你完蛋,你的影子也完
阅读全文
摘要:经过本人最近的面试和对面试资料的一些汇总,准备记录这些面试题,以便ios开发工程师找工作复习之用,本人希望有面试经验的同学能和我同时完成这个模块,先出面试题,然后会放出答案。1.Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?2.#import 跟#include 又什么区别,@class呢;#import<> 跟 #import”"又什么区别?3.属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那种情况下用?4.id 声明的对象
阅读全文