背景:由于公司的安卓同事走一个又一个,公司又不新招android同事,就把我这iOS的拉过来弄Android,在这段时间碰到不少问题,也学习不少东西,感触颇深。

安卓和iOS同为移动端,很多相似的地方不言而喻,但各自也有各自的特点。在转Android过程我切身体会到编程思维的重要性,而不是编程的语言,很多编程语法我都是边查边写。但是如何优化,哪里会产生潜在的bug等等,是学习和长期的编程实际开发所培养的编程思维,这一点会决定你的思维高度,直接影响你所写出的代码质量。

号称安卓的四大组件,Activity,Service,Broadcast Receiver以及Content Provider。一、Activity与iOS的ViewController类似,也具有自己的生命周期,也是位于MVC中的Controller层,处理当前的控制器的控件以及业务逻辑。二、Service,安卓具有比较强大的后台运行的能力,而支撑这个能力就是Service,而iOS也有类似于Service的后台运行能力,比如后台播放,后台下载,后台定位,不过这些都是需要在info.plist进注册才可以使用。三、Broadcast Receiver一个接受广播的东西,可以接受整个手机的比如开机,SIM卡变化,短信等,iOS权限没有这么高,但是你也可以监听一些东西,系统有开放部分的东西,比如电池电量的变化。另外,在程序开发中,iOS常用的NotificationCenter,在安卓则是使用常见的EventBus第三方来实现的。四、Content Provider对外共享数据,而iOS没有这个功能,iOS每个程序数据是独立,由于沙盒机制,除了钥匙串中保存数据,本程序的数据是别的App拿不到的,不过譬如程序跳转也可以传些参数,但是那是传数据而并非共享数据。

安卓和iOS权限不同,并且安卓开源。也决定了两者的不一样的特性,安卓灵活多样,iOS封闭单一。同时安卓的安全性和多种适配参差不齐,而iOS则显得稳定而可靠。同样一个推送,iOS则只用丢给OS处理,接受到message则显示出来,进入程序,处理message,程序开发几乎不用管什么。而android是自己的Service进行监听处理,很多使用第三方的推送服务,问题百出又不稳定可靠,也是困扰我很久的事,由于国内很多手机厂商不支持Google Service,所以自己的监听通知的Service很容易被杀死导致通知接收不到的问题。在6.0以前,权限授予是一次性在安装的时候授予的,不人性化,6.0以后像iOS一样在使用的时候弹出给用户确认,而且权限可以拒绝和接受,不过加大了android开发的工作量。

由于刚接手安卓,还有很多知识有待补充,这也是随想所记,后期还有待更正和修改,接触很多是项目开发过程中所碰到的问题...

更多相关文章

  1. android modbus协议之(三)modbus-TCP/IP通信(安卓系统作为modbus
  2. Android(安卓)开发自己的网络收音机4——读取XML文件的电台数据
  3. 实战Android读取USB数据到手机自带存储中
  4. H5和android原生APP之间的区别,Android与H5混合开发
  5. 手把手教你仿一个知乎日报Android客户端(三)主页面设计
  6. android webview内嵌网页js解析json 并根据json数据生成表单以及
  7. 在Android(安卓)P版本中加入Face Unlock相关功能的讲解
  8. Android连接远程数据库
  9. 云平台编程与开发(三):创建基于X5Cloud云平台的Hello World程序(运行

随机推荐

  1. 如何检查 Android 应用的内存使用情况
  2. Android学习路线:如何成长为高级工程师
  3. APP开发 你应该iOS和Android都开发 还是
  4. Android面试宝典----1.选择填空分析及答
  5. Android(安卓)HIDL 在Java 中使用
  6. Android APP内存优化之图片优化
  7. 如何实现android button事件?
  8. 第一行代码-9.6 服务的最佳实践--后台执
  9. 两个小时精通Android开发之按键映射篇
  10. Android进程