• 一个简单、轻量、可随意定制的版本更新库

    对,可能你猜到了,是 Android 开发。都说现在发 Android 的文章都没人看了,但是我不一样,今天给大家分享的这个开源项目是来自于读者的投稿。对,这个开源项目就是一个简单、轻量、可随意定制的 Android 版本更新库,它叫:AppUpdate 。我相信很多 Android 开发者,在工作当中肯定会用到类似的功能的。
  • 有赞 Android 编译进阶之路——全量编译提效方案

    本期我为大家详细介绍下基于 EnjoyDependence 的全量编译提效方案。如不特殊指明,EnjoyDependence 仅指代 EnjoyDependence Gradle 插件。发布是整个全量编译提效方案的基础,只有稳定可靠的aar发布才能保证全量aar构建的可靠。熟识maven的同学应该对 pom.xml 文件不太陌生,它是 maven 依赖管理的核心文件,是 android dependencies 中各种依赖方式的基础。
  • 2019Android阿里&腾讯&百度&字节&美团&网易&爱奇艺校招面试汇总

    作者丨Hengtao24链接:https://www.jianshu.com/p/7a8a10f541c8基本情况2020届硕士生,Android开发岗此文主要是2019年年初春招实习的面试和正式校招面试经验汇总,最终校招拿到了腾讯,百度,美团,网易等offer主要包括阿里4面,腾讯实习4面和校招4面,字节3面,百度3面,美团3面,网易3面,爱奇艺3面阿里阿里面试很喜欢问源码,优化,原理,涉及到的范围很广,还是具有一定挑战性的,以下包括阿里实习二面和校招二面,笔者都止步于二面,阿里可以去找找内推。);Lock的原理Android:Activity生命周期(具体执行过程,涉及到哪些类?
  • 华为发布全新IDE:DevCro Studio,Facebook正自研OS系统!去除Google安卓生态限制!

    华为发布全新 APP IDE:DevCro Studio12月20日,在华为终端分布式大会上,华为发布了云端编辑工具Devcro Studio,现已经向开发者开放"试用申请"。"Devcro Studio 和 Google方的Android studio 对比主要有下面几点优势。如果之前是Android Studio的用户,可快速平滑地过渡到DevEco Studio。Facebook 正开发自有操作系统12月20日消息,Facebook正在开发自己的操作系统,用于取代Android。需要注意的是,Facebook OS并非操作系统的最终命名。据外媒报道,Facebook内部已经开始着手新OS研发,以消除对Android的依赖。Facebook AR、VR项目负责人Ficus Kirkpatrick在接受The Verge采访时暗示Facebook正在做自研OS项目,无需依赖Android。。
  • 商用Android 工程化实践,摆脱小作坊式开发

    Android 作为一个诞生近十一年的移动操作系统,占据了近 80% 的市场份额。我相信在座的很多朋友,都是从2013-2015年开始从事 Android 开发的,可能晚一点的有2016年的。这也正是 Android 生态发展最快速的3年,如今我们再回过头来看一下这几年。YitBridge 就会将之前服务提供者与服务使用者做一个桥接完成服务的调用。这就是YitBridge唯一的用处,隐藏实现类,做到彻底的面相接口编程。Android 上有一个注明的注解绑定框架叫 Butterknife,他的内部实现就是通过APT来做的,还有 Google 出品的 Dtabinding、Dagger2,这些也都是APT来做的。那这个注解处理器在 YitBridge 中做了些什么呢,我们来看这段代码。
  • 走心推荐几个优质项目

    上一期入口:学不动了系列,又来推荐一波优质项目咯 91. 官方发布的代码搜索工具https://cs.android.com/总体来说体验要优于目前一些在线源码阅读站点的,但是需要网络良好才行,毕竟是官方出品,还是要推荐一波。如果你平时也会做一些小项目,有这样一个基础 UI 库还是不错的。此外该库也算是非常好的自定义控件的学习库。
  • Android网络架构演进

    HTTP协议网络交互+使用API我认为,正常满足我们开发需求的所谓的网络架构,其实包含两个部分,一个是基于HTTP协议帮我们拼接请求报文、发起请求、收到服务器响应和预处理响应报文的部分;而另一个就二次封装以便我们更灵活、更高效使用的部分了。AsyncHttpClient+AsyncHttpResponseHandler天使 应该是数一数二的元老级项目,目前为止我们在天使上维护某个接口、需要debug或者重写业务逻辑的时候,总是习惯性的搜一下onSuccessResponse,因为他们是我们界面搜索接口请求成功的回调,事实上,这些可以在activity/fragment上通过重写的回调方法,他们都是通过继承改造AsyncHttpResponseHandler,通过几次转接、中间做一下预处理/统一错误处理实现的。
  • 为什么我们最终抛弃 Chromium 选择了 Firefox ?

    本文中将介绍为什么我们认为有必要创建自己的浏览器,为什么我们选择了 Firefox 以及为什么我们认为这是正确的决定。在那之前,我们发行了多个作为 Firefox 插件的搜索和隐私产品。如今,以 Chromium 为浏览器的基础已成大势所趋。我们认为 Mozilla 比 Google 更值得信赖,Mozilla 终止或修改某个功能的可能性更小; 考虑到垄断的问题,我们认为支持 Firefox 更有意义。相反,Chromium 不会暴露某些 Google 业务敏感的区域。Firefox是一个伟大的平台我们建立 Firefox 分支已有四年多了,我们发现 Firefox 非常适合进行分支。
  • Android安全知识笔记合集

    没有反编译资源之前,AndroidManifest.xml和activity_main.xml这样的资源文件都是非明文的,无法阅读。smali文件其实也是真正的源代码,只不过它的语法和java完全不同,它有点类似于汇编的语法,是Android虚拟机所使用的寄存器语言。因为无法获得原来正版的签名,可以使用Android Studio生成自己的签名,进行打包,生成自己的apk。Android 系统默认的混淆规则中已经添加了对于枚举类的处理,我们无需再去做额外工作。四大组件Android 中的四大组件同样不应该被混淆。因此,动态注册的BroadcastReceive可能会导致拒绝服务攻击、APP数据泄漏或是越权调用等安全风险解决方案:1:在AndroidManifest.xml 文件中使用静态注册 BroadcastReceiver,同时设置 exported="false",不被外部应用调用。
  • 帮助解决Android应用程序中的错误(需要一些建议)

    大家好, 我目前正在为Android开发游戏应用程序。该游戏应用基于“开始Android 4游戏开发”中的“ Mr.Nom”。对于第一个版本,我将代码保持不变,但是确实做了一些原始的图形和音频属性。我解决了我在应用程序中遇到的最后一个错误(未找到类异常)。我通过将继承层次结构中的类之一从抽象更改为非抽象来解决此问题。我已将“ uses-library”属性添加到清单文件中,但仍然出现新错误。这是堆栈跟踪: 06-27 00:26:42.975: D/PackageManager(64): Scanning ...
  • Android 开发者成神之路!

    一个 Android 技术专家,至少有 2~3 个专业领域。Android 是一个巨大并且动态的生态系统,你可能需要花好几周时间去了解并学习它相关的一些工具和概念,但是最后你会发现,它们有好多都不是很重要,或者说并不是非常有用。文中,我不可能列出所有 Android 开发者都需要的技能。写在前面如果你只是一个想成为 Android 开发者的人,并且还没有写过任何应用,那么这篇文章对你来说,还有点太早。有一些复杂的概念的确是 Native 的 Android 开发者需要学习的,但另一部分却是由于 Android 的原因,造成了它的复杂度。
  • Android 开发不可错过的开源项目

    在如此多 Android 库中,我们该如何寻找最合适的一款呢?3MPAndroidCharthttps://github.com/PhilJay/MPAndroidChart Stars 17989MPAndroidChart 是 Android 系统上一款开源的图表库。4android-UniversalMusicPlayerhttps://github.com/googlesamples/android-UniversalMusicPlayer Stars 8351这个开源项目展示了如何实现一个横跨各种Android平台的音乐播放器,包括手机,平板,汽车,手表,电视等。Google官方推出,跨平台开发必看项目。5Glidehttps://github.com/bumptech/glide Stars 17637Glide 是一个 Android 上的图片加载和缓存库,其目的是实现平滑的图片列表滚动效果。6VideoPlayerManagerhttps://github.com/danylovolokh/VideoPlayerManager Stars 2199对Android MediaPlayer类的使用进行帮助说明的库。Android Swipe Layout 旨在可以轻松集成到任何地方,ListView,GridView,ViewGroup;可以接收onOpen,onClose,onUpdate回调并且可以相互嵌套的效果10BottomBarhttps://github.com/roughike/BottomBar Stara 6928在 Material Design 中提供底部导航栏的视图组件。
  • Android-模块化-面向接口编程

    面向接口编程它的核心思想是将抽象与实现分离,从组件的级别来设计代码,达到高内聚低耦合的目的。面向接口编程方法是,先定义底层接口模块,也就是 通信的协议与功能约定 ,是提供方实现对应的功能与能力。面向接口编程的好处?在模块化中可以相互依赖service(接口层)或依赖多个。对于 module 是在同一个工程里的项目结构,service 可以放到统一的一个 Module 下,我们统称为 Mediator,这样做的目的是为了减少 Module 创建与维护。使用一个 Mediator Module 统一管理这这些 service 就很好控制了 module 数量。
  • Android性能优化--启动优化

    通过Android SDK自带的Debug。3处有两个选项:wall clock time:代码在线程上执行的真正时间[有一部分是等待cpu轮询时间]thread time:cpu执行的时间一般是优化的是cpu执行时间关于该图如何查看和阅读可以参照文章Android性能优化—TraceView的使用结合业务代码走查发现Controller0线程为一个线程,因此主线程一些操作可以放进去执行,从而减少main线程的耗时。
  • Android安全技术点小结

    最近开学杂事逐渐增多,就把我自己关于Android的一些学习笔记和内容整理了下发出来,以铺大饼的形式尽量囊括在入门Android安全所学习过的一些知识点,希望对大家有所帮助。hl=zh_cn2)adb:Android sdk自带的命令行工具,用于与设备通信,便于执行各种设备操作。App安装过程可以追踪分析Android系统程序PackageInstaller中PackageInstallerActivity来去理解,具体内容这里不再展开。Android系统架构图:可见Dalvik属于Android运行时环境,和核心库共同承担Android应用程序的运行工作。
  • 向现有应用添加 Flutter

    Add-to-app有些时候,一次性把现有的应用重写至 Flutter 不实际。Flutter 1.12 已为一些基础场景提供 add-to-app 支持,允许开发者使用 add-to-app 每次为一个应用添加一个全屏 Flutter 页面。在后台模式下使用 Flutter 尚处于开发阶段。支持特性添加至 Android 应用可通过在 Gradle 脚本中添加一个 Flutter SDK hook 来自动构建和导入 Flutter 模块。在 Flutter 1.12 中,由 Flutter 团队或 FlutterFire 维护的大部分插件已完成迁移。请通过 FlutterEngine API 启用并保留您的 Flutter 环境,以便单独添加一个 FlutterViewController。Flutter 模块可通过 Flutter 插件与平台进行互动。支持通过 IDE 中的 flutter attach 或命令行连接到包含 Flutter 的应用,以便调试 Flutter 或启用有状态的热重启。
  • Android APM 系列一(原理篇)

    二. Android APM 的基本原理市场上有很多商业化的 APM 平台,比如著名的 NewRelic,还有国内的 听云、OneAPM 等等。答案是transform apiAndroid Gradle Plugin 1.5 及以上版本,Google 官方提供了 transform api 作为字节码插桩的入口。其实 Android 上的无痕埋点也是同样的原理,区别只不过是我们 hook 的点不同,采集的数据不同,因此掌握了 APM 的实现原理同样可以实现无痕埋点系统。
  • 不是安卓不行了,是你跟不上了

    # 不是安卓不行了,是你跟不上了很多读者都在反馈说,现在一个岗位可以收到的简历数,是前几年的几倍。我们必须承认,僧多粥少就是 Android 行业的现状,别说初中级工程师,就是高级工程师也是一抓一大把。听起来很套路,但企业需要的是能对自己提交代码负责、对使用每一个工具负责的「高级/资深 Android 开发」。帮你在现在的基础上,重新梳理和建立 Android 开发的知识体系。无论是你短期内想提升 Android 内功实力,突破自己工作中的能力瓶颈,还是准备参加 Android 面试,都会在这个课程中有所收获。
公告

欢迎访问 码农俱乐部  点击这里设置您的邮箱  可以接收站内跟帖、回复邮件提醒,不错过任何一条消息。

关注公众号订阅更多技术干货! 码农俱乐部