- 博客(29)
- 资源 (6)
- 收藏
- 关注
原创 【28】Kotlin之协程(二),原理
很早前刚了解协程的时候,写了第一篇文章,只是关于协程的简单的一些重要概念,使用方式。这次就想根据自己的成长的了解,说说深入一点的东西。这次总结没什么好讲的了,也算是深入的了解了一下协程和调度器的原理。之后希望能够对协程还有更进一步的认识。
2024-08-01 20:46:57 722
原创 【27】23种设计模式
这次来讲一下23种设计模式,这是老生常谈的话了,实际运用中,能熟练并且完全掌握的设计模式,大家估计都寥寥无几。首先需要明白一点,你认为的设计模式的作用是什么?不是别人认为的,百度认为的。我认为的设计模式,是为了提供给我们更好的在开发设计中,让功能具有可扩展性,灵活性,可复用性的方法。也许在不断地了解这些模式之后,会对这个认识不断优化,得出你最终认为的价值。如果按照以往方式去讲设计模式,估计就不用讲了,我认为菜鸟教程已经把23种设计模式讲的很明白,大家也可以直接去看教程。
2024-07-29 22:19:29 1235 1
原创 【21】读感 - 架构整洁之道(三)
之前已经讲了编程范式,这次就来讲讲开发的五大原则,五大原则文字背诵,可谓是倒背如流,实际应用的理解,应该五层也有三层了吧。通过继续的阅读,看看能不能了解这十层的功力。
2024-07-19 01:51:32 222
原创 【19】读感 - 架构整洁之道(一)
架构整洁之道》一书中有提到设计和架构的感念,它们究竟是什么?书是这么说的,它们的层次不一样,架构更“高层级”的说法,这类讨论一般都把“底层”的实现细节排除在外。而设计往往指代的具体的系统底层组织结构和实现的细节。如果作为一名系统架构师,这两个概念是不分家的,“架构设计”。而这种思想和我不谋而合。目前两章的重点,以及我个人的理解就这么多了,之后文章会开始讲后面章节的我的读感已经认为重要的内容以及有趣的认识,
2024-07-18 11:52:38 847
原创 【14】Github Copilot环境搭建
这里以Visual Studio Code为例,安装好vs code,打开扩展侧边菜单栏,搜索“Github Copilot”,会出现如下图的两个插件,点击安装第一个,另一个会附带一起安装,然后弹出提示重新启动vs code,以便运行刚安装好的插件。我们再接着,在类中添加一个函数,通过注释的方式生成需要的函数逻辑,例如:“//快速排序”,然后换行,提示的伪代码就这样显示出来了,再按一下Tab,就生成出来了。成功安装,ide右下角会出现Copilot的图标,并且弹出提示,跳转网页绑定github账号即可。
2024-07-16 01:27:02 513
原创 【13】Python2.7.x Systrace的使用与环境搭建 for window
在window下,Python2 如何使用Systrace,以及环境搭建
2023-09-16 11:49:55 616 1
原创 【11】Kotlin之协程(一),协程,挂起,协程的线程
协程(Coroutine),Kotlin引入的新的概念,co表示协同、协作,routine表示程序。协程义在多个互相协作的程序。
2023-03-31 01:12:32 425
原创 【10】Android之MVVM架构之ViewModel + LiveData + DataBinding
自定义的VM类只要继承引用的第三方库中的ViewModel抽象类即可然后我们就可以在activity/fragment中实例化它生命周期Google官方给的生命周期图我们知道ViewModel能在Activity和Fragment里使用,因此也能作为媒介使得Activity和Fragment进行交互。那么需要在View里使用呢?假如我有一个自定义view或者dialog,它包含一堆数据和状态,能否使用ViewModel去管理数据呢?这个是肯定的!后续会给到答案。...
2022-06-30 15:14:21 3823 2
原创 【9】LeakCanary 2.x内存泄漏检测分析
前述:LeakCanary 2.x已经完全基于Kotlin重构升级了,在使用方面相比之前也出现了不同,这次针对LeakCanary 2.x对内存检测流程进行分析,了解LeakCanary内部是如何实现内存泄漏检测的。1. 使用在2.7版本当中,我们直接引入依赖即可,无需通过代码调用LeakCanary.install的方式进行初始话,LeakCanary会在app初始时自动初始化自身。implementation "com.squareup.leakcanary:leakcanary-androi.
2021-12-18 19:46:23 610
原创 【8】Kotlin 之 lateinit关键字 与lazy
lateinit是许多刚进入学习kotlin常常会掉入的坑之一。很多人为了保证java原有的语法,在定义变量和对象的过程中,会使用如下的定义方式。class Demo{ private var value: String fun printValue(){ println(value) }}这个时候,编译器就会提示错误Error:(2, 5) Kotlin: Property must be initialized or be abstract然后有很多小伙伴解决问题,会使用提示
2021-09-22 11:13:06 1292 1
原创 【7】Kotlin 之 object关键字
object关键字主要使用的场景对象声明伴生对象对象表达式对象声明(object declaration)通过修饰类名来实现单例模式。修饰的类为静态类,kotlin可以通过类名直接调用,java则需要通过instance来调用类方法。伴生对象(companion object)因为在kotlin中是没有static关键字的,也就意味着没有静态方法和静态成员。那么在kotlin中如果想要表达这种概念,可以使用包级别函数(package-level funcation)和伴生对象(co
2021-09-22 10:44:57 292 1
原创 【5】Android Framework之进程间通信 - Binder
Android AIDL了解多少AIDL(Android Interface Definition Language) 即安卓接口定义语言。AIDL是IPC通信方式当中的一种,简单来说,就是为了让你在你自己的App里绑定其他App的service进行数据交互。AIDL的使用既然说到aidl是为了进程间通信,那么传递数据的类型就尤为重要。这次就根据aidl传递的参数类型的使用分别进行讲解。1. 基本支持类型当你打开Android Studio通过service项目创建一个aidl文件的时候,你会
2021-05-11 19:40:31 221 1
原创 【4】Android基础之线程 - Thread
Android的多线程了解多少线程可能大家都不陌生,经常在面试的过程中,被人问到线程的知识,大家都会回答一二。但是当问题不是以具体到“线程的创建”,“线程的使用”,“线程的优缺点”时,我们又能对多线程说出自己多少的了解呢!1. 多线程的介绍1.1 定义多线程顾名思义就是开辟多个线程进行工作,换而言之多个任务“同时”进行。“同时”,这个主要归咎于JVM虚拟机快速调度来轮换线程,使得多个线程能够轮流快速的执行,从而给我们一种同时进行的错觉。1.2 作用多线程的作用是使程序在并发过程中,减少多个
2021-05-10 15:04:46 246 1
原创 编译APK时提示xml文件里面出现unbound prefix的问题
反编译APK,在压缩回去的时候提示xml文件里面出现unbound prefix的问题xmlns定义了一个命名空间,这样android类别下的所有属性我们都可以在这个布局里面加以使用了,unbound prefix意思是前缀未被约定,比如我引用了一个自定义的控件,加入了两个自定义的属性,而没有加入命名空间xml文件某部分隶属的布局中所使用的命名空间是否被定义了。一般来说,在xml的最开始就应该...
2020-03-20 10:46:36 1321
原创 Android关于横幅banner广告的实现
前言前些时间在接入一个广告sdk,遇到了一件很棘手的事情,就是接入banner广告展示时,通过sdk提供的接口,只能够获得广告展示的数据,如图片,详情,标题等内容,并不会直接通过设置参数,把具体的内容生成view展示在已有界面的指定位置。因此才有了这次的博客,记录一下,如果获得广告数据,如何展示广告到当前界面的指定位置。动态banner广告展示的实现首先我们需要加载进来我们已经创建好的...
2018-09-03 19:25:13 3040
转载 【转载】关于Android各个类型手机兼容刘海屏解决方案
引用自小米官方文档,这里缩减了一些内容,捡取重要内容。 转载请标明出处: https://blog.csdn.net/DJY1992/article/details/80688376 本文出自:【奥特曼超人的博客】推荐:android 兼容所有刘海屏的方案大全and...
2018-07-10 12:36:41 2762
原创 关于HttpClient的POST请求设置参数,服务器接收参数为空的问题。。。
导入的jar包:httpcore-4.4.10.jar public static void doPost(String url, String json){ String result = null; try { String endoderJson = URLEncoder.encode(json,HTTP.UTF_8); HttpClient client = ne...
2018-07-09 11:54:01 14207 2
原创 【3】SDK开发之友盟统计 - 多渠道打包APK
友盟统计是大家开发常用对的渠道统计工具,这次我们就来说说基于友盟统计的多渠道打包APK的过程。根据友盟官方文档的说明,渠道信息需要在AndroidManifest.xml清单文件中配置:其中value值就是渠道的标识。在AndroidManifest.xml里设置动
2017-08-30 15:15:21 323 1
原创 【2】Android基础之四大组件 - Activit & Fragment
版权声明:本文为博主原创文章,转载需声明来源http://blog.csdn.net/mr_zengkun/article/details/77430891Activity的生命周期在系统中的Activity被一个Activity栈所管理。当一个新的Activity启动时,将被放置到栈顶,成为运行中的Activity,前一个Activity保留在栈中,不再放到前台,直到新的Activity退出为止。
2017-08-20 18:05:29 694 1
原创 【1】Android基础之四大组件 - 服务
四大组件之服务服务ServiceService是Android系统的重要组件之一,和Activity、Conent Provider、BroadcastReceiver统称为Android的四大组件。service是不可见的,在后台运行的,没有界面的。service一般处理比较耗时以及长时间运行的操作。服务分为普通服务和绑定服务两种,服务经常在一个应用程序中取得重要的作用。普通服务定义一个服务类继
2017-08-18 19:34:25 480 1
rt.jar(jdk1.7.0_79+jar1.6.0_10-rc2)
2019-03-13
android-support-v7-appcompat.jar
2019-01-09
android-support-multidex.jar
2019-01-09
android-support-annotations.jar
2019-01-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人