当前位置: 首页 > news >正文

宅男做网站wordpress 微信小程序

宅男做网站,wordpress 微信小程序,中国建设银行网站客户注册码,wordpress 建站主题目前#xff0c;公司需要开发一套iOS和安卓的sdk#xff0c;主要包含蓝牙管理、网络请求、倒计时等方案执行、蓝牙数据交互等功能。之前没有过开发安卓sdk的经历#xff0c;写个笔记用以记录。 现在iOS sdk已经写了一部分#xff0c;安卓开发我也习惯从iOS的角度类比来开发…目前公司需要开发一套iOS和安卓的sdk主要包含蓝牙管理、网络请求、倒计时等方案执行、蓝牙数据交互等功能。之前没有过开发安卓sdk的经历写个笔记用以记录。 现在iOS sdk已经写了一部分安卓开发我也习惯从iOS的角度类比来开发节省时间。在开始具体开发之前先将几个问题具体弄清楚然后再一步步具体进行。 问题1: 与iOS的类比是否可以生成类似iOS的静态库.a或者动态库.dylib来给第三方使用 在安卓开发中并没有.a静态库和.dylib这种动态库但是有另外类似的两种形式JAR和AAR。 JAR(Java ARchive)这种库的形式主要用来封装java类当然kotlin也是没有问题的类似于iOS的.a静态库但是只能包含java代码不能包含资源文件例如XML布局Android的Manifest.xml本地库(.so文件等)。AARAndroid ARchive这是Android特有的一种库它包含了JAR库以及其他资源例如XML布局AndroidManifest.xml本地库(.so文件)等类似iOS的.framewrk。 一般情况下我们会将Android库打包成AAR文件然后在需要的项目中添加对应的依赖。在Android Studio中可以使用Gradle构建工具来生成AAR文件然后在需要使用SDK的项目中在build.gradle文件中添加对应的依赖。 例如 dependencies {implementation fileTree(dir: libs, include: [*.jar])implementation com.example:my-sdk:1.0.0 }需要注意的是使用AAR文件并不能完全隐藏SDK的实现细节。在Android中所有的Java代码都可以被反编译。如果想保护代码需要使用混淆工具例如ProGuard对代码进行混淆使得反编译后的代码难以阅读和理解。 问题2 使用gradle安装的sdk这个aar也像iOS一样有类似cocoapods的仓库吗 是的像iOS常用的cocoapods库一样在安卓中可以将sdk发布到Maven仓库如JCenter、Maven Central或JitPack然后在build.gradle文件中添加远程库依赖。这种方式最为常见它也允许其他开发者很容易地使用和更新你的sdk。 当然也可以不发布到这些仓库。让开发者直接下载aar然后放在libs目录下然后在项目的build.gradle文件中添加本地库依赖。这种方式适用于SDK尚未发布或只在少数项目中使用的情况。 第3中方式也可以通过自己服务器分发或者私有Maven仓库来分发。 问题3安卓封装成AAR的sdk是否像sdk的动态库或者静态库那样能看到对应的头文件及具体可以调用的方法 两个平台还是有蛮大的差异。在iOS使用的.a静态库时一般会将header头文件暴露给三方使用者而具体实现则在.a里面变为二进制文件无法查看。但在安卓中AAR中包含的实际上是Java的.class和kotlin编译后的字节码。不考虑通过工具反编译等因素的话直接是不能查看其源代码的。给第三方使用时更加依赖于文档说明、示例代码等。 问题4sdk如何设置具体开发是否像iOS按照cocoapods库开发一样麻烦呢 安卓开发在这种场景下反而比iOS要简单不少。在Android Studio中直接创建一个Library模块然后按照自己规模的模式进行封装和开发即可。本身这个模块也可以很方便地配置自己所依赖的三方库等。而在iOS的SDK开发中需要依赖CocoaPods或者Carthage等工具。 在整个SDK开发完成后也可以用如下简单的命令来生成AAR文件。 ./gradlew :my-sdk:assembleRelease这个命令则会在my-sdk/build/outputs/aar/目录下生成一个名为my-sdk-release.aar的文件假设模块的名字是my-sdk。然后便可以将这个AAR文件分发给其他的开发者或者上传到Maven仓库中供其他人使用。 也可以通过Android Studio的界面来执行这个构建任务。具体在Gradle窗口中找到你的模块展开Tasks-build然后双击assembleRelease任务。 问题5Android sdk开发语言如何选择java还是kotlin 在iOS的sdk开发上我选择了Objective-C。主要出于两个原因 我个人感觉Objective-C这种将声明和实现分分别在两个文件中来写的语言天然地更加适合sdk开发。私有的属性和方法可以直接写在.m文件中给三方调用的直接写在.h中更加清晰。虽然调试过程中私有的属性和方法等不可避免地也会暴露但是在正常情况下它更加简单和容易。Swift苹果也推了好多年了但是在互操作性方面在Swift里面调用oc代码基本上没有什么问题。但是反过来可能就有些问题。毕竟Swift与OC相差年代太多了两者不是一个代际的语言Swift上面有许多特性OC并不支持。比如泛型、枚举的关联值、结构体、协议扩展和某些类型的方法重载这些在OC中都无法使用。在设计SDK时需要注意公开API要遵循Objective-C的特性和约束。与其各种注意不如直接用OC来开发。在兼容和稳定性方面应该问题更小。 而在Android SDK的开发上同样是Google推出的新语言kotlin它与Java之间的互相调用却更加无缝虽然它们之间也有着一些细微的差异和限制。并且kotlin和java都是一个类为一个单文件的代码并没有oc和kotlin那种巨大的差异。所以我个人感觉可以直接使用kotlin还可以利用kotlin中的协程等更加强大的特性。
http://wiki.neutronadmin.com/news/99450/

相关文章:

  • 提供龙岗网站建设简单商城源码
  • 网站开发+接活诚讯通网站
  • 企业网站推广网站网站建设毕业报告
  • 电子商务网站建设组织流程图网站建设为风险分析
  • 网站建设 书籍下载缩短链接网站
  • 公司网站设计意见移动端和pc端的意思
  • 苏州吴江做网站公司网站设计建设服务
  • 成都网站快速排名提升公司网站建设吧个好
  • 电脑系统做的好的网站网站收录怎么设置
  • 建设企业网站需要什么wordpress 技术文档
  • 外贸网站优化服务泰州谁会建网站
  • 聊城做企业网站的建设网站需要哪些域名
  • 电商网站首页实力app开发公司
  • 六安网站建设全包网站模板如何删除
  • 网站开发环境搭建章节教材书wordpress侧边栏在哪
  • 网站怎么做关键词搜索电子商务网站前台建设常用的技术有
  • 增加网站备案网站页面优化分析
  • 广州网站营销优化qq如何保护网站名
  • 天助网站平面设计好找工作不
  • 昆明建站网址旅游网网站建设方案
  • html网站开发心得体会检察院门户网站建设成效
  • 国外做文化的网站网易企业邮箱免费入口
  • 常用seo站长工具滨州正规网站建设公司
  • 小公司网站怎么建做电销有什么资料网站
  • sogou网站提交纺织行业网站怎么做吸引人
  • 临海建设局网站青岛网页设计师
  • 教育类网站开发需求说明书建设厅网站密码忘了怎么办
  • 做 理财网站好潮州市建设工程交易中心网站
  • 成都市学校网站建设百度站长收录入口
  • 做零食用哪个网站好怎么制作html文档