自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 Android-11--UI-与-Compose,看看还有哪些你不知道的?

反馈http://goo.gle/compose-feedback为了帮助您快速掌握 Compose,我们发布了 4 个新的 Codelab、7 个新的示例以及相关新增文档,Compose 团队还发布了一个播客,以及更多视频介绍供您参考。4 个新的 Codelabhttps://developer.android.google.cn/courses/pathways/compose7 个新的示例https://github.com/android/compose-samples新增文.

2022-03-16 22:29:20 128

原创 Android----Matrix-与坐标变换,flutter瀑布流布局插件

iv.setBackgroundColor(0xFF999999.toInt())iv.scaleType = ImageView.ScaleType.MATRIXiv.setImageResource(R.color.colorAccent)// 图二:设置Matrix,缩放到两倍val matrix = Matrix().apply {setScale(2F,2F)}iv.imageMatrix = matrix[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img

2022-03-16 22:27:44 224

原创 MPAndroidChart 教程:Realm

有关如何设置你的领域实例(包含详细信息RealmConfiguration请看看这里 。 在本教程中,我们假设我们的境界数据库的数据是这样的:biao ge该代码存储前面提到的Score在本地领域数据库例如可以是这样的对象:realm.beginTransaction();Score score1 = new Score(100f, 0, “Peter”);realm.copyToRealm(score1);Score score2 = new Score(110f, 1, “Lisa”);

2022-03-06 21:50:30 119

原创 Cocos2d-x 脚本语言Lua介绍,安卓面试问题和答案

L0302函数闭包的方式面向对象http://www.eoeandroid.com/thread-320732-1-1.htmlL0401在Cocos2d-x中使用Lua语言http://www.eoeandroid.com/thread-320733-1-1.htmlL0402Lua语言游戏示例http://www.eoeandroid.com/thread-320751-1-1.html这里感谢小提琴/wx的倾情讲解小巫这里借花献佛,把整个Lua视频教程学习记录下来,来跟大伙一起学习如何使

2022-03-06 16:30:37 250

原创 Choreographer全解析,androidstudio计算器

private void postCallbackDelayedInternal(int callbackType,Object action, Object token, long delayMillis) {if (DEBUG_FRAMES) {Log.d(TAG, “PostCallback: type=” + callbackType“, action=” + action + “, token=” + token“, delayMillis=” + delayMillis);

2022-03-06 16:29:12 101

原创 ARouter系列2:源码分析,android面试问题

@Autowired(name = “age”)int age;@Autowired(name = “test”)Person person;@Overrideprotected void onCreate(Bundle savedInstanceState) {ARouter.getInstance().inject(this);super.onCreate(savedInstanceState);setContentView(R.layout.activity_test2);TextV

2022-03-06 16:26:22 3846

原创 Android饿了么技术面试(已确认P7职位),移动智能终端开发技术题库

以下主要分享面经和个人学习方法,会包括很多PDF文档,如面试题库(含答案+解析)、学习笔记、实战文档和脑图等等,有需要的朋友可在文末获取这份笔记+所有资料文档哦!###饿了么面试题一面 - 基础面你们 Android 开发的时候,对于 UI 稿的 px 是如何适配的?两个值相等的 Integer 对象,== 比较,判断是否相等?Activity A 跳转Activity B,Activity B再按back键回退,两个过程各自的生命周期子线程是否可以 context.startActivi.

2022-03-06 16:23:32 3294

原创 Android项目文件结构解析,头条android面试算法

此处只介绍Android和Project模式下的文件结构。二、Android模式文件结构:1、文件结构截图2、文件介绍(一)基本目录manifests目录:manifest文件的主要功能是向Android声明应用程序的组件,通过其目录下的AndroidManifest.xml文件实现。AndroidManifest.xml是Android项目的系统清单文件,用于控制Android应用的名称、图标、访问权限等整体属性。除此之外,Android应用的Activity、Service、Conte.

2022-03-06 16:22:07 341

原创 Android面试题精选——再聊Android-Handler机制-2,为什么说spring让Android变得更好

3、MessageQueue是消息队列(实时上它是用链表实现的),负责存放Handler发送过来消息。**4、一个Looper对应一个线程(自己所在的线程,如:线程B)。**Looper的loop()方法运行在自己所在的线程(线程B)中,当Handler在线程A发送一条消息存放到MessageQueue时,Looper的loop()方法在线程B把消息取出来,并交给Handler处理,所以Handler的处理消息的方法是运行在Looper所在的线程(线程B)的。由于多个线程之间共享内存空间,所以Handle

2022-03-06 16:20:42 108

原创 CAS 居然可以代替 synchorinzed,中高级工程师Android开发

//获取更新值int next = current + 1;//执行CAS操作if (compareAndSet(current, next)) {//成功后才会返回期望值,否则无线循环return next;}}}现在有线程 A、B,当线程 A 执行到 CAS 操作, 获取当前值、期望值和更新值分别为 0、0、1, 此时线程 A 被挂起,线程 B 进入执行 CAS 操作将变量值成功更新为 1, 线程 A 继续执行 CAS 操作, 由于此时变量当前值已经被修改,所以本次 CAS 执行失败,

2022-03-05 18:51:22 1045

原创 Android:哪有什么互联网寒冬?只是你穿的少而已,androidhtml5开发框架

系统Launch的开发 ,不限于Rom维护和FrameWork层定制需求【Android开发学习思路脑图】如我之前在研究数据结构,以下是我近期内想做的事:数据结构的分类顺序链表ArrayList内部原理双链表的实现原理以及能手写LinkListHashMap不同JDK版本的构建原理红黑树及其二叉树的实现分析二叉树原理及能熟练手写虽然我才进行到第五条,知道自己还有很长的路要走,我卸载了手机中的王者和抖音,依然然如法炮制去执行,每隔一段时间,去进行一个模块,攻克一个难点, 终将把握这.

2022-03-05 18:49:57 70

原创 Android:从简历到offer直通车,跳槽大厂必备宝典,android开发环境搭建

复盘项目。另外在复习的过程中,一定要及时跟你做过的项目结合起来,这样也可以反哺你的项目,你在面试时就知道怎么聊了,就会有项目讲到知识点,由一个知识点串联到另一个知识点,这样你的知识体系就建立起来了。面试前的心态调整心态的调整决定了“事半功倍”或是“事倍功半”。笔试的状态,实力的发挥,可以影响一个面试过程的方方面面。心态崩了,就只剩运气了,offer估计也就走远了。那怎么调整自己的心态呢?**首先是要正视自己的能力,不轻视,不高估。**不高估就是要清楚自己的能力范围,不是说期望过高不好,但过高的期望会让

2022-03-05 18:48:32 184

原创 Android高工必备:说说从手机开机到APP启动FrameWork层的整体执行流程

先看流程图:开机加电后,CPU先执行预设代码、加载ROM中的引导程序Bootloader和Linux内核到RAM内存中去,然后初始化各种软硬件环境、加载驱动程序、挂载根文件系统,执行init进程。init进程会启动各种系统本地服务,如SM(ServiceManager)、MS(Media Server)、bootanim(开机动画)等,然后init进程会在解析init.rc文件后fork()出Zygoto进程。Zygote会启动Java虚拟机,通过jni进入Zygote的java代码中,并创建soc

2022-03-05 18:47:07 268

原创 Android面试分析一:关于OKhttp详解(附带视频教程,flutter游戏全屏

面试专题OKhttp详解2面试专题OKhttp详解终结篇http协议第一行:请求行请求行下面的:请求属性集问题一:选择网络访问框架的时候,为什么要选择OkHttp而不是其他框架;明确一点: 并不期待,你将市面上所有的框架都全部搞得非常清楚,优缺点全部列出来;你是否具备掌控网络访问框架的能力;这个问题没有标准答案,最好是带点主观意识OkHttpXUtil 支持网络请求,图片加载,甚至还能操作数据库;就我个人而言,我认为,一个好的网络访问框架应该只专注一件事Ret

2022-03-05 18:44:17 4404

原创 Android自定义View,android视频播放器开发

[java]  view plain copy<?xml version="1.0" encoding="utf-8"?>  <LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android”android:orientation=“vertical”android:layout_width=“fill_parent”and

2022-03-05 18:40:01 169

原创 Android知识笔记:记录 2 个 “容易误解,一线互联网大厂面试真题系统收录

//关键点:执行分发touch事件return processPointerEvent(q);} else if ((source & InputDevice.SOURCE_CLASS_TRACKBALL) != 0) {return processTrackballEvent(q);} else {return processGenericMotionEvent(q);}}}private int processPointerEvent(QueuedInputEvent q) {

2022-03-04 18:10:32 64

原创 Android的android,讲的太清楚了

sources/helloworld/Android.mk相应的Android.mk文件会象下面这样:[cpp] view plaincopyLOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE:= helloworldLOCAL_SRC_FILES := helloworld.cinclude $(BUILD

2022-03-04 18:07:42 55

原创 Android文字基线Baseline算法的使用讲解,flutter登录状态管理

参数示意:text,文字内容x,文字从画布上开始绘制的x坐标(Canvas是一个原点在左上角的平面坐标系)y,Baseline所在的y坐标,不少人已开始以为y是绘制文字区域的底部坐标,其实是不正确的,这是两个概念paint,画笔,设置的文字的大小颜色等属性了解了文字绘制的方法,我们现在就了解一下这个参数y(Baseline)的计算方法。Baseline的概念我们先看一行文字各区域的分布示意图从上图来看,Baseline不难理解,它就是E和h的下边界线。我们还可以得出

2022-03-04 18:02:01 111

原创 Android文件系统总结——从-Android-Q-,2021年互联网大厂Android笔经

2|/dataEnvironment.getDataDirectory().getAbsolutePath()|主要目录/data/app 用于包含许多 apk 的文件列表/data/cache 用于保存临时缓存或者下载的文件/data/data 用于存储 app 的数据/data/data/{packageName} 以包名形式区分,为app的私有存储空间,app卸载之后会删除该包下的文件/database用于存储数据库文

2022-03-04 18:00:36 424

原创 android撕衣服应用介绍,Android开发基础面试题

super(context, attrs);this.width = width;this.height = height;this.num = num;init();}void init() {imageRes = ImageResource.getImageResource();//实例化 ImageResource类fore_bitmap = imageRes.getForeBitmap(getResources(), num);//实例化Bitmap类 temp_bitmapbac

2022-03-04 17:59:11 56

原创 Android技术栈(二)组件化改造,安卓上机面试题

先说common模块,这个模块需要包含项目中要使用的所有依赖和一些公用的工具类,之后每个模块都依赖common模块,这样就可以把common模块的依赖轻松地依赖导入到其他模块中去而不用在其他模块的build.gradle中重复地写一大堆脚本.要想使用ARouter,先要在common模块的build.gradle中使用api(老版本是compile)引入ARrouter的运行时依赖(下面的版本可能不是最新的,获取最新版本请到Github获取最新版本的ARouter)api ‘com.alibaba:ar

2022-03-04 17:57:46 123

原创 Dart开发之——运算符,安卓开发实战

var a=1;var b=‘2’;print(a is int);print(b is! String);print(a as int);五 复合运算符5.1 说明复合运算符又叫赋值复合运算符,是多种简单运算符的复合复合运算符包含"="5.2 复合运算符| 运算符 | 说明 || :-: | :-: || += | 复合加运算符 || -= | 复合减运算符 || *= | 复合乘运算符 || /= | 复合除运算符 || ~/= | 复合整除运算符 ||

2022-03-02 22:03:17 205

原创 cmake使用教程(十)-关于file,真是恍然大悟啊

file(READ [OFFSET ] [LIMIT ] [HEX])这个也比较简单: 将filename文件中的内容读取到variable总,可以指定OFFSET的值,也就是开始读取的位置,指定LISTMI的值,读取的长度,HEX是否以16进制形式读取。file(STRINGS […])类似于读取字符码,而不读取字节码。这个命令会将filename中的字符串读取到variable中,并且variable是一个list,每个元素保存每行的内容。二进制文件不会被读取,并且换行符会被忽略。举个例子

2022-03-02 22:00:26 2935

原创 APP软件测试总结,Jetpack-MVVM高频提问和解答

1)软件安装后是否能够正常运行,安装后的文件夹以及文件是否写到了指定的目录里。2)软件安装各个选项的组合是否符合概要设计说明。3)软件安装向导的UI测试4)安装后没有生成多余的目录结构和文件。2.卸载1)测试系统直接卸载程序是否有提示信息。2)测试卸载后文件是否全部删除所有的安装文件夹。3)卸载是否支持取消功能,单击取消后软件卸载的情况。4)系统直接卸载UI测试,是否有卸载状态进度条提示。三、UI测试1)测试用户界面(如菜单、对话框、窗口和其他控件)布局、风格是否满足要求、文字是否正确、

