当前位置:  编程技术>移动开发
本页文章导读:
    ▪正式进来android移动开发        正式进入android移动开发    在j2ee混迹了近两年,正式进入了android行列,不知是何出入,坚持一年先!   在这两年间,收获还是很多,认识很我最好的朋友们,同事间融洽的关系无比温.........
    ▪ Objective-c闭包的容易应用        Objective-c闭包的简单应用 概念介绍 这里的闭包自然是计算机语言中的闭包,词法闭包(Lexical Closure)的简称,主要表现在函数可以引用到自由变量,并且可以脱离变量的创建环境,再复杂.........
    ▪ 利用Bundle在activity间传送对象的方法       利用Bundle在activity间传递对象的方法 假如需要在两个activity间传递数据,我们通常都是用Bundle,但是里面似乎只有一些放置一些Java中已经有的数据类型,像String,int,double等,但如果要传递.........

[1]正式进来android移动开发
    来源: 互联网  发布时间: 2014-02-18
正式进入android移动开发
   在j2ee混迹了近两年,正式进入了android行列,不知是何出入,坚持一年先!
   在这两年间,收获还是很多,认识很我最好的朋友们,同事间融洽的关系无比温馨,我们无所不谈。但是,后来,他们一个一个都慢慢离去,只剩下我,感觉公司已经变了,一天都呆不下去。做在公椅上转来转去,屁股变尖似的。但最终,我也走上了这条路--辞职
   之前只是有几个模糊的方向。但心中还有点割舍不了对应用服务器的情谊。如果继续做此行业,只能是跳往Oracle , IBM 这样寥寥几家, 但确实是实力有些不济,特别是英语口语这个硬砍!辞职又是在年关,找朋友介绍地方,在年前又没反应,为了自己过个好年,就再应聘的几家,这点上觉得确实有些草率,本开始是想找个知名度高,技术含量高的企业进去,但在年前没等到好的企业机会,只有hp 给我电话面试了一次,就没回音了,问了些用的很频繁的问题,spring ,sql ,单单对此又没什么研究,一直在研究JDK ,所以只能遗憾路过,欣慰的是每面试的企业,都希望我能留下,但谈工资有偏差。两年的经验在北京9K算是最普通的吧,不过也可能是我对spring 和 SQL 了解太少,没有其他行业背景,最有可能的是我还没有用足够的技术分析KO面试官。
  最终双方合意的OFFER有几份,方向有电子商务,手机互联网,android。最后跳了个最低薪水的android,因为:这个公司美女真多!哎,有钱不赚,非要看美女,有时候真是觉得自己那个什么。。
  由于公司一些知名BLOG和门户都被墙了,所以在这里写blog。javaeye V5
  

    
[2] Objective-c闭包的容易应用
    来源: 互联网  发布时间: 2014-02-18
Objective-c闭包的简单应用
概念介绍

这里的闭包自然是计算机语言中的闭包,词法闭包(Lexical Closure)的简称,主要表现在函数可以引用到自由变量,并且可以脱离变量的创建环境,再复杂的定义也不需要多说明了,可以理解为面向对象里面的成员 函数可以调用其成员变量,然其概念却比面向对象的概念流行早的多,约六十年代在Scheme里就实现了。函数式编程语言里这是极为常见的概念,而非函数式 的语言中js里也有很多闭包出现的身影。

Objective-c的闭包

准确地说在Objective-c里不叫闭包(Closure)而叫Block,但概念还是大同小异的。Mac平台上需要LLVM的支持,总之较新 的Xcode都是支持这个特性的。 自由变量在使用是需要用__block关键字定义,而闭包函数的形式与函数指针非常接近,简单地说把函数指针的*换成^就可以了

typedef int (^IntBlock)(); 
 
IntBlock downCounter(int start) 
{
    __block int i = start;
     return Block_copy( ^int(){return i--; }); }
    IntBlock f = downCounter(5);
    printf("%d", f());
    printf("%d", f());
    printf("%d", f());
    Block_release(f);
}

是这么简单。

 

闭包应用

