自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

周杰的博客

记录学习碰到的问题以及解决过程

  • 博客(25)
  • 收藏
  • 关注

原创 连接查询总结

RIGHT JOIN:返回右表所有行,左表没有匹配时显示 NULL。LEFT JOIN:返回左表所有行,右表没有匹配时显示 NULL。INNER JOIN:仅返回匹配的行。

2024-11-08 10:58:51 122

原创 enableEdgeToEdge

【代码】enableEdgeToEdge。

2024-10-29 09:06:52 178

原创 Vim相关

进入插入模式(按 i 键),然后开始输入你的新文本。这个命令会删除文件中的所有行。这会保存文件并退出 Vim。

2024-09-28 09:01:38 216

原创 adb logcat工具使用

先找到应用程序的进程id(pid),然后使用这个pid进行过滤。

2024-09-19 11:24:27 205

原创 android studio将.idea目录移除git版本控制

这个命令会从Git索引中移除.idea目录,-r表示递归删除,–cached表示仅仅从索引中移除而不删除本地文件系统中的文件。这个命令会创建一个提交,说明.idea目录已经从版本控制中移除。2、切换到你的Git仓库目录。1、打开终端或命令提示符。

2024-03-06 16:04:04 520 1

原创 Android常用的基础依赖库

【代码】Android常用的基础依赖库。

2023-08-31 10:50:04 590

原创 正则表达式

正则表达式

2022-08-30 20:52:51 156

原创 MediaCodec问题收集

配置H264编解码器的时候分辨率应该是在[144x144]到[4096x4096]之间E/VENC: [SetPortDefinition]:[5687] nFrameWidth:96 nFrameHeight:96 should between [144 X 144] [4096 X 4096]

2021-12-21 10:56:40 301

原创 阿里云镜像

阿里云镜像 maven { url 'https://maven.aliyun.com/repository/public/' } maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/gradle

2021-10-11 13:38:51 585

原创 Kotlin解析JSON数据

import org.json.JSONObject// Json解析operator fun Any?.get(key: String): Any? { if (this == null) return null return try { val jsonMessage = this.toString() val jsonObject = JSONObject(jsonMessage) jsonObject.get(key) }

2021-09-28 18:30:42 1424

原创 Kotlin标准函数的作用及使用

