知识积累
文章平均质量分 52
天涯海风
这个作者很懒,什么都没留下…
展开
-
Android中Activity的android:windowSoftInputMode属性
windowSoftInputMode属性主要是用来设置窗口软键盘的交互模式的,这个属性会有两个影响:原创 2023-03-02 15:35:44 · 354 阅读 · 0 评论 -
简单可用 Android 安卓软键盘弹出、隐藏监听方法回调
有时候弹出软键盘会使布局出现出乎预期的现象,这时候要考虑Manifest文件中Activity的windowSoftInputMode属性。原创 2023-03-02 15:30:36 · 964 阅读 · 0 评论 -
git 常用指令集
24、git rm git commit -m “delete file” 分两步执行,可以删除远程仓库对应的文件。21、 git reset –hard [commit 的Id] —将本地版本退回到提交之前的版本。14、 git commit –m ‘提交说明’—将缓冲区的文件提交到本地库中。6、 git diff –-cached 文件路径 ––查看本地缓冲和上次提交的差别。13、 git add –A —提交所有的需要add 的文件到缓冲区。原创 2023-02-27 16:32:23 · 450 阅读 · 0 评论 -
Linux常用命令大全(非常全!!!)
txt’|xargscp-av--target-directory=/home/backup/--parents从一个目录查找并复制所有以‘.txt’结尾的文件到另一个目录。mkisofs-J-allow-leading-dots-R-V“LabelCD”-iso-level4-o./cd.isodata_cd创建一个目录的iso镜像文件。)>>result.txt合并一个文件的详细说明文本,并将简介写入一个已有的文件中。...原创 2022-07-29 16:07:49 · 309 阅读 · 0 评论 -
作为程序员你应该会的软件
3.SecureCRT或者putty串口工具,测试时可用该工具登录设备或排查问题。以上均可从共享上进行下载Y\共享\03_常用软件,或者直接在网站上下载安装包即可。5.SQLite数据库工具,主要用来看设备里的参数相关的数据库。2.Wireshark抓包工具,主要看TCP传输相关的包。4.Beyondcompare对比软件。6.FileIZilla服务端以及客户端。7.QXDM以及QCAT看LTE信令。1.Notepad++记事本。...原创 2022-07-29 15:07:33 · 2022 阅读 · 0 评论 -
OOM是常见的java错误,OOM主要有
OOM是常见的java错误,OOM主要有:原创 2022-07-22 14:45:56 · 921 阅读 · 0 评论 -
如何让一套代码完美适配各种屏幕?
常见的适配方式 xml布局控件适配 图片适配 依据产品设计适配原创 2022-07-21 19:40:28 · 443 阅读 · 0 评论 -
SVN 代码到Git仓库 只需几步简单粗暴 代码和小乌龟都可以
git 小乌龟 git 代码迁移到 svn 代码库迁移原创 2022-07-13 18:20:43 · 1621 阅读 · 0 评论 -
Android 技术文章,亲测有用的,记录整理
handle原创 2022-07-11 14:50:08 · 649 阅读 · 0 评论 -
java位移符号 << 、>>理解
亦或 与 有符号左移 有符号右移 无符号右移原创 2022-07-09 15:44:41 · 410 阅读 · 0 评论 -
Android 如果查看ANR的问题& 应用程序没有响应,为什么不显示 ANR 弹出窗口?
首先想办法杀死进程,网上搜了好多贴了, 说如果app是因为死锁或者主线程被wait了,可以使用 kill -3 这条命令,然后生成anr文件, 看一下ANR文件夹下有文件吗?不出意外的话肯定有意外意外一: kill -3的命令 输入后根本没反应 我直接 kill 意外二:导出的anr 日志有很多,却没有当天的拓展......原创 2022-07-07 14:59:46 · 1252 阅读 · 0 评论 -
android性能优化
启动框架,设置多少个线程合适?每个线程的优先级怎么设置,Android 中线程优先级范围是多少?CPU 有大小核,有没有可能把特定线程都扔到大核里面执行;原创 2022-06-27 15:28:03 · 532 阅读 · 0 评论 -
Kotlin技术 - 史上全网最全的 Lambda书写形式
高阶函数之 函数作为函数的参数 函数作为函数的返回值原创 2022-06-16 18:02:49 · 470 阅读 · 0 评论 -
Kotlin技术 - 什么是 Lambda 什么是高阶函数 kotlin手写RxJava
其实是一个函数类型的对象而已,也是一个匿名函数,与函数名加双冒号是一个东西,可以直接作为函数的参数来直接传递。所以Lambda表达式,不是方法,而是一个函数类型的对象。原创 2022-06-15 11:38:37 · 338 阅读 · 0 评论 -
AS 添加AAR 文件 Gradle 7.0+ 设置aar路径失败问题
https://blog.csdn.net/a940659387/article/details/120514674原创 2022-04-06 11:36:43 · 3065 阅读 · 0 评论 -
File文件管理工具类
递归创建文件目录 public static void createDirectory(String filePath) { File file = new File(filePath); if (file.exists()) { return; } File parentFile = file.getParentFile(); if (null != file && parentFi原创 2022-03-25 11:00:48 · 172 阅读 · 0 评论 -
Kotlin技术-文件操作如此简单
Kotlin技术-文件操作如此简单原创 2022-03-10 10:30:43 · 3870 阅读 · 0 评论 -
Kotlin技术-编写gradle脚本
Kotlin技术-编写gradle脚本原创 2022-03-08 17:45:49 · 3323 阅读 · 0 评论 -
DSL扩展函数,中缀表达式
DSL扩展函数,中缀表达式原创 2022-02-22 20:05:12 · 273 阅读 · 0 评论 -
Kotlin技术-高阶函数
首先看一段代码,对一个集合进行遍历,有哪些方法 private fun initTest() { val names = listOf<String>("Tom", "Apple", "Luck") // for 循环 for (name in names) { Log.i(TAG, "initTest: ${name}") } // forEach 1 传一个函数类型得参数原创 2022-02-22 17:15:21 · 1448 阅读 · 0 评论 -
Kotlin技术- 印章类/密封类 Sealed Class
Kotlin技术- 印章类/密封类 Sealed Class是子类类型有限的Class 像枚举枚举更在意数据Sealed Class 更在意类型原创 2022-02-22 16:13:35 · 981 阅读 · 0 评论 -
Kotlin技术 - 委托和代理
Kotlin技术 - 委托和代理原创 2022-02-22 11:25:51 · 2252 阅读 · 0 评论 -
android 11以上 有哪些申请权限的坑呢
android 11以上 有哪些申请权限的坑呢原创 2022-02-21 17:58:50 · 367 阅读 · 0 评论 -
尾递归 Kotlin可以Java不行
尾递归 Kotlin可以Java不行原创 2022-02-16 17:46:50 · 1098 阅读 · 0 评论 -
Handler removeCallbacks runnable 为什么无效问题 android开发
先上问题代码import android.content.Context;import android.content.SharedPreferences;import android.os.Bundle;import android.os.Handler;import android.util.Log;import android.view.View;import androidx.appcompat.app.AppCompatActivity;import java.util.con原创 2021-10-09 10:09:02 · 1030 阅读 · 0 评论 -
Kotlin特性之 - 扩展函数/指向函数的引用/扩展属性
1. 扩展函数的写法// fun 关键字 + 要扩展的类名 + 点号 + 方法名 + 方法属性fun String.method1(i: Int) { ...}这里要扩展函数的类名叫做Receiver(接受者),也就是谁可以去调用它.在声明一个函数的时候在函数名的左边写个类名再加个点,你就能对这个类的对象调用这个函数了。这种函数就叫扩展函数,Extension Functions。就好像你钻到这个类的源码里,改了它的代码,给它增加了一个新的函数一样。虽然事实上不是,但用起来基本一样。T原创 2021-09-28 11:26:08 · 1186 阅读 · 2 评论 -
Kotlin里的空安全,几种情况 lateinit / by lazy /(!!.) / (?:)
首先看几段代码代码段一fun String.i(TAG: String = ">>>>") { if (BuildConfig.DEBUG) Log.i(TAG, this)}代码段二fun String.e(TAG: String?) { if (BuildConfig.DEBUG) Log.i(TAG ?: ">>>>", this)}代码段三fun String.d(TAG: Strin原创 2021-09-27 16:07:25 · 766 阅读 · 0 评论 -
Android Notification 兼容api26以上 安卓8.0以下都行
老树发新芽。最近重构了一老项目,真是障碍重重啊Notification直接CV 就能用 , 因为时间有限 ,以下代码是从自己的项目中截取的,有很多配置只适合我自己的项目,如果问题留言沟通 val NOTIFICATION_FLAG = 0X11 lateinit var mNotificationManager: NotificationManager lateinit var builder: Notification.Builder private fun i原创 2021-08-06 14:57:30 · 326 阅读 · 0 评论 -
Kotlin 的协程本质到底什么
刷新三观,还是学学GO 语言吧几乎就是用阻塞的写法来完成非阻塞的任务。Kotlin-JVM中所谓的协程是假协程Kotlin-JVM中所谓的协程挂起,就是开启了一个子线程去执行任务对于Java来说,不管你用什么方法,只要你没有魔改JVM,那么最终你代码里start几个线程,操作系统就会创建几个线程,是1比1的关系。Kotlin官网中那个创建10w个Kotlin协程没有oom的例子其实有误导性,本质上那10w个Kotlin协程就是10w个并发任务仅此而已,他下面运行的就是一个单线程的线程池。你往一个线原创 2021-06-03 15:05:26 · 412 阅读 · 0 评论 -
Android 静默安装并自动重启,需要获取ROOT 权限
我看网上很多同仁说,用这套代码可以完成静默安装,但不能重启,我也尝试过貌似确实不行。既然设备都ROOT了, 也静默安装了, 写个自启哪有这么难吗? ? ?我分析是,原作者发的广播非延时的, 或者静默安装还没完成,应用就崩了,广播压根就没有发出去。所以我的思路是,直接抓应用异常,换一种自启思路,多加一个机制。* * * ROOT版本设备可用, 直接上,干活1. 添加权限虽然设备可以获得root权限,理论上能获取所有权限,但如果不加下面权限,运行时会报错,另外 一定要注意 第一个权限 的等级 pro.原创 2021-06-03 09:57:22 · 2970 阅读 · 5 评论 -
Kotlin+DataBinding+MVVM 做ImageView 图片加载 详细教程
一、 项目准备1. 引入DataBinding在项目 build.gradle 文件 android 节点下添加 buildFeatures { dataBinding = true // for data binding }2. 引入一个MVVM 框架 implementation 'com.github.AranAndroid009:CustomView:0ca395ae60' implementation 'com.github.AranAn原创 2021-06-02 11:35:49 · 2181 阅读 · 4 评论 -
MqttAndroidClient.registerReceiver
Android开发MQTT 客户端 出现莫名问题client.connect(conOpt, MyApp.getInstance(), new IMqttActionListener()连接时报错,说找不到一个广播, 注册广播失败MqttAndroidClient.registerReceiver原因很简单 就是Android X 缺少 V4包导致的 ,解决方法很简单要么加上V4包 ,要么不用 X...原创 2020-11-12 15:06:49 · 318 阅读 · 0 评论 -
android开发 如何自我提升
从这些繁杂的要求里提炼出的 10 个关键点:关键点:稳定性和性能优化,至少深入一个点可移植开发(JNI NDK C++)框架优缺点、场景动态化,RN Flutter,其他方案客户端架构设计组件化构建研发流程优化基础平台搭建其他端经验跨团队沟通能力、规划组织能力、团队管理经验、调动成员的积极性、培养成员看五年想三年,认真做好一两年。与其临渊羡鱼,不如退而结网,努力掌握这些点吧,奥利给!...原创 2020-08-03 08:48:15 · 648 阅读 · 0 评论 -
优雅的Kotlin编程 内联扩展函数 with函数
内联函数之withwith函数使用的一般结构with(object){ //todo }with函数底层的inline扩展函数+lambda结构@kotlin.internal.InlineOnlypublic inline fun <T, R> with(receiver: T, block: T.() -> R): R = receiver.block()with函数inline结构的分析with函数和前面的几个函数使用方式略有不同,因为它不是以扩展的形式存原创 2020-07-14 10:24:32 · 556 阅读 · 0 评论 -
优雅的Kotlin编程 内联扩展函数 let函数
let扩展函数的实际上是一个作用域函数,当你需要去定义一个变量在一个特定的作用域范围内,let函数的是一个不错的选择;let函数另一个作用就是可以避免写一些判断null的操作。let函数的使用的一般结构object.let{ it.todo()//在函数体内使用it替代object对象去访问其公有的属性和方法 ...}//另一种用途 判断object为null的操作object?.let{//表示object不为null的条件下,才会去执行let函数体 it.todo().原创 2020-07-14 09:35:15 · 521 阅读 · 0 评论 -
优雅的Kotin编程 - lambda表达式到底可以多么简介
咱们来就用OnClickListener 接口, 作为匿名内部类时 看看怎么写 /** * Interface definition for a callback to be invoked when a view is clicked. */ public interface OnClickListener { /** * Called when a view has been clicked. *原创 2020-07-09 20:11:32 · 145 阅读 · 0 评论 -
android webview 支持WebRTC吗
如果想让自己的APP支持WebRTC 协议的视频流,解决方案如下:放弃原生WebView 我们选用腾讯的TBS , 直接上代码1.XML 文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" x原创 2020-07-09 10:55:40 · 6131 阅读 · 4 评论 -
MySQL优化 之查询慢了可能是您的索引没建好
sql 运行慢 超过3秒 原因是什么呢执行时间长等待时间长join in 太多了无索引索引失效解决方法 1 加索引注释:排好序的快速查找数据结构在数据只外, 数据库系统还维护着满足特定查找算法的数据结构, 这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法. 这种数据结构,就是索引.一般来说索引本身也很大, 不可能全部存储在内存中, 因此索引往往以索引文件的形式存储的磁盘上我们平时所说的索引, 如果没有特别指明, 都是值 B树(多路搜索原创 2020-07-07 19:36:08 · 187 阅读 · 0 评论 -
SQL 7种链接方式
概要内连接: 查询两张表中共有的部分Select <select_list>From TableA AInner join TableB bON A.Key = B.Key左连接:把左表的内容全查出来, 右表只查满足条件的记录Select <select_list>From TableA ALeft Join TableB BON A.Key = B.Key右连接: 把右表的内容全部查出来, 左边只查满足条件的记录Select <sele原创 2020-07-07 10:13:34 · 1211 阅读 · 0 评论 -
你的SQL语句是这个顺序吗
Select <select_list>From <left_table> <join_type>Join <right_table> ON <join_condition>Where <where_condition>Group By <group_by_list>Having <having_condition>order by <order_by_condition>原创 2020-07-06 17:20:11 · 108 阅读 · 0 评论