自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

原创 通过ping判断网络是否可以连接IP

直接上代码: fun ping(): String { var result: String? = null try { val ip = "www.baidu.com" val p = Runtime.getRuntime().exec("ping -c 3 -w 100 $ip") //ping3次 // 读取ping的内容,可不加。 val input = p.input

2022-03-09 09:29:20 327 1

原创 代码规范个人使用

Android 资源文件命名与使用1.【推荐】layout/资源文件的命名需带模块前缀。eg:Activity 的 layout 以 module_activity 开头;2.【推荐】Id 资源原则上以驼峰法命名,View 组件的资源 id 建议以 View 的缩写作为前缀。常用缩写参考书籍。3.【推荐】图片根据其分辨率,放在不同屏幕密度的 drawable 目录下管理,否则可能在低密度设备上导致内存占用增加,又可能在高密度设备上导致图片显示不够清晰。Android 基本组件4.【推荐】Activ

2022-02-28 16:59:41 121

原创 实用工具类

Log工具类object LogUtil { fun logDebug(msg: Any?) { Log.d(buildTag(), buildMsg(msg)) } /** * 构建TAG:FatAn+类名+方法名+线程 */ private fun buildTag(): String { buildString { append("TAGZ") val stack =

2022-02-28 16:46:37 140

原创 alarmManager闹钟的demo

通过定时发送Receiver//开启 val alarmManager = getSystemService(Context.ALARM_SERVICE) as AlarmManager val intent = Intent(this, MyReceiver::class.java)//跳转到功能的receiver val pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0) va

2022-02-28 16:08:08 191

原创 LiveDataBus的使用

详情LiveData 是一个可以被观察的数据持有类,它可以感知 Activity、Fragment或 Service 等组件的生命周期。简单来说,他主要有一下优点。它可以做到在组件处于激活状态的时候才会回调相应的方法,从而刷新相应的 UI,不用担心发生内存泄漏当 config 导致 activity 重新创建的时候,不需要手动取处理数据的储存和恢复。它已经帮我们封装好了。当 Actiivty 不是处于激活状态的时候,如果你想 livedata setValue 之后立即回调 obsever 的 on

2022-02-28 15:59:31 2035

原创 AndroidStudio之WebView详解

WebView简介:WebView是一个基于webkit引擎、展现web页面的控件。Android的Webview在低版本和高版本采用了不同的webkit版本内核,4.4后直接使用了Chrome。作用:1、 显示和渲染Web页面2、 直接使用html文件(网络上或本地assets中)作布局3、 可和JavaScript交互调用使用介绍:一般来说Webview可单独使用,可联合其子类一起使用:1、 Webview自身的常见方法;2、 Webview的最常用的子类(WebSetting

2020-11-30 14:12:43 4205

原创 Android之内存泄露

前言前人(大佬)种树,后人(本人)乘凉正文定义​内存泄漏也称作“存储渗漏”,用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。(其实说白了就是该内存空间使用完毕之后未回收)即所谓内存泄漏。内存泄漏形象的比喻是“操作系统可提供给所有进程的存储空间正在被某个进程榨干”,最终结果是程序运行时间越长,占用存储空间越来越多,最终用尽全部存储空间,整个系统崩溃。所以“内存泄漏”是从操作系统的角度来看的。这里的存储空间并不是指物理内存,而是指虚拟内存大小,这个虚拟

2020-10-22 11:18:52 442

原创 AndroidStudio之依赖大全

1.android.permission.WRITE_USER_DICTIONARY  允许应用程序向用户词典中写入新词2.android.permission.WRITE_SYNC_SETTINGS  写入Google在线同步设置3.android.permission.WRITE_SOCIAL_STREAM  读取用户的社交信息流4.android.permission.WRITE_SMS  允许程序写短信5.android.permission.WRITE_SETTINGS  允许程序读取或写

2020-10-22 09:47:09 401

原创 AndroidStudio存储之SharedPreferences

SharedPreferences1.sp介绍&.保存少量的数据(如 用户登录后基本信息,token等),且这些数据的格式非常简单。 存储5种原始数据类型: boolean, float, int, long, String&.比如应用程序的各种配置信息(如是否打开音效、是否使用震动效果、小游戏的玩家积分等),记住密码功能,音乐播放器播放模式。&.存储位置: /data/data/应用程序包名/shared_prefs/Xxx.xml文件,以Key-Value的格式存储&a

2020-10-21 10:03:18 1336

原创 Android实现双击退出

Android实现双击退出需求以及使用场景为了防止用户点击返回键就直接退出APP,通常会加入一个双击退出的要求,如果用户在两秒之内重复点击了返回键,则执行退出操作;如果用户点击了一次返回键之后,超过两秒未再次点击,则不响应退出事件.分析实现这种需求的整体思路就是监测返回键,然后监测是否在指定时间之内再次点击了返回键。方案1.首先监听返回键有三种方式onBackPressed( )onKeyDown( )onKeyUp( )2.其次是判断点击时间的间隔使用 Timer()计时器,超出

2020-10-20 15:59:04 892

原创 AndroidStudio之如何导入module到APP

如何导入module到APP第一步第二步最后一步第一步导入module file -> new -> import module 打开文件直接导入第二步更改module的 build.gradleapply plugin: 'com.android.application’更改为apply plugin: ‘com.android.library’删除 applicationIdandroid { defaultConfig {// applicationI

2020-10-20 14:39:57 936

image资源文件,winrar.zip

image资源文件,winrar.zip

2022-04-07

空空如也

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

TA关注的人

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