目标人群:没有基础的安卓刚開始学习的人 知识点:在Android Studio中使用support V7包来实现ActionBar的效果 目标:在页面上显示一个ActionBar
① 依赖库版本选择 : 在 build.gradle 构建脚本中 , 如果设置了多个版本的依赖库 , Gradle 构建时会默认选择最高版本的依赖库 ;
依赖库分组为 androidx.appcompat , 依赖库名称为 appcompat , 依赖库版本号为 1.3.1 , 三者由冒号隔开 ;
满足上述版本要求后 , 在 build.gradle 构建脚本的 " android / defaultConfig " 层级下 , 添加矢量图支持 , vectorDrawables.useSupportLibrary = true ;
在之前的文章中,我们研究了 Android 的 VectorDrawable 图像格式以及它能够实现的功能:
Package name:表示项目的包名,Android系统就是通过包名来区分不同应用程序的,因此包名一定要具有唯一性。
依赖配置 的 作用范围 是可以自定义的 , 在 Gradle 构建工具中 , 内置了如下几种依赖配置项 , 在 【Android Gradle 插件】Gradle 依赖管理 ⑩ ( dependencies 依赖配置项 configurations ) 博客中 , 提到了在 dependencies 依赖配置中 , Android Gradle Plugin 插件 和 Gradle 官方默认配置好了一批依赖配置项 , 如
其实这是 VisualStudio 逗比的问题,尝试关闭 VisualStudio 然后干掉 Bin 和 Obj 文件夹,然后先开启安卓模拟器,然后重新构建就可以了。如果一次重新构建失败,那么再次右击重新生成就可以了
作者 / Amanda Alexander, Product Manager, Android
为了保证您的应用与用户设备中安装的其他应用在视觉和行为上保持一致,我们 推荐 您遵循 Material Design 规范,因为用户从一个应用中学习的操作模式可以无缝衔接地在另一个应用中使用。
为了充分利用Android Plugin for Gradle 3.0+的优点,将Android项目拆分成多个module的做法越来越常见。然而,随着module数量的增多,我们很快就会遇到依赖管理的混乱问题。
Android系统刚刚面世的时候,可能连它的设计者也没有想到它会如此成功,因此也不可能在一开始的时候就将它的API考虑的非常周全。
摘要: 本文详细探讨了Gradle中编译时和运行时依赖的概念、区别及其重要性。我们也将了解为什么依赖管理对于现代软件开发至关重要,并探讨了一些常见的陷阱和最佳实践。
我们最近宣布了 Material Design Components(MDC)1.1.0 ,这是一个库更新,为您的 Android 应用程序带来了 Material Theming 、新的组件、深色主题和其他令人兴奋的功能。
在 2018 年时,Google 推出了《猜画小歌》应用:玩家可以直接与AI进行你画我猜的游戏。通过画出一个房子或者一个猫,AI 会推断出各种物品被画出的概率。它的实现得益于深度学习模型在其中的应用,通过深度神经网络的归纳,曾经令人头疼的绘画识别也变得易如反掌。现如今,只要使用一个简单的图片分类模型,我们便可以轻松的实现绘画识别。试试看这个在线涂鸦小游戏吧:
网上对Android Support Library中各个依赖包介绍的中文资料太少了,结合官方文档和有限的参考资料做了一次总结,有描述得不对的地方还请指正。
0x1、Android Support Library的由来 Android 3.0 (API 11) 为了更好地兼容平板,加入了Fragment,而想让低版本的系统也能用上,需要做一个 向下兼容,于是Android团队推出了Android Support Library。
Android应用开发涉及大量的依赖库和第三方组件,因此有效地管理这些依赖关系至关重要。本文将介绍四种主要的Android依赖管理方式,分析它们的优点、缺点以及最佳实践。
在遇到 依赖冲突 时 , 如果要 排查某个依赖的子库 时 , 就需要对该依赖库非常熟悉 , 最好是找出该依赖库位置 , 并 分析该依赖库的 Maven 配置文件 , 即 pom.xml 配置文件 ; 下面以 com.android.support:appcompat-v7 依赖库 为例进行演示 , 这个库经常会造成依赖冲突 ;
好代码,总是要经历多个阶段,从匆忙赶工上线,到慢慢细致打磨,折腾的过程,美好的结果。
Android Studio 中提供了maven编辑工具。编译完成后可以生成POM文件。
在上一篇博客 【Android Gradle 插件】组件化中的 Gradle 构建脚本实现 ① ( 组件化简介 | 创建组件化应用 | 依赖库模块 / 应用模块 切换设置 ) 最后提到了 在 Gradle 构建脚本中 , 需要实现 依赖库模块 / 应用模块 切换设置 , 主要涉及如下两个方面 :
分析 Android 应用打包后的 APK 文件 , 打开 resources.arsc 文件 , 该文件是 Android 应用的资源映射表 ,
Android系统版本不断地迭代更新,每个版本中都会加入很多新的API进去,但是新增的API在老版系统中并不存在,因此这就出现了一个向下兼容的问题。
上一节我们介绍了ActionBar的使用,这一节我们介绍ActionBar 的替代者——Toolbar,看看它有多大的能耐!
在 build.gradle 中 开启 Proguard , 在编译时 , 会自动进行如下一系列优化 :
作者 / Florina Muntenescu, Android Developer Advocate
在之前遇到过类似问题 【错误记录】Android Studio 编译报错 ( Module was compiled with an incompatible version of Kotlin. The binary ) , 报错的依赖库不同 , 本篇博客再次分析一遍 ;
Android 3.0 (API 11) 为了更好地兼容平板,加入了Fragment,而想让低版本的系统也能用上,需要做一个向下兼容,于是Android团队推出了Android Support Library。
报错的模块是 e: C:/Users/octop/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.7.10/bac80c520d0a9e3f3673bc2658c6ed02ef45a76a/kotlin-stdlib-common-1.7.10.jar!/META-INF/kotlin-stdlib-common.kotlin_module 模块 , 就是 kotlin-stdlib-common-1.7.10.jar 依赖库 ;
在我的电脑的 SDK\extras\android\m2repository\com\android\support 路径中 , 就是依赖中常用的支持库 :
按照最新 ADT 的默认设置(如下图所示)创建一个最简单的 HelloWorld 程序,会发现最后生成的 apk 文件大小就已经达到了惊人的 903KB。如果只是想做一个功能非常简单的 APP,体积也这么大的话那太让人沮丧了,那我们就来探索一下如何让这个 HelloWorld.apk 体积最小。
对于很多第一次学习编程的同学对于很多定义性的概念大多都不了解,例如开发环境。对于大部分同学来说这是个模糊的概念。
最近接着介绍安卓系统安全知识,Android安全主要由系统框架实现,开发者构建设计,到用户授权三大方面组成。本系列将从安卓系统框架设计,到用户权限管理,到最后的应用安全签名等全面介绍,这个过程中,有转载,译文,当然关键的也有原创,有兴趣的可以继续关注。
Android技术迭代更新很快,各种新出的技术和名词也是层出不穷。不知从什么时候开始,总是会时不时听到AndroidX这个名词,这难道又是什么新出技术吗?相信有很多朋友也会存在这样的疑惑,那么今天我就来写一篇科普文章,向大家介绍AndroidX的前世今生。
大家好,我叫Jack冯; 本人20年硕士毕业于广东工业大学,于2020年6月加入37手游安卓团队;目前主要负责海外游戏发行安卓相关开发。
Android Jetpack 套件是最近比较流行的组件库,它包含了一系列的优秀实践,本文是先介绍 Jetpack 的概貌。
最近在Android Studio中新建项目时发现Activity还是和以前一样,默认继承自ActionBarActivity,但是ActionBarActivity 却被标示为已经过时的API!对于这个问题,StackOverflow上已经有人回答了,请看ActionBarActivity deprecated,然后你会发现自从Android的兼容支持库升级到21版本以后(appcompat-v7-r21.1.0),ActionBarActivity 被 AppCompatActivity 取代了!还有一个变化是建议使用Toolbar,而不要使用原来的ActionBar 了!所以,这两节的内容我打算总结下ActionBar和Toolbar的基本使用,因为Toolbar实际上是ActionBar的扩展,所以这一节还是介绍复杂的ActionBar,下一节再继续介绍Toolbar。
长久以来。Android的UI并不算美观,以至于很多IT公司在进行界面设计的时候,为了保证双平台的统一性,强烈要求Android端的界面风格必须与iOS端一致,我认为这里非常不合理的,同一操作系统中各个应用之间的界面统一性要远比一个应用在双平台的界面统一性重要的多,只有这样,才能给使用者带来更好的用户体验。为了解决这个问题,Google公司在2014年IO大会上推出了一套全新的界面设计语言——Material Design(材料设计语言),这次Google在界面设计上确实下足了功夫,一个词,好看。并且在2015年IO大会上推出了一个Design Support库,这个库将Material Design中最具代表性的一些控件和效果进行了封装,使得开发者在不了解Material Design的情况下也可以轻松地将自己的应用Material化。
报错时说明 androidx.appcompat:appcompat:1.4.1. 依赖库必须以 android-31 进行编译 , 这里降低该依赖库的版本到 ‘androidx.appcompat:appcompat:1.0.0’ 即可 ;
自2008年9月22日谷歌发布Android 1.0版本到前不久Android 12版本到发布,Android已经陪伴我们走过了12个年头。可以说,经过12年的打磨和沉淀,Android的技术体系已经非常的成熟了。比如说,一开始时框架很少,也没有什么规范,所有的代码都是要自己写,但是现在,我们很少会关系这种基础代码,因为一些框架和工具的出现正在帮助开发者完成这方面的工作。
Emoji 已无处不在,自发布以来 emoji 已成为我们语言中不可或缺的一部分,它生动有效的表达力带来了语言文字层面的变革。您可能不会想到,连银行应用、健身应用或外卖应用也都应该支持 emoji。Emoji 现在已经遍布短信等通讯应用,已经成为我们语言的一部分。如果您的应用包含文本视图,那么它应该支持 emoji,至于原因,且听我娓娓道来。🥳 📷 遇到的问题 😖 如果您的应用没有对 emoji 进行相应的处理,较早版本的 Android 可能不知道如何去显示它们。在大多数情况下,只会显示一个空白方格,我们
这篇文章详细记录了下怎么在树莓派上安装安卓系统,使用了LineageOS版本的Android。
1.项目结构 现在的MVP模式越来越流行。就默认采用了。 如果项目比较小的话: app——Application Activity Fragment Presenter等的顶级父类 config——API,常量表等 model——数据层 entities——数据模型 presenter——MVP的P service——服务 ui——MVP的V utils——工具类集合 widget——各个可复用View集合 如果项目比较大,上面的方式一定会造成presenter和view里近百个文件。看瞎眼系列。推荐下列方
在介绍使用 Gradle 统一配置依赖管理前我们先来简单介绍一下 Gradle, Gradle 是一个基于 JVM 的构建工具,也是一款非常灵活强大的构建工具,支持 jcenter、maven、Ivy 仓库,支持传递性依赖管理(即 A 依赖 B,B 依赖 C,那么 A 也就可以依赖 C,不用再单独去依赖),而不需要远程仓库或者是 pom.xml 和 ivy.xml 配置文件,抛弃了各种繁琐,基于 Groovy,build 脚本使用 Groovy 编写
刚开始自己写了一个 module demo 编译、运行都没有问题,然后又新建了一个 module,因为在新建之前看到编译好的 module 中有个 xml 文件,感觉命名不好,就 Refactor -> Rename 了一下,重命名了一下文件,一般在重命名的时候 AS 会弹出提示你是否在调用的地方也进行重命名,结果我就直接一路Refactor了,因为之前也是这样修改的,没有出过问题,然后在编译的时候就出现了上面的错误,然后定位到这一行依赖这里:
我们先过一遍部署 Jenkins 服务的步骤,因为网上讲这块内容的资料很多,所以我只说一些重点步骤和需要出错的点。我的需求是实现一个局域网内可用的 Jenkins 服务,部署步骤会相对简单,首先需要一台长时间开机的服务主机,这里以 Window 为例。
领取专属 10元无门槛券
手把手带您无忧上云