Android开发知识
文章平均质量分 78
快乐李同学(李俊德-大连理工大学)
B站/微博/微信公众号:快乐李同学。
大连理工大学软件工程2020毕业学生。
大连理工大学2018-2019学年科技创新奖学金。
2个国家级项目,2个国家级奖项,5个省级奖项,8个校级奖项(总项目经费和竞赛奖金达2万2千元)。
2018-2019年在中国核心期刊《现代计算机》发表2篇项目相关论文,分别署名第一、第二作者(知网可查)。
2018-2019年申请2份项目软件著作权,并发布软件(编程乐园、编程学院)到Google,腾讯,百度,华为,小米等应用商店。
大学英语六级568分。
展开
-
谷歌应用商店上传aab大小可以超过150MB吗?Can the Android App Bundle‘s size be over 150MB?(Google Play, aab, Android)
This week, my Android App Bundle's size reached 161MB after introducing several new features. I was frightened that my aab's size exceeds the size limitation of Android App Bundles. But I tried to upload the oversize aab to the Google Play and it worked.原创 2022-11-25 12:21:01 · 867 阅读 · 0 评论 -
2021年最详细的Android屏幕适配方案汇总
1 Android屏幕适配的度量单位和相关概念建议在阅读本文章之前,可以先阅读快乐李同学写的文章《Android屏幕适配的度量单位和相关概念》,这篇文章包含了阅读本文的一些基础知识,推荐阅读。2 Android屏幕适配的解决方案2.1 Android屏幕适配前言Android屏幕适配是一个亘古不变的难题,在百度或者Google搜索相关的关键词,我们总能找到各个年代所流行的Android屏幕适配方法。但是由于时效性的原因,2021年的今天出现了新的Android屏幕适配方法,并淘汰了部分以前旧的And原创 2021-04-09 20:16:36 · 7009 阅读 · 5 评论 -
2021年最全Android屏幕适配的度量单位px dp(dip) ppi dpi sp pt的区别(最详细,屏幕尺寸,屏幕分辨率,屏幕兼容,屏幕适配)
1 Android屏幕适配相关概念1.1 屏幕尺寸(Screen Size)屏幕尺寸是屏幕的对角线的长度,单位是英寸,1英寸等于2.54厘米。比如常见的屏幕尺寸有3.5、4.0、5.5等。1.2 屏幕分辨率(Screen Resolution)屏幕分辨率是指在横向和纵向上的像素点数、单位是px(pixel),1px等于1个像素点,一般设备的屏幕分辨率以“纵向像素x横向像素”来表示,例如1920x1080。1.3 度量单位px、dp(dip)、ppi、dpi、sp、pt1.3.1 像素px(pix原创 2021-04-03 16:35:48 · 6649 阅读 · 15 评论 -
Android中drawable或mipmap文件夹存放图片的区别(详细解释)
1 问题背景当在Android Studio来新建一个Android项目,该项目有如下的目录结构:Android项目的某个模块中的res文件夹下,有很多以drawable或mipmap开头的子文件夹,这些子文件夹都是用来存储图片的,那么他们之间有什么区别呢?2 Android中drawable或mipmap文件夹存放图片的区别2.1 结论先说结论:应用图标的图片资源存放在mipmap系列文件夹中,而其余图片存放在drawable系列文件夹中。2.2 Android官方对drawable和mip原创 2021-03-08 18:52:01 · 10517 阅读 · 1 评论 -
2021年最新Android开发工程师成长路线(架构师,职业规划,NDK,Flutter,Framework,UI,性能优化)
1 文章背景最近博主李同学在网上看到下面这张程序员职业生涯规划路线图,因此便想到作为一名Android开发工程师,其未来职业生涯应该如何规划呢?近几年,Android 开发的套路日趋成熟,越来越多的 Android 工程师获得了「高级」的称号,也有不少人在参与公司的 App 从无到有再到火爆的整个开发过程中,顺理成章地拿到了 Leader 职位。但对于自己的水平,多数人却并不满意,甚至有不少人觉得自己的水平被同事和老板「高估」了。市场真正需要的所谓「高级架构师」到底需要具备什么条件?在此和大家探讨一原创 2020-10-04 02:08:58 · 8505 阅读 · 30 评论 -
安卓onNewIntent()方法的生命周期和应用场景
一、问题背景博主在2020春招中的Android开发岗位面试中,多次被考察到Android安卓4种启动模式的区别和应用场景,如美团的一面和斗鱼的笔试。而singleTop和singleTask启动模式都会调用onNewIntent()方法,但是《Android第一行代码》和《Android艺术开发与探索》对此部分内容的描述少之又少,因此博主在网上搜集了相关的内容并作出了以下总结。[1]关于o...原创 2020-05-04 00:17:40 · 1410 阅读 · 0 评论 -
Android安卓4种启动模式的具体应用场景(standard,singleTop,singleTask,singleInstance)
一、问题背景博主在2020春招中的Android开发岗位面试中,多次被考察到Android安卓4种启动模式的区别和应用场景,如美团的一面和斗鱼的笔试。但是《Android第一行代码》和《Android艺术开发与探索》对此部分内容的描述少之又少,因此博主在网上搜集了相关的内容并作出了以下总结。二、Android安卓4种启动模式的具体应用场景Standard:非以下特殊场景的普通Activit...原创 2020-05-04 00:12:26 · 2373 阅读 · 6 评论 -
《Android开发艺术与探索》中对前台任务栈和后台任务栈的正确理解
一、问题背景在《Android开发艺术与探索》的第1.2.1章节的singleInstance启动模式中,作者举出了下面的一个例子:在一个应用中,它有A、B、C、D这4个活动,其中C是主活动,另外A、B的启动模式为standard,而C、D的启动模式为singleTask,并将C、D的taskAffinity属性设定为不同于该应用包名的一个字符串。这样可以保证A、B在名字为包名的任务栈中,而...原创 2020-05-03 23:29:14 · 1291 阅读 · 2 评论 -
[最全]Android安卓架构MVC、MVP、MVVM之间的区别和联系(图解+案例+源码)
一、问题背景博主最近在准备春招面试中介绍自己简历中Android项目的MVP架构,但是博主发现若自身不彻底弄懂Android安卓架构MVC、MVP、MVVM之间的区别和联系,博主将无法准确地向面试官讲解自己Android项目的MVP架构,因此博主浏览了相关文章,做出了以下总结。二、Android安卓架构MVC、MVP、MVVM1.MVC(Model View Controller)MVC各...原创 2020-03-22 15:21:09 · 10438 阅读 · 6 评论 -
2020年国外安卓应用上线上架应用市场渠道详细步骤介绍(关键词:APP,apk,发布,Google Play,Android,流程)
一、问题背景作为一名安卓开发者,不管我们还是大学生、找工作的应届生还是已经工作的码农,如果我们能把自己开发的应用发布到国内和国外Android安卓应用上线上架应用市场,这都能作为我们安卓开发的实力体现,因为应用市场对应用上线有严格的审核机制,如国外应用市场Google Play侧重应用有无广告、年龄分级制度;而国内应用市场侧重软件著作权、项目网站ICP备案、相关资质证明等。也就是说国内和国外应用...原创 2020-03-05 13:58:00 · 16330 阅读 · 6 评论 -
非华为手机Scrcpy无线投屏电脑多屏协同步骤(电脑无线连接投屏手机,设备,tcpip)
一、问题背景近日博主在研究如何把博主自己的小米手机像华为荣耀手机可以在电脑上多屏协同,毕竟作为程序员在使用电脑时一般会在手机、电脑间来回操作,如果可以直接在电脑上操作手机将会极其方便程序员的工作,而Scrcpy电脑无线连接手机的功能便解决了这个问题,但是Scrcpy涉及到了ADB(Android调试桥)的相关知识,因此博主想把整个流程做一个串接。二、Scrcpy电脑无线连接投屏手机1.下载并...原创 2020-02-22 12:33:00 · 19782 阅读 · 12 评论 -
编程乐园APP、编程学院APP的《用户协议与隐私政策》(Code Land and Code Land2's Privacy Policy)
安卓应用《编程乐园》及《编程学院》的《隐私政策及用户协议》本软件尊重并保护所有使用服务用户的个人隐私权。本软件为手机本地应用,不涉及任何网络功能、不申请任何网络权限。因此本软件不会将您的个人隐私信息对外披露或向第三方提供。本软件会不时更新本隐私权政策。您在同意本软件服务使用协议之时,即视为您已经同意本隐私权政策全部内容。本隐私权政策属于本软件服务使用协议不可分割的一部分。1.适用范围在您使用...原创 2020-02-11 11:45:54 · 7106 阅读 · 0 评论 -
Android安卓APP应用中代码实现主题换肤无缝切换
今天再给大家带来一篇干货。 Android的主题换肤 ,可插件化提供皮肤包,无需Activity的重启直接实现无缝切换,可高仿网易云音乐的主题换肤。这个链接是本次的Demo打包出来的样本SkinChangeDemo,可以去下载下来先试试效果,皮肤文件需放到存储卡的根目录下。关于Android的主题换肤都是个老生常谈的问题了。网上给出的方案也是层出不穷,最近我也是很想去了解这方面的知识,所以我...转载 2019-05-10 21:16:47 · 1813 阅读 · 0 评论 -
专业安卓Android的SplashActivity的详解介绍和正确使用说明
Android启动页面的正确打开方式:https://blog.csdn.net/shiguiyou/article/details/50255929android studio for android learning (八)开机启动界面splashActivity:https://blog.csdn.net/yywan1314520/article/details/51622154...原创 2019-05-07 09:09:57 · 2262 阅读 · 0 评论 -
Android安卓应用版本命名规范
Android 设置APP版本号(1) 在清单文件AndroidManifest.xml中manifest 标签节点中加入android:versionCode和android:versionName的值即可设置应用的版本号。如以下代码:(2) build.gradle(Module:app)配置文件可以同样设置版本号(注意:推荐使用build.gradle设置版本号,因为一个方便在bui...原创 2019-05-07 09:08:58 · 4127 阅读 · 0 评论 -
Android代码混淆集合
5分钟搞定android混淆:https://www.jianshu.com/p/f3455ecaa56eAndroid代码混淆只需简单三步:https://blog.csdn.net/ccj659/article/details/51798687Android Studio(十一):代码混淆及打包apk:https://blog.csdn.net/zuiwuyuan/article/det...原创 2019-05-07 09:07:26 · 247 阅读 · 0 评论 -
Android代码混淆-第三方库忽略混淆解决方案
我们做的项目有时候导入了大量的第三方库,在做代码混淆时就不太清楚他们的混淆代码了,这个时候就直接看这些第三方包的报名并忽略混淆注意:一定要忽略所有的第三方库,只忽略一部分仍然导致APP无法正常运行Android第三方类库中的jar包不被混淆:https://www.jianshu.com/p/fd9f88fadb05假如你的项目中有这样一个image类库, 打开build.gradle文件,...原创 2019-05-07 09:06:40 · 1110 阅读 · 0 评论 -
个人APP上线应用市场-混淆-数据统计-反馈-评论(Android,安卓)
我个人对于新事物抱着总是乐于尝试的态度,可能是小时候能够接触的东西太少。目前情况下,在自己的承受或者精力范围内,会主动去买一些或者做一些东西,更多时候是为了体验一下。我始终认为,很多东西只有亲身去感受,才能深刻的认识到自己对这个东西的见解。今天给大家分享下,是否要去制作并且上线一款个人app,重点是上线,相信大家或多或少都制作多一款或者多款app。上线的目的并不是为了说能挣多少钱…想要挣钱没...转载 2019-05-07 09:05:16 · 442 阅读 · 0 评论 -
Android开发常用的第三方平台
Android开发常用第三方平台性能监测平台名称 说明LeakCanarysquare出品的检测内存泄露博睿bonree领先的应用性能管理服务提供商,性能监测,移动监测…平台听云国内权威的应用性能监控平台移动支付平台名称 说明支付宝 阿里巴巴支付平台微信支付 微信支付平台银联支付 中国银联手机支付平台tenpay QQ财付通umpay 联动优势支付平台MMBill...转载 2019-05-07 09:00:54 · 858 阅读 · 0 评论 -
Android安卓中最棒的屏幕适配AndroidScreenAdaptation
AndroidScreenAdaptation本库特点完全不用改变自己的布局编写习惯,你原先是怎么写布局,就怎么写布局.不用去继承适配类,不用在最外层包裹适配布局,不用新建茫茫多的分辨率适配文件夹,不要求强制使用px为单位,可以实时预览布局,全面屏或带虚拟按键手机适配也没问题.效果展示快速开始1. 添加依赖implementation 'me.yatoooon:screenadap...转载 2019-05-11 09:57:30 · 2430 阅读 · 0 评论 -
Android安卓签名打包原理,步骤详细讲解(debug,release区别.V1,V2区别)
所有的Android应用程序都要求开发人员用一个证书进行数字签名,Android系统不会安装没有进行签名的应用程序。在应用程序开发期间,由于是以Debug调试模式编译的,因此IDE(ADT)根据会自动用默认的密钥和证书来进行签名,而以Release发布模式编译时,apk文件就不会得到自动签名,这样就需要进行手工签名。我们使用Android Studio 运行我们的app,无非两种模式:debu...转载 2019-05-09 10:38:42 · 2939 阅读 · 0 评论 -
Android安卓中Autosizing的TextView自动调整文字大小autoSizeTextType
Android 8.0 已经发布了有一阵子了,如果你有在关注它,你应该会知道它新增了一个对于 TextView 字体大小变动的新特性:Autosizing。本身这个新特性,如果只是在 Android 8.0 才有效,对于开发者而言,就显得有点鸡肋了,可能还需要一段时间才能普及使用。不过呢,在 Android Support v26 之上,也对 Autosizeing 提供了兼容支持,最低可以支持...转载 2019-05-10 21:27:46 · 3786 阅读 · 0 评论 -
android安卓的values的style和theme区别讲解和实际应用
样式(Style)样式是指为 View 或窗口指定外观和格式的属性集合。样式可以指定高度、填充、字体颜色、字号、背景色等许多属性。定义样式要创建一组样式,请在您的项目的 res/values/ 目录中保存一个 XML 文件。 可任意指定该 XML 文件的名称,但它必须使用 .xml 扩展名,并且必须保存在 res/values/ 文件夹内, 该 XML 文件的根节点必须resources。(...原创 2019-05-10 21:30:47 · 1528 阅读 · 0 评论 -
AM.xml的application加android冒号name设置全局变量
大部分android程序员一把呢都是使用默认的Application,在Application内部没有使用过android:name属性。下面详细说一下过android:name属性; android:name属性——是用来设置所有activity属于哪个application的,默认是android.app.Application。当然也可以自己定义一个类,例如:public cl...原创 2019-04-17 20:12:29 · 517 阅读 · 0 评论 -
安卓或苹果IOS的APP应用如何取名字?好的名字技巧?
如何给APP取一个好的名字:(1)国内互联网公司的APP起名套路大全!:https://www.jianshu.com/p/f907376146e2(2)如何给一个App起名字?:www.woshipm.com/pd/377786.html(3)给App取名的“七要”和“三不要”:https://www.jianshu.com/p/09bcc640afde(4)如何给 App 取名字?:h...原创 2019-05-22 17:10:00 · 1181 阅读 · 0 评论 -
Android安卓中View的src与background区别分析
前沿背景background会根据ImageView组件给定的长宽进行不按照长宽比拉伸/压缩直到填满布局的layout_height和layout_width,而src就存放的是原图的大小,不会进行拉伸。src是图片内容(前景),bg是背景,可以同时使用,同时使用则src在前面,background在后,src会遮住background.1、android:background属性(1) 该...原创 2019-05-11 10:02:46 · 1229 阅读 · 0 评论 -
Android开发:最全面、最易懂的Android屏幕适配解决方案
Android开发:最全面、最易懂的Android屏幕适配解决方案:https://blog.csdn.net/wangwangli6/article/details/63258270转载 2019-05-11 09:58:54 · 241 阅读 · 0 评论 -
Android安卓中多个Dependencies依赖引用了相同的“包”Multiple dex files define错误解决方案
Multiple dex files define (重复引用)原因:在自己的项目中引用了某个“包”,而被你作为library的项目也引用了同一个“包”,引起编译错误。“包”是指类库里面出现了相同类名,不仅局限于jar包。android进行dex时会对字节码文件进行优化合并, 如果两个class完全一致, 合并以后就是一个。 但是如果两个类的类名一致但内部确有细微差别, 那么就不能合并。背景:...原创 2019-05-11 09:47:51 · 1689 阅读 · 0 评论 -
Android安卓的mediaPlayer的release使用注意事项
mediaPlayer在当前活动使用,活动pause,destroy一定要release,否则系统资源不够mediaPlayer2.release(); 后一定要接上 mediaPlayer2=null;判断mediaPlayer是否release用if(mediaPlayer2!=null)MediaPlayer 会消耗宝贵的系统资源。因此,你应该经常采取额外的预防措施来确保及时把不需要...原创 2019-05-11 09:44:30 · 3695 阅读 · 0 评论 -
android安卓中设置Button按钮和ImageView图片的透明度
当我们的实心不透明按钮与后面图层中重要元素冲突时,遮挡重要元素对用户是很不友好的,所以我们要设置最高图层中透明度不透明,对用户操视觉体验很不友好半透明,方便用户看到重要元素在xml文件中设置:只需要设置alpha属性为0.5(0-1之间设置) <span style="color:#330033;"><ImageView android:lay...原创 2019-05-10 21:33:46 · 1770 阅读 · 0 评论 -
Android安卓中重构button或textview
自定义一个CustomTextView类 继承自TextView 在构造函数内修改字体用AS的全局替换功能,把import android.widget.TextView;替换成自定义import xxx.xxx.CustomTextView;原创 2019-05-10 21:31:37 · 307 阅读 · 0 评论 -
Android安卓或Java项目中的unreachable statement异常解释和解决方案
java编译器把unreachable statement标记为运行时错误,一个unreachable statement就是编译器决定永远不会执行它。下面的几种情况会出现 unreachable statement:(1)在reutrn语句后写语句。(2)在throw语句后写语句。(3)break、continue语句之后定义语句。(4)“\u10100”//合法,相当于‘\u101...原创 2019-05-09 10:19:56 · 1017 阅读 · 0 评论 -
Android自定义点击带声音的控件TextViewButtonListView
android控件在setonclick方法时,在点击时,就会触发performClick()方法,我们可以在自定义控件实现此方法,调用一个发声音的方法,即可以实现点击控件发出声音。自定义控件这里只写一个Imageview自定义,其他的所有控件几乎都是一样,实现performClick()即可。public class MyImageView extends ImageView { ...转载 2019-05-09 10:18:23 · 423 阅读 · 0 评论 -
Android安卓的File文件存放路径,存储访问目录全面讲解
getExternalStorageDirectory()和getExternalFilesDir()的区别:https://blog.csdn.net/d_o_n_g2/article/details/78027112Android存储路径你了解多少:https://www.jianshu.com/p/2de0113b3164Android存储访问及目录:https://www.cnb...原创 2019-05-09 10:16:10 · 4972 阅读 · 0 评论 -
Android的Webview加载网页时出现NETERR_CACHE_MISS的错误
当使用webview加载网页时我们会遇到网页加载出错,出现NET::ERR_CACHE_MISS的错误,解决方法只需要在你工程的AndroidManifest.xml文件中加入联网的权限<uses-permission android:name="android.permission.INTERNET"></uses-permission>即可...原创 2019-05-05 15:54:29 · 2299 阅读 · 0 评论 -
Android Studio中没有并新建一个assets目录
原创 2019-05-05 15:52:33 · 1353 阅读 · 0 评论 -
Android 不规则按钮button
https://blog.csdn.net/parcool/article/details/40902203效果图:这个是我公司现在的一个小项目。我也不想去担心泄露机密什么的,我觉得有必要把这些东西放到网上大家共享一下。需求:如图,在房子(整张是一个背景图片)的瓦片上蒙一层(这一层红色的东西后期会去掉,现在只是展示一个区域而已。正因为后面会去掉红色的这一层,那么就不能用图片透明的思路来做了...原创 2019-04-24 21:56:52 · 1521 阅读 · 1 评论 -
Android Res资源适配详解
由于设备的多样性,Android 系统会检测当前设备配置,并为应用加载合适(最匹配)的资源。下面根据经验结合官方api,详细说下系统适配的规则。一、10种资源。在 res中以 <resources_name>-<config_qualifier> 形式命名目录。Android系统一共为应用提供了10类资源目录(即resources_name),如下表:目录 资源类型a...原创 2019-04-24 21:55:12 · 825 阅读 · 0 评论 -
Android res assets文件夹区别
res/raw和assets的相同点:1、两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。res/raw和assets的不同点:1、res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类2、res/raw不可以有目录结...原创 2019-04-24 21:52:38 · 606 阅读 · 0 评论 -
android assets文件夹资源的访问
https://www.cnblogs.com/zhaoyanjun/p/4584342.html1、assets文件夹里面的文件都是保持原始的文件格式 。2、assets中的文件只可以读取而不能进行写的操作。3、assets目录下的资源文件不会在R.java自动生成ID,所以读取assets目录下的文件必须指定文件的路径。4、assets则可以有目录结构,也就是assets目录下可以再建...原创 2019-04-24 21:51:48 · 456 阅读 · 0 评论