当前位置:网站首页>保姆级教程:写出自己的移动应用和小程序(篇三)
保姆级教程:写出自己的移动应用和小程序(篇三)
2022-08-02 13:41:00 【51CTO】
在上一篇文章中,我们学习了如何编写一个 iOS 与 Android 的第三方 SDK,但在实际的研发工作中,纯靠自己手写 SDK 毕竟是少数情况,在常见的大多数时候,还是需要引入第三方 SDK。
那么今天我们就来看看如何在 iOS 与 Android 应用中引入我们在上一篇文章中写好的 SDK。
在 iOS 环境下引入 SDK
- 新建工程,命名为 ADemo
- 将我们在第二篇文章中创建好的动态库,拖进工程
将选中的文件夹拖入工程即可
- 修改相应配置
既然引入了第三方 SDK,那就需要在这里建立关联与依赖
- 在 ViewController 补充测试代码,并运行
如果运营成功,你会看到“吃骨头”的提示
在 Android 环境下开发 SDK
与 iOS 工程不一样,在 Android 环境中引入第三方 SDK,我们会通过 Gradle 来进行管理。
Gradle 是 Android 构建的主要组成部分, 依赖也是由 Gradle 管理,可以 点击这里查看其官方文档。与 iOS 应用不一样,通过 Gradle 引入的 SDK 既可以存在于本地系统中,也可以存在于远程的代码库之中。不论存在于哪里,SDK 所声明的所有传递依赖都会被自动集成在项目之中。
- Android Studio 导入外部 SDK 的三种方式
在 Android Studio 中,一共有以下 3 种方式导入外部 SDK ,让我们一起看看。
- Library Dependency:需联网下载;
- Jar/aar Dependency:添加本地 jar 包,添加前要先将 jar 包放到项目的 libs 目录下;
- Module Dependency:添加本地带有源码的库工程,添加前要先将 module 导入项目;
第一种方式:Library Dependency(远程依赖)
首先点击 File Structure 查看文件结构
再切换至 Dependencies 中,就能看到对应的第三方 SDK 了
如果我们直接点击上图中的加号,就可以在这里通过 “远程依赖” 的方式引入 SDK
第二种方式:Jar/aar Dependency(本地依赖)
我们如果直接把第三方库拖入工程,就是通过 “本地文件” 的方式引入 SDK
在引入 aar 之后,还需要在本地配置目录
再添加依赖关系
第三种方式:Module Dependency(源码依赖)
在这里,我们尝试以 这个 CircleImageView 例子 引入该库
首先我们需要先将代码库 clone 到本地
然后我们点击这里的 Import Module 进行引入
再选中 clone 在本地的代码库
别慌,如果说 import module 无法识别无法导入,那就只能手动导入了
第一步,拷贝源码到我们的工程
第二步,在 setting.gradle 这个文件添加这一行内容
这样 Android Studio 就能识别到我们导入的项目了!
于是我们再次回到 Android Studio 中,添加工程依赖
分别点击 Project Structure - Modules - Declared Dependencies 到最后的加号
在这里选中 circleImageView
最终点击 OK 和 Apply ,就能成功的引入这个第三方依赖库了。
本期教程依然基于 mac 电脑进行实现,如果你的电脑是 Windows 或者其他操作系统,还需要进行一些其他的灵活配置。
在下一期的文章中,我们将会一起聊聊如何写出 SDK ,并且将 SDK 引入到移动应用中,敬请期待。
更多信息可进入 FinClip官网查看
边栏推荐
- 自动生成代码器推荐-code-gen
- 基于华为eNSP的企业网络规划
- Seata分布式事务
- 鲁大师7月新机性能/流畅榜:骁龙8+正面对决天玑9000+,性能跑分突破123万!
- [b01lers2020]Welcome to Earth-1
- els 长条碰撞变形判断
- wx-wow(微信小程序动效库)
- [C language] Explicit array solution (1)
- 什么是 commonjs2
- [typescript] Use the RangePicker component in antd to implement time limit the previous year (365 days) of the current time
猜你喜欢
stack && queue
电脑死机,Word忘了保存怎么办?怎么恢复?(编辑器是WPS)
拯救流浪猫 | 「喵先锋」系列数字版权盲盒明日开抢
Summer training camp-week2 graph theory
【C语言】细品分支结构——if-else语句
Do you know Dijkstra of graph theory?
基于华为eNSP的企业网络规划
[C language] Analysis of function recursion (3)
Singleton pattern of seven kinds of writing, you know?
基于 WeihanLi.Npoi 实现excel导入时纯汉字的日期转换
随机推荐
基于flask商城的管理员功能
tinymce 如何实现动态国际化
攻防世界----unfinish
永远退出机器学习界!
面试SQL语句,学会这些就够了!!!
为什么IDEA连接mysql Unable to resolve table 编译报错但是可以运行
scrapy框架初识1
移动端适配,华为浏览器底色无法正常显示
矩阵中的路径
什么是 commonjs2
Oracle数据库的闪回技术
【C语言】夏日一题 —— 如何判断素数?
FreeBSD bnxt以太网驱动源码阅读记录三:
国产 GPU 创业潮 喧嚣下的资本游戏
删除链表的节点
selenium chrome driver运行时的cannot determine loading status from target frame detached问题
RESTful 风格(详细介绍 + 案例实现)
CVE-2020-27986(Sonarqube敏感信息泄漏) 漏洞修复
SQL函数 UNIX_TIMESTAMP
我的创作纪念日