单纯就语法而言,闭包并没什么好谈的,但它的应用已经越来越广,特别是iPhone新的GCD特性,广泛使用了闭包,如果不知到闭包怎么写,就会陷 入明明系统提供了接口却无法调用的尴尬境地。 可能会觉得,出了系统接口必须要用block而不得不使用的情况外,其他时候直接用函数指针不就得了,实际上除非你真的用到了自由变量,其他时候 block和函数指针确实没什么区别,但block也有自己的独到之处。 首先它不需要事先定义函数,如果是函数指针那么必须要把指针指向一个函数,而函数必须要定义,闭包则不然,直接对代码块就可以调用 其次就算已经事先定义好了函数,只要对函数名取一下^即可直接放到闭包的地方使用,可以理解为向下兼容吧。 比如iPhone的动画效果,你必须先开始动画,然后写你想要动画的操作,最后提交,而开始动画和提交之间的鸿沟没法很好的协调,相当于这样

[self beginAnimation];
[self animationAction];
[self endAnimation];
 

而且每个动画都必需事先起专门的animationAction,而iPhone的动画效果实在是个很平常的操作,这就多出了无数冗余函数,即使它只是一行hidden之类,而且也不方便扩展,闭包就很适合这种需求

+ (void)animation:(NSTimeInterval)duration withEvent:(animationEvent)event
{ 
    [UIView beginAnimations:@"animationID" context:nil];
    [UIView setAnimationDuration:duration];
    [UIView setAnimationCurve:UIViewAnimationCurveLinear];
    [UIView setAnimationRepeatAutoreverses:NO];
    event();
    [UIView commitAnimations];
}
 
[Tools animation:0.8 withAnimationCurve:UIViewAnimationCurveEaseInOut withEvent:^{[
    UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:centerView_ cache:YES];
        // 移除功能列表
    [menuView_ removeFromSuperview];
        // 增加二次拔号键盘
    [centerView_ addSubview:phonePad_ ];
    }
];

 当然了,闭包最重要的概念还是自由变量什么的,可惜我一直没法理解,这里仅仅是拿它当快捷的函数包裹来使用了。

 


    
[3] 利用Bundle在activity间传送对象的方法
    来源: 互联网  发布时间: 2014-02-18
利用Bundle在activity间传递对象的方法

假如需要在两个activity间传递数据,我们通常都是用Bundle,但是里面似乎只有一些放置一些Java中已经有的数据类型,像String,int,double等,但如果要传递一个对象呢?不难发现Bundle中有一个方法putSerializable,利用该对象就可以传递对象了,不过传递的对象要实现Serializable接口。例如要传递一个User对象,则示例代码如下:
User类

Java代码
public class User implements Serializable {
    //其他代码省略
}


activity中关键代码

Java代码
  • User user = new User();   
  • Intent intent = new Intent(MyActivity.this,OthereActivity.class);   
  • Bundle bundle = new Bundle();   
  • bundle.putSerializable("user", user);   
  • intent.putExtras(bundle);   
  • startActivity(intent);  

  •     
    最新技术文章:
    ▪Android开发之登录验证实例教程
    ▪Android开发之注册登录方法示例
    ▪Android获取手机SIM卡运营商信息的方法
    ▪Android实现将已发送的短信写入短信数据库的...
    ▪Android发送短信功能代码
    ▪Android根据电话号码获得联系人头像实例代码
    ▪Android中GPS定位的用法实例
    ▪Android实现退出时关闭所有Activity的方法
    ▪Android实现文件的分割和组装
    ▪Android录音应用实例教程
    ▪Android双击返回键退出程序的实现方法
    ▪Android实现侦听电池状态显示、电量及充电动...
    ▪Android获取当前已连接的wifi信号强度的方法
    ▪Android实现动态显示或隐藏密码输入框的内容
    ▪根据USER-AGENT判断手机类型并跳转到相应的app...
    ▪Android Touch事件分发过程详解
    ▪Android中实现为TextView添加多个可点击的文本
    ▪Android程序设计之AIDL实例详解
    ▪Android显式启动与隐式启动Activity的区别介绍
    ▪Android按钮单击事件的四种常用写法总结
    ▪Android消息处理机制Looper和Handler详解
    ▪Android实现Back功能代码片段总结
    ▪Android实用的代码片段 常用代码总结
    ▪Android实现弹出键盘的方法
    ▪Android中通过view方式获取当前Activity的屏幕截...
    ▪Android提高之自定义Menu(TabMenu)实现方法
    ▪Android提高之多方向抽屉实现方法
    ▪Android提高之MediaPlayer播放网络音频的实现方法...
    ▪Android提高之MediaPlayer播放网络视频的实现方法...
    ▪Android提高之手游转电视游戏的模拟操控
     


    站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3