自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

1024工场

新技术,新未来,尽在1024工场...

  • 博客(21)
  • 资源 (5)
  • 收藏
  • 关注

原创 OC学习那些事:Block

1.Block Block封装了一段代码,可以在任何时候执行。 Block可以作为函数的参数,或者函数的返回值,而其本身又可以带输入参数或返回值。它和传统的函数指针类似,但是有区别:block是inline(内联函数)的,并且默认情况下它对具备变量是可读的。  苹果官方建议尽量多用block。在多线程、异步任务、集合遍历、集合排序、动画转场的很多。

2013-08-30 09:49:08 3819

原创 日积月累:ScrollView嵌套ListView只显示一行

在开发的过程当中,由于手机屏幕的大小的限制,我们经常需要使用滑动的方式,来显示更多的内容。在最近的工作中,遇见一个需求,需要将ListView嵌套到ScrollView中显示。于是乎有了如下布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http

2013-08-29 08:57:08 14241 2

原创 OC学习那些事:Protocol

1.Procotol 简单来说就是一系列方法的列表,其中声明的方法可以被任何类实现。这种模式一般称为代理(delegation)模式。  在iOS和OS X开发中,Apple采用了大量的代理模式来实现MVC中View(UI控件)和Controller(控制器的分离)。  2.Procotol的使用 @protocol Study

2013-08-28 09:17:09 2548

原创 提高你的Java代码质量吧:频繁插入和删除时使用LinkedList

