oc语法学习(三)(与java对比)
学到这里,基本上对oc的语法已经知道一二了,确实通过与java的对比学习,也加深了印象,基本上能读懂oc的代码了,之后就是要练习加实践了,之后会通过first-blood系列来记录我的每一次实践,以此巩固,积累。
oc语法学习(二)(java对比)
OC NSString/字符串
1.创建NSString对象
2.调用字符串的方法
(NSString )capitalizedString;
(unichar)characterAtIndex:(NSUInteger)index;
(double)doubleValue;
(float)floatValue;
(BOOL)hasPrefix:(NSString )aString;
(BOOL)hasSuffix:(NSString )aString;
(id)initWithFormat:(NSString )format …;
(NSInteger)integerValue;
(BOOL)isEqualToString:(NSString )aString;
(NSUInteger)length;
(NSString )lowercaseString;
(NSRange)rangeOfString:(NSString )aString;
(NSString )stringByAppendingFormat:(NSString )format …;
(NSString )stringByTrimmingCharactersInSet:(NSCharacterSet )set;
(NSString )substringFromIndex:(NSUInteger)anIndex ;
差异:java中对象调方法,一般是
|
|
而在oc中对象调方法,一般是
|
|
oc语法学习(一)(java对比)
OC程序结构
1.预处理命令(类似java的导入类库)
|
|
2.接口(类似java的接口)
|
|
差异:
1.java中使用interface来定义接口,接口是抽象的,并且里面的方法没有方法体,oc使用@interface来定义接口,但是oc的接口结尾要添加@end来结束
2.java中的继承使用extend,而oc中使用:表示继承(特定下)
3.java中使用implement去实现接口,而oc中使用@implementation实现接口
fragment懒加载
今天在github上看了一些tablayout的类库,如FlycoTabLayout,SmartTabLayout等,都是star比较靠前的类库。
|
|
像这个是FlycoTabLayout的设置tab数据的方法,里面直接传了一个fragment的集合,说明这些集合里的framgment对象都是先new出来的,然后再放到一个集合中作为参数传到了setTabData方法中,若我们没有对这些framgent页面做处理,相当于当我们加载了第一个fragment时,也就相当于加载了其他的fragment界面了,但是,现在大部分的app,并不希望你进到主页后,就将其他的framgment都加载好了,而是当你第一次点击其他的fragment页面时,才去加载网络拉取数据,这便是我们所说的懒加载(网上很多人称为Fragment的最优加载)。一般我们会fragment结合viewpager使用,viewpager通常会有预加载机制,默认情况下会先加载左右一页的数据,所以想要等待页面可见的时候再去加载网络数据,那么fragment的懒加载是必不可少的解决方案。
github开源项目推荐
android热修复实践
什么是热修复
我们知道按照现有的模式,一旦我们上线的app版本有了bug,我们不得不先解决bug,然后测试无误后,重新打包,然后再发布到应用市场上去,这一系列的操作,不仅浪费时间,而且也影响用户的体验,若能像web端一样,更改了代码就能立马生效,那般轻松也正是开发者有朝一日所希望的。现如今Android插件化热更新技术非常火热,也开源了很多的项目如Dexposed,AndFix,ClassLoader,nuwa等等。说来说去,热修复的作用就是可以动态的修复你的bug,一旦有bug要修复,就可以通过事先的接口从网上下载无bug的代码来替换有bug的代码,这样就省事多了,用户体验也好。
[转]没有效率的勤奋,是傻
hexo博客的更新优化
之后对博客界面,动画等的更新及优化就都写在这篇里面了。
本人目前使用的主题是Hexo-NexT,所以想要配置一些相关的设置只要去其官网就行了,点我跳转
另外再附上MarkDown的语法入门(Mou),确实格式好看了很多点我跳转
android控件自动化埋点统计
想到应用统计,平时我们使用的一般都是第三方的,比如百度统计,友盟统计,这几天公司要做自己的统计,于是乎也找了一些自动化埋点的博文学习使用。最后会给出参考链接,非常感谢。
现有的几种埋点技术的实现原理和优劣分析
1.代码埋点:将收集数据的代码直接写在需要的地方,当用户点击某个控件或者打开某个页面时调用到该部分代码完成数据的收集。
优势:准确性高,收集数据和发送数据都能精确控制,同时能方便的设置自定义属性,自定义控件,自定义View等。
劣势:埋点工作量大,更新代价大。
2.可视化埋点:根据配置文件收集用户行为,从而获取数据进行分析。
优势:无须手动埋点,配置文件可动态更新。
劣势:配置文件的配置比较耗时,弹出框,隐藏控件等行为不能收集。收集的数据比较简单,只能收集用户行为,不能收集到与行为相关的具体数据。
3.无埋点:与可视化埋点基本一致。不同点在于可视化埋点是根据配置文件收集数据,无埋点是预先收集所有的用户行为,然后根据 配置文件来提取数据。无埋点可以通过修改配置文件追溯之前的用户行为数据。
4.后端埋点:Sensors Analytics 这个平台有解决方案,优点是能收集到详细的与行为相关的数据,适用于电商等大平台。比如用户选择了一件商品,点击了加入购物车,那么可以收集到用户信息,商品信息,商品价格,商品库存,卖家等诸多信息。