2022-03-02 21:56:01 99

原创 APP路由框架与组件化简析,腾讯架构师深入讲解Android开发

第二步:调用void jumpSecondActivityUseFilter() {Intent intent = new Intent();intent.setAction(“com.snail.activityforresultexample.SecondActivity”);startActivity(intent);}如果牵扯到数据传递写法上会更复杂一些,隐式调用的缺点有如下几点:首先manifest中定义复杂,相对应的会导致暴露的协议变的复杂,不易维护扩展。...

2022-03-02 21:54:36 135

原创 APP终极瘦身方案,移动混合开发线程

优化Assets目录删除无用字体:中文字体不同于英文字体,一个中文字体库是很大的,因此不建议将字体文件随意丢弃到Assets中。对于有些只会用在Logo中的字体,推荐将字体文件进行删减处理。forJrking/FontZip就是一种字体提取工具。动态下载资源:对于字体、js、html这样的资源,尽量动态下载压缩资源文件:对于JS代码或者Html代码,可以通过混淆压缩的方案进行压缩,对于非代码类的文件,可以采用压缩存储的方式,在需要的时候将其解压使用。优化Resources.arsc

2022-03-02 21:53:11 190

原创 AnimationDrawable监听播放结束及ImageSwitcher动画图片切换,带动画

}}Handler handler = new Handler(new Handler.Callback() {@Overridepublic boolean handleMessage(Message msg) {switch (msg.what) {case 100:AnimationSet animationSet = new AnimationSet(true);ScaleAnimation scaleAnimation = new ScaleAnimation(0.5f, 1, 0

2022-03-02 21:50:21 646

原创 Android 深入Http(5)从Retrofit源码来看Http,设计思想解读开源框架

}if (platform.isDefaultMethod(method)) {return platform.invokeDefaultMethod(method, service, proxy, args);}ServiceMethod<Object, Object> serviceMethod =(ServiceMethod<Object, Object>) loadServiceMethod(method);OkHttpCall okHttpCall = new

2022-03-01 13:32:09 76

原创 Android 优秀图标库MPAndroidChart之柱状图(适应百分之八十项目需求)

*/public String getAxisLabel(float value, AxisBase axis) {return getFormattedValue(value);}/**Used to draw bar labels, calls {@link #getFormattedValue(float)} by default.@param barEntry bar being labeled@return formatted string label*/pub

2022-03-01 13:30:44 214

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除