
Android
文章平均质量分 80
Android开发相关
ChatGPTer
我的新书《Android App开发入门与实战》已由人民邮电出版社出版,欢迎购买。
展开
-
2022年如何学会成为一名Android开发
Android OS由Android Inc.开发,谷歌于2005年收购。各种应用程序,如游戏,音乐播放器,相机等都是为这些智能手机构建的,以便在Android上运行。Google Play商店拥有将近330万个应用程序。今天,Android在全球范围内仍然占据主导地位。大约75%的人更喜欢使用Android,而iOS的这一比例为15%。它是一个操作系统,为应用程序提供了巨大的市场。众所周知,如今Android有多受欢迎。现在的问题是,为什么选择Android,如何开始?从哪里开始?应该涵盖哪些主题。原创 2022-08-20 08:36:30 · 1326 阅读 · 0 评论 -
10个Android开发必看的GitHub开源项目
10个Android开发必看的Github开源项目原创 2022-04-04 09:06:34 · 5401 阅读 · 2 评论 -
『一篇就够了系列』关于JVM,这里有你想知道的一切
JDK = JRE + Development/debugging toolsJRE = JVM + Java Packages Classes(like util, math, lang, awt,swing etc)+runtime libraries.JVM = Class loader system + runtime data area + Execution Engine.原创 2020-08-27 20:06:24 · 489 阅读 · 0 评论 -
Android面试速查手册:Java基础篇
我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。书籍详情请见:https://blog.youkuaiyun.com/ddnosh/article/details/107666187书籍购买地址:京东 当当 天猫文章目录1. 反射2. new、new instance3. 动态编译,静态编译4. 多态5. 自定义类加载器、双亲委派模型6. equals()、==7. String str = new String("abc")8. 匿名内部类9. h.原创 2020-08-11 10:19:39 · 235 阅读 · 0 评论 -
Android面试速查手册:Android进阶篇
我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。书籍详情请见:https://blog.youkuaiyun.com/ddnosh/article/details/107666187书籍购买地址:京东 当当 天猫文章目录1. Android系统显示原理2. 自定义View3. 事件分发4. 热更新原理5. 图片三级缓存6. APT7. AOP8. APK安装9. App启动10. 签名11. 自动埋点12. 组件化13. 换肤14. 沉浸式15. 屏.原创 2020-08-10 20:44:25 · 323 阅读 · 0 评论 -
Android面试速查手册:Android优化篇
启动优化、应用瘦身、网络优化、电量管理、内存管理、布局优化原创 2021-01-19 15:14:46 · 569 阅读 · 1 评论 -
Android面试速查手册:Android基础篇
我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。书籍详情请见:https://blog.youkuaiyun.com/ddnosh/article/details/107666187书籍购买地址:京东 当当 天猫文章目录1. Jvm、Dalvik、Art2. compileSdkVersion,targetSdkVersion、minSdkVersion3. onSaveInstanceState、onRestoreInstanceState4. S.原创 2020-08-10 18:18:30 · 243 阅读 · 0 评论 -
Android面试速查手册:Android常用开源框架原理
文章目录1. LruCache参考:做最好的Android面试题库:https://github.com/ddnosh/BestReview1. LruCache简介:Least Recently Used,也就是最近最少使用算法。当缓存空间满了的时候,将最近最少使用的数据从缓存空间中删除以增加可用的缓存空间来缓存新内容。双向链表LinkedHashMap//第一个参数是初始容量//第二个参数是填装因子,或叫加载因子//第三个参数是排序模式,true表示在访问的时候进行排序,否则只在插原创 2021-05-02 00:12:35 · 519 阅读 · 1 评论 -
你距离Android高薪,只差这一份Android面试手册(2021年最新版)
争取做到史上最好的Android面试题库,https://github.com/ddnosh/BestReview原创 2021-05-01 23:56:22 · 425 阅读 · 0 评论 -
Learn Git Branching:一个非常好的学习Git命令的网站
文章目录网址GitHub地址特点演示Demo简介闯关网址https://learngitbranching.js.org/GitHub地址https://github.com/pcottle/learnGitBranching特点LearnGitBranching通过可视化动画效果来帮助开发人员理解Git命令,并且配有游戏闯关功能来一步一步学习Git命令。开发人员可以在LearnGi...原创 2020-03-01 08:22:51 · 12410 阅读 · 0 评论 -
持续集成CI:Travis使用
文章目录CItravis.travis.yml运行travis防坑指南CIContinuous integration,持续集成可以帮我们自动构建、打包、测试、发布等,极大地简化了我们的操作流程。持续集成是一种软件开发实践。在持续集成中,团队成员频繁集成他们的工作成果,一般每人每天至少集成一次,也可以多次。每次集成会经过自动构建(包括自动测试)的检验,以尽快发现集成错误。许多团队发现这种方...原创 2018-11-29 21:59:24 · 515 阅读 · 1 评论 -
PlantUML的简单使用
PlantUML是一个开源项目,支持快速绘制:时序图用例图类图活动图组件图状态图对象图相比较一些大型的UML工具来说,只要简单的安装插件,即可在Android Studio中方便的使用,通过文本编辑,就能快速的画出漂亮的UML图。不过此工具需要对UML有较强的理解,对UML语言能够深刻体会,这样才能得心应手。插件安装点击File-Seting-Plugi原创 2018-01-05 13:18:26 · 5882 阅读 · 2 评论 -
Android Studio使用过程中遇到的几个问题小记
1、Android Studio的代理设置Android Studio 3.x在Setting里面设置了Proxy后,AS会自动在gradle.properties里面自动生成:systemProp.http.proxyHost=127.0.0.1-->代理IPsystemProp.http.proxyPort=1080→代理端口然而,注意,然而,在Setting里面取消了这个Proxy后(选择:原创 2018-01-02 14:27:08 · 920 阅读 · 0 评论 -
使用Git提交代码提示冲突的解决方案
场景一user0 有新提交user1 没有pull -> 写新代码 -> pull -> 提示有冲突解决办法一-> stash save(把自己的代码隐藏存起来) -> 重新pull -> stash pop(把存起来的隐藏的代码取回来 ) -> 代码文件会显示冲突 -> 右键选择edit conficts,解决后点击编辑页面的 mark as res原创 2018-01-08 22:14:30 · 683 阅读 · 0 评论 -
Windows命令行工具cmder的一些使用技巧
cmder是一款替换windows下命令行的工具,使用的时候有一些问题需要注意。日志太多被冲掉了比如我们通过curl命令访问API接口,当这个API接口返回数据太多的时候,cmder会显示不全,导致部分日志被冲掉。解决方案:将日志保存到本地。乱码我们会发现cmder接口返回的数据中如果有中文的话会出现乱码。解决方案:设置环境变量:chcp 65001,65001代表utf-8编...原创 2020-02-10 11:22:39 · 1849 阅读 · 0 评论 -
2020最新通过novoda上传到JCenter的方法、技巧及遇到的坑
前言上传开发库到Jcenter仓库,可以通过Bintray来管理。 Bintray本身也是一个仓库管理网站,比如可以建立自己的Maven仓库,当然也通过Bintray可以上传到JCenter。 开发库首先需要上传到Bintray,上传的常用方法有novoda和jfrog两种。 这里介绍的是通过novoda方式上传。开发环境Gradle Version:4.1 注:最新...原创 2018-03-16 20:10:21 · 3045 阅读 · 0 评论 -
Maven上传包的两种方法
自动打包+上传此方式包含打包+上传两种功能,是自动集成一体的,不能单独拆分。1、在library工程的build.gradle里面,添加如下代码:apply from: 'maven_upload.gradle'2、在library工程下面新建gradle.properties(如果没有的话),添加如下代码:#########原创 2018-01-05 19:26:39 · 10703 阅读 · 0 评论 -
持续集成CI:Jenkins使用
文章目录Jenkins全局配置Jenkins Job配置Jenkins是最常用的CI工具,在开发过程中需要到jenkins帮助我们构建出android包,包括debug版本和release版本,方便产品、运营、测试人员下载安装使用。一般有以下两种方式:手动构建自动构建我们这里介绍下Jenkins在Android上的应用,具体的安装配置不详细介绍,主要介绍一些需要注意的地方。Je...原创 2018-12-02 15:11:02 · 553 阅读 · 1 评论 -
私藏几十款程序员必备效率工具:一次性都给你了!
本文介绍的工具并不是专门针对于某个开发方向的,不同方向的开发比如移动端、前端、后台、算法、架构、运维、测试等用到的工具千差万别。本文介绍开发中通用的工具,这些工具的特点是好用、使用人数多、功能齐全。本文会对工具进行分类展示,方便大家查阅使用。某一类型的工具可能有很多种,本文只推荐个人觉得最好用的一款工具。如果您已经在用相同的工具,那么说明您也觉得这个工具好用,欢迎分享您的使用体验;如果您还没用过,那么可以通过本文的介绍尝试使用,希望能给您带来便利。原创 2020-09-16 21:45:11 · 6882 阅读 · 1 评论 -
关于TortoiseGit的账号配置
场景我们平时开发的时候有时候会遇到以下这样的问题,公司的项目和个人Github上面的项目,用户名往往不一样,如果不区分设置的话,可能commit时候会把用户名信息搞混。解决方案我们使用使用Git提交代码的时候,可以看到提交者的信息,比如:提交者的信息在Git工具中怎么设置呢?我们以TortoiseGit工具为例:我们可以看到TortoiseGit的账号配置有以上几...原创 2017-12-31 11:03:15 · 8646 阅读 · 0 评论 -
Android开发规范:包命名规范
文章目录简介PBL(Package By Layer)PBL优点PBL缺点PBF(Package By Feature)PBF优点简介android包目录的命名的好坏,会直接影响到整个app工程后期的开发效率和扩展性。所以在创建项目的初期,建立一个好的包目录的命名非常重要。一般来说android包命名的方式有两种:PBL和PBF。我们现在分别来介绍下这两种命名规则以及各自的优缺点。PB...原创 2019-09-09 12:52:42 · 1527 阅读 · 0 评论 -
Android开发规范:API接口通用设计规范
文章目录通用规范版本号请求参数返回值接口变更API格式传统格式RestFul API通用规范版本号每一组API接口需要对应一个大版本号,大版本号一般是跟app的大版本对应的。比如app第一版本我们叫v1,app第二版本经过改版后,接口返回内容一般也会有变化,我们叫v2。以Restful API风格为例:https://www.example.com/api/v{x}/,一般我们会在ap...原创 2019-08-31 19:48:31 · 2724 阅读 · 0 评论 -
Android开发规范:需求评审规范
写给技术经理的: 1、多问几个为什么,为什么这个需求要做,做了以后能带来多大收益?需求是需要产品经理经过大量的数据挖掘和用户调研后得到的,而不是拍脑袋或者个别人的抱怨。 2、多跟产品经理沟通,多引导产品经理。我们不是功能需求的堆积,而是需要把控产品的核心、用户的痛点。我们的目的不是迁就用户,而是要引导用户。 ...原创 2018-03-19 10:38:13 · 4220 阅读 · 0 评论 -
Android开发规范:任务管理规范
一个APP的开发其实涉及到的面还是挺广泛的,除了编码以外,还有很多事情需要一并处理的,这样才能保证整个APP从需求到上线的闭环。 我们除了通常意义在编码层面上进行分工,在其它的环节也需要进行分工处理。 比如某人专门负责打包,某人专门负责加密,或者上传等等。 我整理了一张表格,作为参考: 人员 功能模块A 功能模块B 功能模块C 功能模块D 需求评审 版本管...原创 2018-03-20 21:10:22 · 304 阅读 · 0 评论 -
Android开发规范:APP常用混淆proguard模板
APP代码的混淆是APP打包前很重要的一项工作,但是如果混淆配置不好的话有时候会带来难以预料的问题,常见的会导致APP崩溃等,而且增大了bug的排查难度。 因此整理一份混淆配置模板是必要的工作,以下混淆配置模板是在实际应用过程中总结出来的,一般也就是通常我们说的proguard-rules.pro文件的内容。可以直接套用,非常方便。 一般需要变动的部分是“定制化配置”这块。# Crea...原创 2018-03-21 09:44:59 · 588 阅读 · 0 评论 -
Android开发规范:代码规范(CheckStyle、Reformat Code)
文章目录checkstyle: plugin开发APP的过程中,每个团队都会约定自己的代码规范。但是往往在实践过程中,要么由于开发周期紧张,大家没有按照规范进行,而是按照自己的编程习惯来开发;要么是新入职的员工,或者从别的项目组借调过来的员工,不熟悉我们的开发规范。所以有必要用一些强制手段来规范我们设定的代码规范。因此我们引入checkstyle来约束代码规范。checkstyle有两种使用...原创 2019-09-09 15:15:32 · 1001 阅读 · 0 评论 -
Android开发规范:Java命名规范
类名采用大驼峰命名法。命名规则:功能+后缀(Activity、Adapter、Service等)。举例:activity类,命名以Activity为后缀,如:LoginActivityfragment类,命名以Fragment为后缀,如:ShareDialogFragmentservice类,命名以Service为后缀,如:DownloadServicebroadcastRec...原创 2018-11-17 19:38:47 · 411 阅读 · 0 评论 -
Android开发规范:注释
为了自己和他人阅读代码的方便,请做好注释。具体可以在AS中自己配制,Settings → Editor → File and Code Templates → Includes → File Header文件头注释文件顶部统一添加版权声明,声明的格式如下:/** * Copyright (c) 2018 Your Company. All rights reserved. */类注...原创 2018-11-18 10:42:48 · 2780 阅读 · 0 评论 -
Android开发规范:Android Studio规范
尽量使用最新版的IDE进行开发;编码格式统一为UTF-8;编辑完.java、 .xml等文件后一定要格式化(基本格式方面使用 AS 默认模板即可);删除多余的import,减少警告出现,可利用AS的Optimize Imports(Settings → Keymap → Optimize Imports)快捷键;如果希望IDE自动清除无关的import,可以这样设置:File–>S...原创 2018-11-17 18:36:30 · 624 阅读 · 0 评论 -
Android开发规范:APP版本发布(全量发布、灰度发布)
文章目录全量发布灰度发布app版本发布,就是app有新的版本发布,需要给用户安装升级使用。按照app发布的手段来说,大致可以分为两大类:直接全量发布、先灰度发布再全量发布。全量发布顾名思义,全量发布就是一次性发布给所有用户使用。已经安装app的用户打开app后会收到更新弹框,或者在app的关于里面也可以点击查看是否有升级提示,并且点击升级。优点:每个新版本只会有一次更新,也就是说不...原创 2019-08-27 11:16:12 · 10378 阅读 · 0 评论 -
Android开发规范:Maven使用规范
开发平时开发的时候,我们将Maven分为两个服务器:SNAPSHOT版本和服务器; SNAPSHOT服务器主要是平时开发调测的时候使用的,也就是可以理解为开发环境。 RELEASE服务器主要是用于发布正式稳定版本使用,也就是过测版本,用于发布于应用市场的APP使用(打包发布时时需要注意切换到RELEASE服务器!!!)。 【SNAPSHOT特点】 1、如果是SNAPSHOT版本,那么在...原创 2018-03-18 07:10:17 · 599 阅读 · 0 评论 -
Android开发规范:APP打包规范
打包前更新最新版本的外部文件(比如需要放到app中的文件,如html);和产品经理确认下本次打包的功能;Build-Clean Project, 最好清空build文件夹内的内容;在app/gradle.properties 下设置systemProp.app_version_code 为版本升级号(每次发布新版本需要+1);systemProp.app_version_num...原创 2018-03-18 08:29:35 · 1367 阅读 · 0 评论 -
Android开发规范:CodeReview规范
目录CodeReview目的CodeReview清单 VS Bad SmellCodeReview方式CodeReview输出CodeReview目的老生常谈==>>>代码有这几种级别:1,可编译;2,可运行;3,可测试;4,可读;5,可维护;6,可重用。通过自动化测试的代码只能达到第3层次,而通过code Review的代码可以上升到更高的层次。...原创 2018-01-16 08:31:36 · 1094 阅读 · 0 评论 -
Android开发规范:.gitignore
关于gitignore的配置,这里有详细的介绍和模板提供:https://github.com/github/gitignore在此我们提供一份适用于android开发的gitignore模板,可以直接套用:# Built application files*.apk*.ap_*.aab# Files for the ART/Dalvik VM*.dex# Java clas...原创 2018-11-29 21:05:02 · 624 阅读 · 0 评论 -
Android开发规范:文档管理规范
app开发需要多个团队协同完成,因此就需要一款适合团队网上共享和编辑的文档管理工具。原创 2019-09-01 22:16:44 · 248 阅读 · 0 评论 -
Android开发规范:JavaDoc
文章目录JavaDoc的配置:JavaDoc的输出:Tools → Generate JavaDoc…原创 2018-11-26 09:34:17 · 624 阅读 · 0 评论 -
Android开发规范:资源文件命名规范
layout全部小写,采用下划线命名法,使用名词或名词词组。所有Activity或Fragment的contentView必须与其类名对应。命名规则:将所有字母都转为小写,类型+功能。举例:比如MainActivity.java –> activity_main.xml以下为几种常用的组件类型命名:activity_类名,为Activity的命名格式fragment_类名...原创 2018-11-17 23:27:18 · 1638 阅读 · 0 评论 -
Android开发规范:SDK设计规范
SDK要有完整且详细的使用说明文档,包括混淆配置说明;需要记录每个版本的变更记录;SDK的minSdkVersion要尽量小,最好不要超过集成SDK的项目的minSdkVersion;尽量不要用到第三方库,比如网络请求的实现,可以用android系统自带的,自己在其基础上进行封装。如果一定要用到,可以使用provided依赖,让调用方主动依赖。如果包是aar格式,需要注意res下面的资源...原创 2019-08-27 22:41:21 · 2669 阅读 · 0 评论 -
Android开发规范:App安全规范
文章目录加壳组件外露WebViewLogcat日志网络请求API接口so文件加壳加壳也就是加固,或者叫做加密,app打包成apk后,通过加壳技术给app上了一层保护,用来预防app被破解、反编译、二次打包等。免费的加固应用有乐固、阿里聚安全、360加固宝等;收费的有梆梆、爱加密、以及一些免费加固应用的收费版本。以下是相关机构发布的安全报告:65%的移动APP至少存在1个高危漏洞,平均...原创 2019-09-17 17:44:41 · 1344 阅读 · 0 评论 -
Android开发规范:日志Log
Log对于开发者定位问题来说是一个必不可少的工具。开发人员需要通过Log提供的信息,比如Crash异常,能够定位异常类型以及异常的发生代码位置;或者查看输出的内容是否达到期望;亦或者通过Log提供的信息能够看到整个信息的交互流程。因此拥有一个快捷便利有效的Log输出工具是整个项目必不可少的一部分。1. 现有的系统Log2018-11-27 20:50:00.614 29110-29110/c...原创 2018-11-27 21:39:19 · 2379 阅读 · 0 评论