自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Android菜鸟的专栏

我是一个Android菜鸟,好希望有人能写一些菜鸟能轻松看得懂的教程给我学习学习!我渴望学习!

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

原创 JDK文档中文版

一直以为,都有使用jdk文档查看jdk api的使用,但是并没有全面的去了解jdk文档,今天查看了一下"关于此文档“,发现了jdk文档的来源,jdk文档的版本众多,不知道这个来源的这个是不是比较权威的,文档里说中文版来源于http://gceclub.sun.com.cn/,看域名好像还挺权威的,所以这里记录一下,以后找不到jdk文档了就到这里下载,虽然现在jdk的版本已经很高了,这里只有jdk5和jdk6,但是他们是中文版的,汉化的非常好,对于java基础来说非常的不错。JDK1.5 本地下载 (请

2021-01-29 17:49:22 8655 1

原创 监听电源键的单击或长按事件

公司有Android设备,通过android.intent.action.ACTION_SHUTDOWN广播可以接收到系统关机事件,收到此事件我会写日志保存到文件,有时候,我想知道是用户手动关机的,还是设备有问题自动关机的,这怎么办?最好的办法就是获取电源键的长按事件,但是一直获取不到,百度上找不到答案,只找到了一些监听熄屏的方法,如下: val receiver = object: BroadcastReceiver() { override fun onReceive(context:

2021-01-28 18:46:57 2536 7

原创 守护线程

简单理解:当一个进程中只剩下守护线程时(即没有其他的非守护线程了),则JVM就会结束,也就是说守护线程也会跟着结束了,即使守护线程中的代码还没执行完,示例代码如下:fun main() { val daemonThread = thread(isDaemon = true) { (1..5).forEach { println("daemonThread:$it") Thread.sleep(6000) } }

2021-01-20 16:01:44 315

原创 Kotlin中的协程和多线程比较实验

官方原码示例Kotlin官方教程有一些示例,比如:https://kotlinlang.org/docs/tutorials/coroutines/coroutines-basic-jvm.html,本文实验根据此教程的相关示例进行,开发环境:IntelliJ IDEA Community 2020.3.1版本,创建一个基于Gradle的Kotlin项目,使用jdk版本为jdk1.8,gradle配置如下:plugins { id 'org.jetbrains.kotlin.jvm' versi

2021-01-19 22:12:55 3430 6

原创 libyuv编译

1、下载:https://github.com/lemenkov/libyuv ,虽然这个不是官网,但是内容都是官网里保存过来的。2、创建一个新的Android项目,模板使用Native C++,如下:其它都是下一步即可,这样就创建出了一个带NDK环境的项目了,可以直接运行,效果如下:3、把下载到的libyuv解压,然后把所有内容复制到andrroid studio项目中的cpp目录下,如下:4、打开CMakeLists.txt,把项目自带的native-lib.cpp添加到如下位置:这里

2021-01-14 19:15:18 1130

原创 Android工具类

慢慢记录一些好用的工具方法。在接收到广播的时候,有些是系统广播,我们就想知道系统都往intent中保存了什么东西进去,可以使用下面的函数打印:private fun printIntentExtras(intent: Intent) { intent.extras?.keySet()?.forEach { key -> Log.i("ABCD", "$key = ${intent.extras?.get(key)}") }}...

2021-01-08 14:59:57 262 1

原创 Android获取本地IP

可以通过网络接口获取,遍历所有的网络接口,但是有时可能会存在多个ip,那真正连网时使用的ip时哪一个的呢?可能不太好判断。可以通过另一种方式,使用Socket建立连接来获取正在使用的本地ip,代码如下:private String getLocalIp() { Socket socket = null; try { // 这里也可以使用ip,比如使用自己公司服务器的ip和端口 socket = new java.net.Socket("baidu.com", 80); return soc

2021-01-07 20:44:23 3801

原创 2020 CSDN年度回忆录

CSDN发布的这个年度回忆录还挺不错的,记得保存。唯一不好就是电脑上不给看,非要用手机扫描二维码才给看,我想把这个回忆录保存一下,所以手机上截图了,上传一下!大家也可以打开下面这个链接,然后扫描里面的二维码查看自己的年度回忆录哦:https://blogdev.blog.csdn.net/article/details/112280974...

2021-01-07 16:33:10 263

原创 在没有Lambda的年代

自从有了Lambda,基本上就不会再写for循环,突然就有个想法,那以前没有Lambda的时候为操作集合的时候经常需要for循环呢?为什么就不封装一下呢?有了想法,那就想实现一下,参照Lambda的使用,写了一个过滤集合的实现,如下:public class ListUtil { public static <T> List<T> filter(List<T> list, Predicate<T> predicate) { List&

2021-01-07 15:45:28 114

原创 Observable与Observer的使用

这是JDK中自带的观察者实现,其中Observable是一个类,而Observer是一个接口。Observable翻译过来意思为:可观察的,也可理解为数据类,大多数观察的情形是观察数据的变化,比如消息数据库,收到一条消息,我们就往数据库插入一条消息,界面上就应该监听这个数据库,这样就能知道有新消息了,把新显示显示出来,或者别人撤回了一条消息,则数据库删除一条消息,则界面也应该能监听到,及时显示用户撤回了一条消息。Observable的源码也很简单,一看就懂,这里简单总结一下:使用Vector这种类

2021-01-07 11:51:46 930

原创 PowerManager.WakeLock和WifiManager.WifiLock

1、PowerManager.WakeLockWakeLock翻译过来意思为:唤醒锁。作用就是用于保持设备运行,如手机熄屏后可能CPU就停止运转了,通过获取唤醒锁,就可以保持CPU不停止。此功能需要android.permission.WAKE_LOCK权限。用法上相当简单,查看API中的函数即可知道如何使用。在官网也有对此的一些描述:连接在此,这里把原文抄过来,预防链接失效:当设计在后台播放媒体内容的应用时,设备可能会在您的 Service 运行时进入休眠状态。由于 Android 系统尝试在设备

2021-01-07 01:00:53 1188

sokit-1.3-win32-chs(中文版)

sokit是一个开源项目,是一个TCP / UDP 测试工具,用来接收,发送,转发TCP或UDP数据包。 项目地址: http://code.google.com/p/sokit/、https://github.com/sinpolib/sokit。

2023-02-21

空空如也

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

TA关注的人

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