Android与iOS同属移动系统,两者在sdk层面,以及开发理念上都有所异同。

本文章主要是记录两者在开发中对同一个需求的各自实现方法。

1.Activity与UIViewController

这两个东西比较类似,

  • Activity可以通过xml描述文件创建
  • UIViewController可以通过StoryBoard(其实也是xml)创建

2.界面的切换

  • iOS里,可以从一个viewcontroller里弹出一个模式界面,也可以在navigationviewcontroller里以压栈的形式跳转一个窗口。不管是哪一种,前一个页面都不会释放掉,都可以返回回来。
  • android里,有两种跳转方式,startActivity和startActivityForResult,startActivityForResult有点儿类似于iOS里的navigationviewcontroller方式,而startActivity的话,是条单行道,只能前进不能后退。
  • 其实这也从一方面证明了两种开发的概念不同,iOS着重于MVC,而android着重于状态。
  • Android里用intent实现界面跳转,ios里使用segue。
  • 对于界面间传值,前跳时,android使用intent传简单值,或者用一个Bundle类来传一些复杂的值。而ios的做法比较简单暴力,就是直接给对象viewcontroller的属性设值。
  • 返回时,Android使用在前一个页面实现一个onActivityResult监听方法来捕获返回的值,读取方法和前跳时没区别。而ios同样还是用比较粗暴的形式,在unwind的delegate方法里直接读取对象viewcontroller的属性值。

3.关于webview

  • ios和android都实现了内嵌web页的控件,都叫webview,使用方法也差不多。不过在捕捉webview事件时有所不同
  • ios是直接实现的uiwebview的delegate方法处理各个事件。
  • android是通过设定给webview一个WebViewClient监听类,通过这个类里的方法来处理各个事件。
  • 比如uiwebview里的shouldstartloadwithrequest 有点类似于WebViewClient的shouldOverrideUrlLoading方法

4.关于二维码读取

  • ios是自带sdk的,比较赞。在AVCaptureSession里设值输出为AVCaptureMetadataOutput,并设其metadataObjectTypes属性为[AVMetadataObjectTypeQRCode]即可,非常简单。
  • android没有自带这个sdk,但是有一个开源的sdk非常有名,zxing

更多相关文章

  1. 对android应用一些破解的方法
  2. (2019年10月更新) Android 最全的底部导航栏实现方法
  3. Android工程内嵌资源文件的两种方法
  4. 解决国行安卓(Android)手机无谷歌(Google)服务的一个参考方法
  5. 仿爱乐透android客户端界面实现(附工程源码)
  6. Android属性动画—实现第三方登录的上拉展开,下拉隐藏
  7. Android在高jar包版本的工程中修改方法

随机推荐

  1. SqlServer索引的原理与应用详解
  2. SQL Server 2012使用Offset/Fetch Next实
  3. 大容量csv快速内导入sqlserver的解决方法
  4. SQL查询字段被包含语句
  5. Sql Server2012 使用IP地址登录服务器的
  6. SQLServer查询某个时间段购买过商品的所
  7. SQL Server学习笔记之事务、锁定、阻塞、
  8. 分享一个简单的sql注入
  9. SQL Server 性能调优之查询从20秒至2秒的
  10. MSSQL批量插入数据优化详细