一、分析 前面有文章分析了列表的表里方式,也就是“读”的操作。本文将介绍表的“写”操作:即插入、删除、修改动作。  二、场景 1.插入元素 列表中我们使用最多的是ArrayList,下面看看他的插入(add方法)算法,源代码如下: public void add(int index,E element){ /*检查下标是

2013-08-27 09:18:26 6949 1

原创 提高你的Java代码质量吧:不同的列表应该选择不同的遍历方法

一、分析 在Java中,RandomAccess和Cloneable、Serializable一样都是标识接口,不需要任何实现,只是用来表明其实现类具有某种特质的,实现了Cloneable表明可以被拷贝,实现了Serializable接口表明被序列化了,实现了RandomAccess则表明这个类可以随机存取。  ArrayList数组实现了RandomAccess接

2013-08-26 09:18:30 4521 4

原创 日积月累:android:layout_weight属性详解

在开发的过程中,为了布局更好的适配各种各样的屏幕,会经常使用android:layout_weight属性,按比例分配屏幕的空间。在很多资料和书籍中解释说,系统根据layout_weight比例分配占据空间的大小。但是这个解释在实际开发过程中,往往给我们带来许多困惑。  现在我们来看看具体场景如下:我们需要将三个TextView按照1:2:3的横向的比例显示。于是就有了如下代码

2013-08-23 09:02:39 3929 2

原创 你不知道的Eclipse的用法:使用Eclipse查看Android源码

在平时的开发和学习过程当中,为了更好的理解,为了更好的运用,我们通常希望查看相关类的源代码实现。在Eclipse中,使用Ctrl+鼠标(放在查看的类上,点击),会自动跳转到相关的源码中。 但是如果没有相关的配置,就会出现如下图情形,所以我们还要进行相关的配置。  在Eclipse中查看Andrid源码的配置步骤 下载相关版本的Android源

2013-08-22 18:18:54 4183

原创 OC学习那些事:Category

1.Category概念 OC提供了一种与众不同的方式—Category,可以动态的为已经存在的类添加新的行为(方法,不能添加成员变量)。 这样可以保证类的原始设计规模最小,功能增加在逐步扩展。 使用Category对类进行扩展时,不需要创建子类。 Category使用简单的方式,实现了类的相关方法模块化,把不同的类方法分配到不同的分类文件中。

2013-08-22 09:19:33 5555

原创 OC学习那些事:第一个OC应用程序

一、XCode创建开发环境步骤 1.Welcome to Xcode窗口,选择Create a new Xcode project。 Create a new Xcode project:创建一个新的Xcode项目。 Connect to a repository:代码库 Learn about using Xcode:查询Xcode的用户指...

2013-08-20 17:21:48 3173

原创 提高你的Java代码质量吧:避免基本类型数组转换列表陷阱(Arrays.asList())

一、分析 我们在开发的过程中经常会使用Arrays和Collections这两个工具类在数组和列表之间转换。 Arrays.asList()方法:输入一个变长参数,返回一个固定长度的列表。看源码: public static List asList(T... a){ return new ArrayList(a); } asList方法输入的

2013-08-20 09:07:22 4267 1

原创 OC学习那些事:内存管理

1.范围 任何继承了NSObject的对象,对基本数据类型无效。  2.原理 每个对象内部都保存了一个与之相关联的整数,称为引用计数器。 当使用alloc、new或者copy创建一个对象的时,对象的引用计数器设置为1。 给对象发送一条retain消息,可以使引用计数器+1。 给对象发送一条release消息,可以使引用

2013-08-19 09:48:32 3169

原创 OC学习那些事:@property和@synthesize

1.@property 只用在.h文件中@interface关键字中 当编译器遇见@property时,会自动展开成getter和setter方法的声明。 //等效 @property int age; -(int)age; -(void)setAge:(int)newAge; 注意:在XCode4.5环境下,检测到@property时,自动在

2013-08-16 09:12:45 2235

原创 OC学习那些事:self、自动释放、变量作用域

1.变量的作用域 变量必须定义的{}中 @public:全局都可以方法 @protected:只能在类的内部和子类中访问(默认) @private:只能在类的内部方法 @interface Student : NSObject { @public int _age; int _no; @priva

2013-08-15 09:06:16 2584 1

原创 提高你的Java代码质量吧:多种最值算法,适时选择

一、分析 对一批数据进行排序,然后找出其中的最大值或最小值,这是基本的数据结构的知识。在Java中我们可以通过编写算法的方式,也可以通过数组先排序再取值的方式来实现。  二、场景 1.自行实现,快速查找最大值,代码如下: public static int max(int[] data){ int max = data[0];

2013-08-14 09:20:36 4653 2

原创 日积月累:布局横竖向滑动需求的实现

在工作过程当中,出现这样一个需求。要求屏幕中的内容分为两个区域,我称为A区域和B区域,要求B区域可以竖直和横向滑动,A区域能随着B区域横向滑动(但不能竖直滑动),并且A区域位于屏幕的底部,B区域位于A区域的上部。效果图如下: 图片1:起始页面 图片2:B区域下滑,A区域不滑动 图片3:B区域横滑,A区域随之滑动

2013-08-13 00:59:19 1783

原创 提高你的Java代码质量吧:警惕数组的浅拷贝

一、分析 在日常工作中,我们会遇见很多数组的拷贝和复制的问题,但是在你使用系统提供的API进行编码的时候,无形中会留下浅拷贝的隐患。  二、场景 有这样一个例子,第一个箱子里面与赤橙黄绿青蓝紫7色气球,现在希望第二个箱子也放入7个气球,其中最后一个气球改为蓝色,也就是赤橙黄绿青蓝蓝七个气球。 来看实现: public class

2013-08-12 09:21:04 2709 1

原创 提高你的Java代码质量吧:性能考虑,数组是首选

一、分析 数组在实际的系统开发中使用的越来越少,我们通常只有在阅读一些开源项目时才会看到它们的身影,在Java中它确实没有List、Set、Map这些集合使用起来方便,但是在基本类型处理方面,数组还是占优势的,而且集合的底层也是通过数组实现。  二、场景 比如对一个数据集求和的计算: //对数组求和 public static int su

2013-08-08 09:13:29 3886 1

原创 提高你的Java代码质量吧:中文字符串排序的瑕疵

一、分析 在Java中一设计中文处理就会冒出很多问题来,其中排序也是一个让人头疼的课题。  我们知道Arrays工具类的默认排序是通过数组元素的compareTo方法来进行比较的,那我们来看String类的compareTo方法的主要实现: while(k < lim){ //原字符串的字符数组 char c1 = v1[k];

2013-08-07 09:10:34 6477 2

原创 提高你的Java代码质量吧:强烈建议使用UTF编码

一、分析 Java的乱码问题由来已久,有点开发经验的开发人员肯定遇到过乱码问题,有时从Web上接受乱码,有时是从数据库中读取乱码,有时是从外部接口中接收到的乱码。  先解释一下Java中的编码规则。Java程序涉及的编码包括两个部分: 1.Java文件编码 如果我们使用记事本创建一个.java后缀的文件,则文件的编码格式就是操作系统默认的格式

2013-08-06 09:30:11 3405 1

原创 日积月累:EditText软键盘的显示和隐藏

在工作过程中,常常会遇见需要根据自己的需求,控制文本框的键盘显示和隐藏。通过查阅Android文档,介绍可以通过在清单文件中元素中添加android:windowSoftInputMode属性来处理。  这个属性主要影响两件事情: 1.软键盘的状态—当Activity显示给用户的时候,它是显示还是隐藏。 2.主活动窗口的调整—它是否调整主窗体大小来给软键

2013-08-05 18:10:10 3032

原创 提高你的Java代码质量吧:推荐在复杂字符串操作中使用正则表达式

一、分析 字符串的操作,诸如追加、合并、替换、倒序、分隔等,都是在编码过程中经常用到的,而且Java也提供了append、replace、reverse、split等方法来完成这些操作,它们使用起来确实方便,但是更多的时候,需要使用正则表达式来完成复杂的处理。  二、场景 统计一篇文章中的单词的数量,代码如下: public static v

2013-08-05 09:36:17 2757 1

iPhone开发秘籍(第2版)

详细讲解了IOS开发的内容,并有实战例子讲解。

2013-03-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除