![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
作者\/
文章平均质量分 86
普通网友
这个作者很懒,什么都没留下…
展开
-
Android高级工程师面试实战,内含福利_android高级面试准备
老实说,我自己平常没事就会看一些面试题,所以我都是直接去面的(当然过程也非常惨)。建议大家如果准备面试的话,需要做以下准备背题算法项目亮点内推练手心态。原创 2024-05-27 03:24:34 · 294 阅读 · 0 评论 -
Android设计模式之访问者模式 Visitor
在我们实际的软件开发过程中,有时候我们对同一个对象可能会有不同的处理,对相同元素对象也可能存在不同的操作方式,如处方单,划价人员要根据它来划价,药房工作者要根据它来给药。在访问者模式中,每增加一个新的元素类都意味着要在抽象访问者角色中增加一个新的抽象操作,并在每一个具体访问者类中增加相应的具体操作,违背了“开闭原则”的要求。在访问者模式中相同的访问者可以以不同的方式访问不同的元素,所以在访问者模式中增加新的访问者无需修改现有代码,可扩展行强。实现Visitor申明的每一个操作,每一个操作实现算法的一部分。原创 2024-05-27 03:05:57 · 426 阅读 · 0 评论 -
android设计模式—简单工厂和工厂方法(抽象)设计模式
步骤大致为:产品(接口统一,定义各种需要实现的方法)—>具体的产品的实现(代表具体的实现功能的)—>创建器(工厂统一接口)—>具体工厂的创建(产生具体的产品)return “我是方法ConcreteProduct1”;return “我是方法ConcreteProduct2”;return “我是方法ConcreteProduct1”;如果是接口,子类去实现,如果是抽象类,子类去继承。产品类的抽象方法,由具体的产品类去实现。产品类的抽象方法,由具体的产品类去实现。工厂方法:把对象的实现延迟到子类完成。原创 2024-05-27 03:05:26 · 231 阅读 · 0 评论 -
Android程序员的春天!12个View绘制流程高频面试题,含BATJM大厂_android 你写过的最复杂的view 是怎样的 都遇到了哪些复杂地方
就目前大环境来看,今年跳槽成功的难度的确比往年要高。一个明显的感受:今年的面试,无论一面还是二面,都很考验Android程序员的技术沉淀。近期这里搜集了近 100 套阿里、腾讯、美团、网易等公司2019 年的面试题,把技术点梳理成一份大而全的“Android 架构师”面试题(实际上比预期多花了不少精力),包含知识脉络 + 分支细节,由于篇幅有限,这里以图片的形式给大家展示一部分。原创 2024-05-27 02:50:24 · 306 阅读 · 0 评论 -
Android敏感数据泄露引发的思考
endif#endif#endif在相应的Module中创建jni目录,将****文件#includeextern “C”const char *KEY1 = “密钥1”;const char *KEY2 = “密钥2”;const char *KEY3 = “密钥3”;if (随机数条件1) {} else if (随机数条件2) {} else if (随机数条件3) {} else {//加密算法各有不同,这里我就用md5做个示范//md5”);原创 2024-05-27 02:34:52 · 307 阅读 · 0 评论 -
Android敏感数据泄露引发的思考(1)
以上就是此次事件native的相关代码,至于如何生成so库可以自行百度。原创 2024-05-27 02:34:22 · 388 阅读 · 0 评论 -
Android开发简记:140M到67M,学而思网校如何在一周内构建一套可持续的瘦身系统?
19年团队曾经尝试过插件化技术,经过两个项目试水碰到一系列问题,最终放弃使用插件化,原因如下:插件技术原理是通过Hook或者Reflect技术修改系统libs和framework代码,Android系统版本 设备 ROM众多,Hook Reflect很难100%兼容。学而思网校平台有20+的二级工程,一个工程变更重新打包时,插件资源id的重新分配,整体工程变更导致20多插件变动需要重新维护,维护人力成本有点大。插件技术使用时存在数据传递问题 自定义UI显示问题,权限重复申请等问题。原创 2024-05-27 02:18:15 · 254 阅读 · 0 评论 -
Android开发简易版强制学习程序
setPositiveButton(“确定”, new DialogInterface.OnClickListener() {.setPositiveButton(“确定”, new DialogInterface.OnClickListener() {i = Integer.parseInt(inputet.getText().toString());case R.id.starttime://开始自动减时。原创 2024-05-27 02:17:44 · 302 阅读 · 0 评论 -
Android岗面试者注意:虚惊一场,差点痛失字节跳动offer,而罪魁祸首竟是
在找工作的过程中,对于 Android基础 技术知识的掌握已经成为必须的技能。突然发现,字节跳动面试常常就会被问到 Android基础相关知识,而这次我就差点挂在了字节跳动3面,面试官连问我以下几个基础的问题,然后就卡壳了…1.Android 任务栈2.Activity 的启动模式3.Activity 组件之间的通信4.Activity 与 Fragment 之间生命周期比较5.前台切换到后台,然后再回到前台,Activity 生命周期回调方法。弹出 Dialog,生命值周 期回调方法。原创 2024-05-27 02:02:18 · 297 阅读 · 0 评论 -
android列表侧滑删除&置顶
删除方法,就是list集合删除当前的position,然后notifyDataSetChanged一下就可以了,置顶方法就是list集合,添加当前的position到集合的起始位置。lateinit var onItemClickDelete: (v: View, pos: Int) -> Unit//删除。lateinit var onItemClickTop: (v: View, pos: Int) -> Unit//置顶。list.add(“我是第${i}个”)原创 2024-05-27 00:28:43 · 413 阅读 · 0 评论 -
android列表侧滑删除&置顶(1)
适配器中的代码,就是普通的RecyclerView适配器,我们只需要把删除、置顶的两个点击回调,写2个对应删除、置顶的方法即可。这里是使用的第三方依赖库实现,详细的使用教程请访问github官方文档,功能很强大,star超过3.3K,引用官方的一句话“本控件不依赖任何父布局,不是针对 RecyclerView、ListView,而是任意的ViewGroup里的childView都可以使用侧滑(删除)菜单。两个Button就是侧滑出现的内容。原创 2024-05-27 00:28:13 · 313 阅读 · 0 评论 -
android下赚钱的几个方式
因为该平台最早的点击单价为0.21元,有最低的时候为2分没点击,也是对点击扣量(即平台所计算的有效点击)最严重的,刚开始还不错,特别是积分墙,经常有0.8-1.0元的应用供下载,目前我的应用平均单价还是只有1毛左右。安卓市场几乎涵盖了所有原创中文软件,依托安卓网开发者联盟的强大支持,每天不断有新鲜作品与大家见面,希望通过我们的不懈努力使开发者与用户间的交流更 加畅通无阻,将优秀中文原创软件及时、迅速、安全、方便的展示在你的面前!无论何时何地,只需打开掌 上应用汇,最新应用尽在掌握,随时让您的手机丰富多彩。原创 2024-05-27 00:13:48 · 389 阅读 · 0 评论 -
Android_ 照片选择区域功能实现
/ 中点不存在,就新建i++){// 维护 4 个顶点的位置,// 通过顶点的位置,算出边上中点的位置i < len;i++){// 为了避免极端情况,// 采用 ( 坐标 + 距离的一半 ) 的方式。原创 2024-05-27 00:13:18 · 388 阅读 · 0 评论 -
Android 设置默认Launcher
/ 修改为需要设置的 launcher activity name。// 修改为需要设置的 package name。原创 2024-05-26 23:49:00 · 367 阅读 · 0 评论 -
Android 大厂面试 指南:他们到底需要怎样的工程师?
如果还有时间,就可以继续和面试官探讨可能的优化思路了。另外,招聘的结果也和招聘方与应聘者的需求强烈程度有很大关系,IEG团队招人的需求没那么强烈,很牛的人也未必能通过面试,XXX动招人的需求很强烈,不怎么牛的人也可能通过面试。其实说实话,我与之前部门的面试官相比,我的面试官经验和经历真的是九牛一毛,前期经常找不到重点,不过经过这篇文章的思考和总结,今后我应该会更加得心应手。不过在这个学习的过程中,怎么学很重要,Android领域几乎所有的底层知识都浩如烟海,如果随意乱学,没有目的性的学是很难学通透的。原创 2024-05-26 23:32:06 · 420 阅读 · 0 评论 -
Android 大厂面试 指南:他们到底需要怎样的工程师?(1)
不过对于前后端这种软件形式而言,前端和后端还是有不同的关注点的,前端注重展示交互,后端则注重大规模高可用,但是我是从事Android,没有过多的了解,这里就不做展开。另外,招聘的结果也和招聘方与应聘者的需求强烈程度有很大关系,IEG团队招人的需求没那么强烈,很牛的人也未必能通过面试,XXX动招人的需求很强烈,不怎么牛的人也可能通过面试。,我越发觉得应该把目光往更基础、更通用也更经久不衰的方向转移,具体的 APP 开发的技巧和范式,其实并不多,基本都可以抽象为软件开发的技巧与范式,原创 2024-05-26 23:31:35 · 240 阅读 · 0 评论 -
Android Switch控件修改样式
2. 滑动按钮:底色我用的接近白色的淡灰色,打开时,边上的一圈线条为灰色,关闭时,边上的一圈线条为绿色。选择器 thumb.xml 用于控制Switch不同状态下,按钮的显示状态。选择器 track.xml 用于控制Switch不同状态下,滑动条的底图。底层下滑条的样式选择器,可控制Switch在不同状态下,底下下滑条的颜色。按钮的选择器,可以设置按钮在不同状态下的时候,按钮不同的颜色。1.底部滑动条,在开关打开状态为绿色,开关关闭状态为灰色。用于对比使用的不设置任何属性的Switch。原创 2024-05-26 23:16:36 · 264 阅读 · 0 评论 -
Android Studio自定义模板 写页面竟然可以如此轻松
其中中的name属性,对应新建Activity时显示的名字对应New的类别为Activity剩下的,对应我们AndroidStudio新建的界面就非常好理解了,如图:看到这个界面,大部分属性都应该能才出来了,我们重点看parameter,界面上每一个紫色框出来的部分都对应一个parameter,部分属性介绍:id :唯一标识,最终通过该属性的值,获取用户输入值(文本框内容,是否选中)name:界面上的类似label的提示语type : 输入值类型。原创 2024-05-26 23:16:06 · 375 阅读 · 0 评论 -
Android listview viewpager解决冲突 滑动
当触发 滑动事件 的时候容易引起 滑动冲突 (比如斜着滑动viewpager 的时候 listview会跳动)特别是在 下拉刷新或者上拉加载 的时候 , 组件可能会传递到viewpager当中查阅了很多的帖子 发现修改起来都非常麻烦(1)解决方案。原创 2024-05-26 23:01:48 · 216 阅读 · 0 评论 -
Android kotlin实现底部导航栏
【代码】Android kotlin实现底部导航栏。原创 2024-05-26 23:00:45 · 435 阅读 · 0 评论 -
Android AOP简介及AspectJ的应用
ASM可以在编译期直接修改编译出的字节码文件,也可以像Javassit一样,在运行期,类文件加载前,去修改字节码。通过实现InvocationHandler接口,可以实现对一个类的动态代理,通过动态代理,我们可以生成代理类从而在代理类方法中,在执行被代理类方法前后,添加自己的实现内容,从而实现Aop。自定义一个AbstractProcessor,在编译期去解析编译的类,并且根据需求生成一个实现了特定接口的子类(代理类),和JDK动态代理不同的是,APT的代理类是在编译期生成的。如:Javassist。原创 2024-05-26 22:46:25 · 316 阅读 · 0 评论 -
Android AIDL:跨进程调用Service (AIDL Service)
至此可以发现在同一个应用中启动和停止Service是非常简单的。下面我们在该Project中新建一个Module:AnotherApp在布局文件中加入两个Button:“启动服务”和“停止服务”修改 MainActivity.java 代码 :@Override@Overridebreak;break;分别点击两个按钮同样可以看到输出的日志:我们也可以在Service中重写 onStartCommand() 来接收其他应用传递过来的数据。@Override。原创 2024-05-26 22:45:54 · 229 阅读 · 0 评论 -
3个月8个Offer!2024字节跳动+京东+美团+腾讯面试后的总结!
有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。总结一下,就是一整个软件工程项目中的骨架,是一种宏观的规划。原创 2024-05-26 22:27:43 · 366 阅读 · 0 评论 -
3个月8个Offer!2024字节跳动+京东+美团+腾讯面试后的总结!(1)
在面试的时候,聊到 Volley 请求到网络的数据缓存。当时说到是 Volley 会将每次通过网络请求到的数据,采用,写入到本地的文件中。那么问题来了:这个缓存文件,是声明在一个SD卡文件夹中的(也可以是getCacheFile())。如果不停的请求网络数据,这个缓存文件夹将无限制的增大,最终达到SD卡容量时,会发生无法写入的异常(因为存储空间满了)。这个问题的确以前没有想到,当时也没说出怎么回事。回家了赶紧又看了看代码才知道,原来 Volley 考虑过这个问题(汗!想想也是)翻看代码。原创 2024-05-26 22:27:12 · 307 阅读 · 0 评论 -
2024大厂Android面试经验BO5,大海胜三场,拿下。
在面试的过程中我深深的感受到,对于一个优秀的安卓开发来说,首先摆在第一位的还是他/她作为一个软件工程师的基本素养。无论你是做前端还是后端,最后定义你的优秀程度的还是作为软件工程师的基本素养,学习能力和编程能力,还有设计能力。从点击应用图标到进入应用,Android系统都做了哪些工作,期间涉及到的进程切换有哪些?说说你对设计模式的理解,开发过程中主要用到了哪些设计模式?可重入锁的实现,公平锁非公平锁都是什么定义?都用过那些常用的数据结构,说说对树的了解?热修复的原理,你都了解过哪几种热修复框架。原创 2024-05-26 22:07:05 · 353 阅读 · 0 评论 -
2024全网最全Excel函数与公式应用
根据您的具体需求和数据结构,您可以灵活运用这些函数,并结合其他函数进行更复杂的文本处理操作。根据您的具体需求和数据集,您可以灵活地使用这些函数,并结合其他函数进行更复杂的统计分析。这些函数可以帮助您根据指定的查找值在数据区域中进行垂直或水平的查找,并返回相应的值。假设我们有一个表格,在A列和B列中分别记录了数值,C列中想计算A列对应元素除以B列对应元素的结果。可以使用AND函数来判断。根据您实际的需求,您可以调整这些函数的参数和条件,以满足不同的计算要求。RANK函数可以计算一组数值在该组数值中的排名。原创 2024-05-26 22:06:35 · 394 阅读 · 0 评论 -
2020年最新阿里、字节、腾讯、京东等一线大厂高频面试(Android岗)真题合集,面试轻松无压力
JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。20.说下Activity的启动模式,生命周期,两个Activity跳转的生命周期,如果一个Activity跳转另一个22.Activity21.再按下Home键在回到Activity的生命周期是什么样的。由于文章篇幅限制,不可能将所有面试题以文字形式展示出来,本篇为大家精选了一些面试题,有需要的程序猿(媛)可以点击下方传送门免费获取。原创 2024-05-26 21:49:39 · 427 阅读 · 0 评论 -
2020年最新-Android-面试之Java知识点梳理,新手必看避免踩雷!(含详细解析)
发生哈希冲突时键值对数组里连续存放,查找时也是通过 key.equals索引,找不到时先向后再向前遍历相同hash值的键值对数组。链表是为解决哈希冲突而存在的,存放的是key和value结合的实体。1995 年 GoF(四人组)出了一本设计模式的书,收录了 23 种设计模式,树立设计模式里程碑,也叫:GoF 设计模式。基于 HashMap 实现,元素就是 HashMap 的 key,Value 传入了一个固定值。扩容时直接创建原数组两倍的长度,然后将原有对象再进行hash找到新的index,重新放。原创 2024-05-26 21:49:08 · 351 阅读 · 0 评论