- 博客(78)
- 收藏
- 关注
原创 Android-Kotlin的继承以及GET-SET-方法的使用,安卓开发必须会的技能
/**显示个人简介*/// 注意:⚠️ 必须此方法默认是不被其他类使用的,如果想被其他类使用 需要加入 open 修饰open fun showPersonDescribe() {println(“张翠山-Father简介${personDescribe}”)}/**张翠山的武功*/// 注意:⚠️ 必须此方法默认是不被其他类使用的,如果想被其他类使用 需要加入 open 修饰open fun gestAction() {System.out.println(“自创剑法,剑法厉
2022-01-03 11:42:00
554
原创 Android-10系统新特性解读,flutter教程dart
Android Q 还将更多地使用 Android Pie 中推出的隐私功能。 在 Android Q中,您可以选择应用程序在后台运行时是否可以访问该位置,感觉跟iOS学的。此外,当应用程序使用您的位置数据、麦克风或摄像头时,您将在通知栏中看到相应的图标, 它会告诉你哪个应用程序正在使用该权限。,android热更新和热修复使用
4.添加权限5.strings.xml<?xml version="1.0" encoding="utf-8"?>高德定位SDK示例高德定位SDK功能展示获取定位数据获取定位数据调用定位接口获取定位数据地理围栏地理围栏展示地理围栏功能圆形地理围栏展示圆形地理围栏多边形地理围栏展示多边形地理围栏关键字地理围栏展示关键字地理围栏周边地理围栏展示周边地理围栏行政区划地理围栏展示行政区划地理围栏综合.
2022-01-03 11:36:20
373
原创 Android动画详解,PopupWindow和Dialog区别
12345678910111213141516171819202122232425262728123456789101112131415161718192021222324252627..
2021-12-31 12:31:39
348
原创 Android修改Vold支持PCI-E设备自动挂载,阿里出品
+++ b/system/vold/Disk.cpp@@ -68,6 +68,7 @@ static const unsigned int kMajorBlockScsiP = 135;static const unsigned int kMajorBlockMmc = 179;static const unsigned int kMajorBlockExperimentalMin = 240;static const unsigned int kMajorBlockExperimentalMax
2021-12-31 12:28:17
264
原创 Android使用Ant自动打包,kotlin中文教程
<property name=“out-signed-package” value="outdir/{outdir}/outdir/{ant《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整资料开源分享.project.name}-signed.apk" /> Creating all o...
2021-12-31 12:27:00
1723
原创 Android之RxBus详解,Android基础入门教程
/**发送一个新的事件@param object*/public void post(Object object){bus.onNext(object);}/**根据传递的 eventType 类型返回特定类型(eventType)的 被观察者*/public Observable toObservable(Class eventType){return bus.ofType(eventType);}}首先我们要定义一个接受数据的实体类:public class
2021-12-31 12:24:25
663
原创 android中自定义View,移动开发工程师薪酬
<?xml version="1.0" encoding="utf-8"?> 《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整资料开源分享 [java] view plain copy其中A extends LinerLay..
2021-12-31 12:23:24
1726
原创 Android中View绘制各种状态的背景图片原理深入分析以及StateListDrawable使用
/* Call this to force a view to update its drawable state. This will causedrawableStateChanged to be called on this view. Views that are interestedin the new state should call getDrawableState.*///主要功能是根据当前的状态值去更换对应的背景Drawable对象public void refre
2021-12-31 12:21:18
518
原创 Flutter 中 IndexedStack 的使用详解 _ Flutter Widgets
],)index:0index:1index:2上面我们调整不同的 index 只显示出来了一个子项 Widget,如果我们把 IndexedStack 换成 Stack 则会显示成如下效果。IndexedStack 源码alignment 对齐方式sizing 填充方式index 显示子项索引children 子项集合本篇主要聊 index 和 children ,其他的 alignment、sizing 可以稍后转看专栏中 Stack 详解篇,我们开
2021-12-30 13:50:56
1762
原创 FFmpeg 之X264视频编码与FAAC音频编码(四),android热更新流程
视频x264编码浅析音频编解码FAAC一、视频x264编码浅析============声明 x264_param_t 结构体变量:x264_param_t params;x264_param_default_preset(¶ms, “ultrafast”, “zerolatency”);//优化编码延迟?变量参数编码前赋值:params.i_csp = (csp == 17) ? X264_CSP_NV12 : csp;//编码比特流..
2021-12-30 13:50:00
186
原创 Dart语言快速入门,安卓rxjava+retrofit
// 定义一个函数printNumber(int number){print(‘The number is $number.’); // 打印到控制台。}// 入口函数void main(){var number = 42;// 声明并初始化一个变量。printNumber(number);// 调用函数。}// 代码注释。$variableName (或 ${expression}) 获取变量值/ 重要概念 /在学习 Dart 语言时, 应该基于以下事实和概念:万物皆对象,
2021-12-30 13:49:05
706
原创 Dagger2入门系列二:Module&Component源码分析,h5移动端开发面试题
}}1.3、Component类@Component(modules = Test1Module.class)public interface Test1Component {void inject(Test1Activity activity);}1.4、Activity类public class Test1Activity extends AppCompatActivity {@InjectStudent student;@Overrideprotected void onC
2021-12-30 13:48:10
124
原创 cmake使用教程(十)-关于file,附面试题答案
文件的读取file(READ [OFFSET ] [LIMIT ] [HEX])这个也比较简单: 将filename文件中的内容读取到variable总,可以指定OFFSET的值,也就是开始读取的位置,指定LISTMI的值,读取的长度,HEX是否以16进制形式读取。file(STRINGS […])类似于读取字符码,而不读取字节码。这个命令会将filename中的字符串读取到variable中,并且variable是一个list,每个元素保存每行的内容。二进制文件不会被读取,并且换行符会被忽
2021-12-30 13:46:20
558
原创 Centos Linux下使用Metasploit渗透android,kotlin枚举类
Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。这些功能包括智能开发,代码审计,Web应用程序扫描,社会工程。这篇文档只适合在Ce《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享ntos Linux已经安装了Metasploit的大伙。没有安装Met.
2021-12-30 13:45:24
255
原创 ble兼容Android 4 进行的部分优化,熬夜整理小米Android面试题
if (Build.VERSION.SDK_INT < 21){if (enable){mHandler.postDelayed(new Runnable() {@Overridepublic void run() {mScaning = false;mBluetoothAdapter.stopLeScan(mLeScanCallback);}..
2021-12-30 13:44:29
217
原创 BAT门槛高Android渣本处境难?开发3年还未进大厂焦虑?大厂内部面试官分享进大厂操作指南
追求职业发展近两年很多发展快的企业以 double 薪资去BAT挖人,比如头条、拼多多之类的。因此,从长远的职业发展角度考虑,BAT 的工作背景就相当于清北毕业的学生一样抢手。有了 BAT 的背景,未来无论跳槽还是晋升、成为技术经理或者架构师,自己都具有足够的主动性。正好我既参与过快速增长的创业型公司,也在阿里经历过集团式的规范研发流程。因此今天和读者分享下我对于大厂的看法。大厂履历意味着什么?因为简历上有大厂工作经历的话,面试的机会会大量的提升。毕业第二年的时候我曾经做过一个实验。当时我并没有
2021-12-30 13:43:34
202
原创 Android程序媛大厂拧螺丝,未来职业如何规划,Android开发你需要了解的那些事
我先介绍一下背景,她工作 2 年,985 本科毕业,目前在一家互联网大厂任职 Android工程师。她主要咨询了我 4 个困惑问题,比如大厂拧螺丝怎么破?全年 996 没时间学习怎么办?等等。我觉得,她的问题还挺有代表性,于是写一篇与大家分享!一、4 个困惑问题=====================================================================1、她目前在公司就是小螺丝钉,负责的系统和模块就很少,这样一直下去怎么办?答:关于程序员从 P5 到
2021-12-29 15:16:24
313
原创 Android程序员架构师筑基必备:IOC控制反转与DI依赖注入
02、控制反转我们得替老王主持想个办法对不对?不如把这个扫地的差事交给老王的师弟老方吧,老方负责去叫小二和尚还是小三和尚还是小四和尚去执行老王主持的命令。代码可以这样实现。定义一个扫地和尚的接口,代码如下所示:public interface Heshang {void saodi();}小二类的代码修改如下所示:public class Xiaoer implements Heshang {@Overridepublic void saodi() {System.out.printl
2021-12-29 15:15:20
158
原创 Android知识体系总结2020(全方面覆盖Android知识结构,面试&进阶)
内存优化[LeackCanary,BlockCanary]依赖注入[ButterKnife,Dagger]数据库轮子[LitePal,GreenDao…]项目架构篇MVC & MVP & MVVM组件化JetPackAndroid高级进阶篇UI绘制过程一个app启动过程Android 动画机制View事件分发热更新 & 插件化Handler源码分析…Android优化篇内存优化布局优化UI卡顿优化UI适配优化apk安全优化An
2021-12-29 15:14:10
841
原创 android界面View简介及android界面绘制过程,211本硕如何通过字节跳动、百度、美团Android面试
从上面两图的对比中,可以看出,实际上ViewGroup是View的子类,因此,View的行为特征ViewGroup也具备,但同时因为ViewGroup是Layout的祖先,所以具备了其它一些特点,View所未具有的。通常创建一个View,不论是通过XM《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享L还是通过代码创建。对任何一个View及这个View的子类Widget,需要关
2021-12-29 15:13:03
89
原创 Android猿面试(附视频),跨平台移动开发题库
本来想着一直把视频在公众号同步更新,后来在录制过程中,由于是面试题,很难控制题目的难易程度,有些题目过难,有些题目过于简单,过于简单的题目在公众号发布之后,后台喷子实在太多,经常回复这个题目简单,那个题目没有讲好,导致后来就不了了之,经常我想,为啥中国喷子这么多,讲的不好收你钱了,吃你家大米了,不好不看不就行了吗,喜欢就看看,没有收获不看就行。讲真,想做点事情真的很难。后来想着也不能半途而废,得坚持把面试题做完做好,免费提供给大家,这样我就做了一个Android面试的app,这样想看视频的视频,想看文档的
2021-12-29 15:10:20
175
原创 Android模拟器检测体系梳理,android驱动开发入门
安卓系统兼容性:目前模拟器上的Android系统仍然停留在4.x,部分达到5.1,使得部分对安卓版本有要求的应用或游戏在模拟器上运行体验不好。底层关键技术>>>>虚拟化技术模拟器是用软件来模拟硬件操作,这就需要用到虚拟化技术。广义的虚拟化,是指将网络、CPU、内存及存储等各种实体资源,予以抽象、转换后呈现出来,进而打破实体结构间不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。我们所熟知的虚拟机就是虚拟化技术中的一种,通常来说它们只是模拟了一套与Host主.
2021-12-29 15:09:10
1954
原创 Android春招面经:二本渣院面试网易被拒,kotlin语言实例精解
让你设计一个跨平台的框架,你怎么设计(这里我谈了flutter的架构)。https的流程。fragment的懒加载。一个商场里有一个电影院,你会把厕所建设在哪里,说一下你的理由?hr面(鸽了我20分钟,腾讯都是大猪蹄子?哈哈~~开玩笑,面试官真的很忙,有时候换位思考一下,心态好点)自我介绍为什么选择微信?对我们了解吗?愿不愿意来家里的情况什么时候可以来实习,可以实习到什么时候(入职)阿里一面自我介绍自己看过的源码,说一下?..
2021-12-29 15:08:09
201
原创 Android文字基线Baseline算法的使用讲解,PDF超过6000页,
text,文字内容x,文字从画布上开始绘制的x坐标(Canvas是一个原点在左上角的平面坐标系)y,Baseline所在的y坐标,不少人已开始以为y是绘制文字区域的底部坐标,其实是不正确的,这是两个概念paint,画笔,设置的文字的大小颜色等属性了解了文字绘制的方法,我们现在就了解一下这个参数y(Baseline)的计算方法。Baseline的概念我们先看一行文字各区域的分布示意图从上图来看,Baseline不难理解,它就是E和h的下边界线。我们还可以得出一个结论,文..
2021-12-29 15:07:03
137
原创 Android视图动画-View-Animation,android完整项目源码
示例2:百分比Pivot使用百分比确定Pivot也很简单,那么Pivot的位置就是:以View的左上角即(0,0)点为基础加上View特定的宽高百分比。<?xml version="1.0" encoding="utf-8"?>示例3:父View百分比Pivot<?xml version="1.0" encoding="utf-8"?>这个计算和上边那个其实是一样的,只是基于的点不同而已,上边是基于自身来算起,那么这个则是基于View的父布局来计算的。那么Piv
2021-12-28 13:51:11
148
原创 Android系统联系人全特效实现(上),分组导航和挤压动画
android:layout_width=“fill_parent”android:layout_height=“18dip”android:layout_alignParentTop=“true”android:background="#303030" > 布局文件很简单,里面放入了一个 ListView,用于展示联系人信息。另外还在头部放了一个 LinearLayout,里面包含了一个 TextView,它的作用是在界面头部始终显示一个当前分组。二然后新建一个 contact_i
2021-12-28 13:47:51
133
原创 Android系统架构开篇(深度好文,值得收藏,android开发网格布局
init进程还启动servicemanager(binder服务管家)、bootanim(开机动画)等重要服务init进程孵化出Zygote进程,Zygote进程是Android系统的第一个Java进程(即虚拟机进程),Zygote是所有Java进程的父进程,Zygote进程本身是由init进程孵化而来的。2.4 Framework层Zygote进程,是由init进程通过解析init.rc文件后fork生成的,Zygote进程主要包含:加载ZygoteInit类,注册Zygote Socket.
2021-12-28 13:46:33
389
原创 Android程序员生活就是这么朴实无华,那真是穷的喝自来水
购物心得====《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享我曾经在淘宝货比三家,现在在拼多多货比三家。我购买电子产品,都是线下体验,线上付钱。我每次出去吃饭一定团券儿,请女朋友吃饭,那必须先打开美团搜个周边。我定外卖,必须拉上同事凑到免单,定外卖之后,必须要抢那最大红包钱。自从有了社区团购,买菜我都在网上去买,毕竟每天对着电脑的我,不适应在
2021-12-28 13:45:08
108
原创 android移动支付——微信支付,人生转折
4.告诉收银员支付方式5.选择支付方式进行支付6.处理支付结果(成功、失败、取消)程序中的支付流程中:1.浏览商品2.把要买的商品加入购物车3.把购物车中的商品信息和用户信息和支付方式等信息发送到自己服务器,服务器处理商品信息生成订单,并返回”支付串”给客户端4.客户端拿着“支付串”,调用第三方服务(支付宝、微信、银联、paypal等)完成支付5.处理支付结果(成功、失败、取消)l 同步返回:支付后通知我们的客户端l 异步通知:支付后通知我们的
2021-12-28 13:43:58
482
原创 Android的路由框架用法,Android从入门到精通
}@Overridepublic void onLost(Postcard postcard) {Log.e(“监听路由过程”, “onArrival: 找不到路由”);}@Overridepublic void onArrival(Postcard postcard) {Log.e(“监听路由过程”, “onArrival: 路由跳转完成”);}@Overridepublic void onInterrupt(Postcard postcard) {Log.e(“监听路由过程”, “
2021-12-28 13:41:51
681
原创 Android的zygote SystemServer的启动,android音视频开发pdf
startSystemServer ? “start-system-server” : “”);} else if (className) {// Remainder of args get passed to startup class main()runtime.mClassName = className;…runtime.start(“com.android.internal.os.RuntimeInit”,application ? “application” : “tool”);}
2021-12-28 13:40:50
272
原创 Android面经分享:渣本毕业四年面试多家大厂被拒,原因竟是这个
从3月初开始复习,准备面试题。复习的资料主要为《Android开发艺术探索》和《Android PDF知识大全》(一位朋友分享),还有就是网上的其他博客资料。首先介绍一下自己基本情况:渣本毕业快4年,一直在小厂摸鱼混日子,学历和简历背景不是很好看,所以面试邀约也不是很多,面试也到处碰壁。从3月中旬开始面试,一直到4月底。共面试9家公司,近20轮面试,拿到2个小公司和1个上市公司(不是出名的公司)的offer,最后准备去上市公司了。也投递了BAT、360、抖音、快手、平安等大厂的岗位,不过大部分没给面试机会
2021-12-27 13:29:40
122
原创 android适配autolayout的使用心得体会,IBM大面积辞退40岁+的员工
dependencies {compile ‘com.zhy:autolayout:1.4.5’}2、标明设计稿尺寸在AndroidManifest3、使用时候有两种用法:一种是让你的Activity继承自AutoLayoutActivity.一般可以把你的基类继承AutoLayoutActivity如果你觉得这种对你的activity改《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》【docs.qq.com/doc/DSkNLaERkbnFo
2021-12-27 13:28:30
265
原创 Android进阶:最简单的方式实现自定义阴影效果,html5移动端开发
protected void dispatchDraw(Canvas canvas) {super.dispatchDraw(canvas);}这个方法是ViewGroup在绘制子View的时候调用的,那么我们可以在这个时候进行阴影的绘制。首先,这个方法已经为我们提供了这个View的画布:Canvas,我们可以直接在上面进行阴影的绘制,代码如下:Paint shadowPaint = new Paint();shadowPaint.setColor(Color.RED);shadowPaint
2021-12-27 13:27:23
659
原创 android设计模式—原型设计模式,走进Android架构
创建原型模式public class PersonOrder1 implements java.lang.Cloneable {private int oderNumber;private String name;public int getOderNumber() {return oderNumber;}public void setOderNumber(int oderNumber) {this.oderNumber = oderNumber;}public String ge..
2021-12-27 13:26:05
183
原创 Android自定义view之模仿登录界面文本输入框(华为云APP)
1.将光标移到最后//将光标移到最后edittext.setSelection(edittext.getText().toString().length());2.将键盘中的回车和空格去除public static void setEditTextInputSpace(EditText editText) {InputFilter filter = new InputFilter() {@Overridepublic CharSequence filter(CharSequence sourc
2021-12-27 13:24:40
111
原创 Android自定义Dialog,Toast,Notification和PopupWindow
.findViewById(R.id.toast_tv);TextView toast_time = (TextView) myView.findViewById(R.id.toast_time);SpannableString spannableString = new SpannableString(“Hello,Android! -zhoumushui”);span《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》【docs.qq.com/doc/DS
2021-12-27 13:23:30
170
原创 Android组件化学习,《Android面试题及解析》分享
组件化带来的优势:**加快编译速度:**每个业务组件都可以单独运行调试,速度提升好几倍。**提高协作效率:**每个组件都有专人维护,不用关心其他组件是怎么实现的,只需要暴露对方需要的数据。测试也不需要整个回归,只需要重点测试修改的组件即可。 **功能重用:**一次编码处处复用,再也不需要复制代码了。尤其是基础组件和业务基础组件,基本上调用者根据文档就可以一键集成和使用。前面有提到非大型项目一般不会进行组件化,但是就像上面提到的功能重用,这个优势并不是只能用到大型项目 。我们可以在写需求或库时完全可以拥
2021-12-27 13:22:29
612
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人