let: 将原始调用对象,作为参数传递到Lambda表达式中使用:使用let标准函数,辅助判空 fun doStudy(student: Student?) { student?.let { it.read() it.study() } }with: 在Lambda表达式中提供,原始调用对象的上下文,将Lambda表达式的最后一行作为返回值返回使用: 连续调用同一个对象的方法时,可以使用with标准标准函数,让代码更加精简 val list = listOf("Apple

2020-11-22 09:52:05 224

原创 上手Jetpack:ViewModel以及LiveData

ViewModel添加依赖implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'创建ViewModelclass StartViewModel: ViewModel() { }获取ViewModel实例class StartActivity: AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) {

2020-07-05 11:41:55 410

原创 Kotlin入门(三)使用协程

开启一个协程fun main() { GlobalScope.launch { println("开启了一个协程") }}创建多个协程使用launchrunBlocking { launch { println("创建第一个协程") } launch { println("创建第二个协程") } }声明挂起函数suspendsus

2020-07-02 21:41:54 259

原创 Kotlin上手(二)

高阶函数定义如果一个函数接收另外一个函数作为参数,或者返回值的类型是另一个函数,那么这个函数就是高阶函数fun num1AndNum2(num1: Int, num2: Int, operation: (Int, Int) -> Int): Int { val result = operation(num1, num2) return result}怎么调用它?//首先定义一个普通函数fun plus(num1: Int, num2: Int): Int { r

2020-07-01 21:39:03 208

原创 Kotlin上手(一)

标准函数withwith函数接收两个参数,第一个参数是任意类型的对象,第二个是Lambda表达式。with函数会在Lambda表达式中提供第一个参数的上下文,并使用Lambda表达式中的最后一行代码作为返回值返回。fun test() { val list = listOf("Apple", "Banana", "Orange") val result = with(StringBuilder()) { append("开始吃水果")

2020-07-01 21:18:58 246

原创 Jetpack架构组件上手之Lifecycles

导包 // ViewModel implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" // LiveData implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"作用把原本写在onCreate,onStart等等回调方法的代码放到别的类中去写举例

2020-06-27 19:31:32 174

原创 Kotlin学习记录(学的第一行代码第三版里面的,感兴趣的可以直接买书看看)

Kotlin学习记录1、当一个函数中只有一行代码时,可以不用编写函数体。例子:fun largerNumber(num1:Int,num2:Int){ return max(num1,num2)}fun largerNumber(num1:Int,num2:Int):Int = max(num1,num2)2、类型推导机制:因为max(num1,num2)函数返回的是一个Int值,而且函数尾部用等于号跟max()函数连接,所以Kotlin可以推导出largerNumber的返回值也

2020-05-30 22:16:44 435

原创 正则表达式用法记录

正则表达式用法记录正则表达式语法正则表示式测试工具:https://pan.baidu.com/s/1p6Ln1VeIt9vYEhX5OcdWYQ提取码:lshr普通字符字母、数字、汉字、下划线、以及没有特殊定义的标点符号,都是“普通字符“。表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的一个字符。简单的转义字符\n:换行符\t:制表符\\:\本身\^,\$,\.匹...

2019-11-12 04:10:55 145

原创 Android播放器MediaPlayer(上)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2019-10-28 20:39:10 813

原创 Java设计模式之代理模式(静态代理)

代理模式(Proxy pattern)核心作用:通过代理,控制对对象的访问!可以详细控制访问某个对象的方法,在调用这个方法前做前置处理,调用这个方法后做后置处理。核心角色抽象角色-定义代理角色和真实角色的公共对外方法真实角色实现抽象角色,定义真实角色所要实现的业务逻辑,供代理角色调用。关注真正的业务逻辑!代理角色实现抽象角色和真实角色的代理,通过真实角色的业务逻辑方...

2019-09-13 14:20:16 128

原创 Java设计模式之建造者模式

场景需要建造一个复杂的产品实际开发中,我们所需要的对象构建起来非常复杂,有很多步骤需要处理本质分离了对象子组件的单独构造和装配。实现了构造和装配的解耦。构建与装配的不同组合可以构造出不同的对象,实现了更好的复用。代码示意需要构建的对象AirShip:持有子组件的引用public class AirShip { private OrbitalModule orbit...

2019-09-07 19:40:29 136

原创 解决android 9上无法使用http协议

第一步:制作配置文件network_security_config.xml,下面是内容:<?xml version="1.0" encoding="utf-8"?><network-security-config> <base-config cleartextTrafficPermitted="true" /></network-secur...

2019-09-05 18:36:23 1436

原创 Java设计模式之模板方法模式

国际惯例,扯闲篇上次没写的抽象工厂模式已经悄悄补上了,今天敲代码的时候刚好打算用这个模板方法模式,所以就来把这个模式写一写吧,权当是复习了。模板方法模式(Template Method)介绍模板方法模式是编程中经常能够用到的一个模式,它定义了一个操作的算法骨架,将某些步骤延迟到子类中实现。这样,新的子类可以在不改变一个算法结构的前提下重新定义该算法的某些特定步骤。核心:处理步骤在父类...

2019-09-03 20:01:17 131

原创 Java设计模式之工厂模式

国际惯例,扯闲篇今天阴天,很开心,前几天的大太阳晒得我更黑的~~~面向对象设计的基本原则OCP(开闭原则):一个软件的实体应当对扩展开发,对修改关闭。对于已完成的类,尽可能地不要去修改其内容DIP(依赖倒转原则):要针对接口编程,不要针对实现编程。这样会让代码更易读,不会经常写着写着就晕头转向Lod(迪米特法则):只与你直接的朋友通信,避免和陌生人通信。设计模式也好,基本原则也罢,都应...

2019-08-31 16:09:12 117

原创 Java设计模式之单例模式

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2019-08-28 19:49:13 146

空空如也

空空如也

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

TA关注的人

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