自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

水月洞天

阅读使人明智,分享成就未来。

  • 博客(253)
  • 资源 (5)
  • 收藏
  • 关注

原创 Android中利用LifeCycle实现对Activity生命周期的监听

LifeCycle监听Activity生命周期

2022-10-08 14:29:45 2563 1

原创 Kotlin 类和对象

定义类定义空类可以在类中定义成员函数2.类的属性类的属性我们使用var关键字和val关键字修饰var 定义可变变量val 定义不可变变量eg.3.创建类实例Kotlin中没有new关键字5.主构造器Kotlin的类中可以有一个主构造器和一个或多个次构造器,主构造器是类头部的一部分如果没有任何注解和可见度修饰符,可省略成如下写法当我们调用时输出如下:6.get,set用法举例调用时输出:7.非空字段.........

2022-06-09 17:40:19 515 1

原创 Kotlin循环控制

Kotlin循环控制相关知识点

2022-06-07 14:51:03 637 2

原创 Kotlin条件控制

Kotlin条件控制

2022-06-06 10:46:03 203

原创 Kotlin基本数据类型

Kotlin基本数据类型相关知识点

2022-06-01 17:47:36 434

原创 Kotlin基础语法

Kotlin基础语法

2022-05-27 15:35:07 300

原创 Android中Kotlin面试问题讲解

Kotlin面试相关知识点

2022-03-22 16:42:37 3881

原创 Android中lint相关面试内容

Lint检查相关面试知识点

2022-03-22 16:23:13 3156

原创 Android中UniversalImageLoader面试问题讲解

UniversalImageLoader源码分析

2022-03-18 10:56:32 2661

原创 Android中进程保活相关面试问题

该文章讲述了进程的优先级,Android进程回收的策略以及常用的一些保活方案,算是一个基本入门的知识扫盲,具体保活方法还需要进一步学习。

2022-03-15 09:21:41 325

原创 Android中MVVM架构设计模式面试问题讲解

MVVM面试内容初步扫盲

2022-03-11 14:01:26 3322

原创 Android中MVP架构设计模式面试问题讲解

MVP设计架构的面试问题

2022-03-10 16:21:39 2872

原创 Android中MVC架构设计模式面试问题讲解

MVC的相关知识

2022-03-09 15:22:24 369

原创 Android中热更新面试问题讲解

热更新面试问题讲解

2022-03-08 15:27:57 1062

原创 Android中插件化实现

插件化在Android开发上现在已经使用的很广泛了,各种插件化框架一代又一代的更迭,使我们开发者有了很多的选择。我们开发中经常遇到的有两个问题:一个问题,我们app开发有一个方法数上限,那就是65536;另一个问题,我们发布后的app如果进行功能添加和bug修改,就需要发版,而频繁的发版又会让用户很烦。而插件化就可以解决这两个问题。虽然我们可以用分包和热更新来解决这两个问题,但是插件化的存在,是基于模块化和组件化开发而来的,可以更好的实现我们代码的综合治理,也和契合我们现在的开发模式。插件化框架很多,尤

2022-01-18 10:19:14 2362

原创 Android中性能优化相关知识点

对性能优化相关内容进行总结

2021-12-23 10:03:40 1921

原创 Android中Gradle构建相关知识

关于Android中Glide构建的相关面试知识点

2021-12-09 16:50:37 2030

原创 Android中View绘制相关知识

该笔记对View绘制的相关内容进行了阐述,学习后可以基本了解View绘制的基本流程,也可以了解一些ListView的优化等相关知识。

2021-11-17 16:56:13 1867

原创 Android中ButterKnife注解框架说明

1.ButterKnife简介由于现在的控件越来越多,我们会不断调用findViewById获取控件对象。这个代码很简单但是你又不得不写。同时findViewById这个代码你又不可以通过重构或者泛型的技术来擦除掉。但ButterKnife可以帮我们实现不写findViewById。ButterKnife其实就是一个依托Java的注解机制来实现辅助代码生成的框架。2.ButterKnife使用方法<1>绑定View@BindView(R.id.textview)TextVie

2021-11-11 11:41:29 2344

原创 Android中Glide图片加载库的完整使用说明

之前我的文章中有说到Glide的一般使用方法,以及我自己的一些封装。这里我对Glide的用法做一个较为完整的总结。首先我们要说一下Glide的简单用法。Glide.with(this) .load("url") .into(imageview);简单用法是非常简单的,就是将一个url加载到指定的图片控件中就好了 。所以我们再看一下完成整的Glide用法Glide.with(this) .load("url") .placeholder(R.draw

2021-11-04 13:26:03 2019

原创 Android中rxjava使用及源码解析

1.rxjava从原理是基于一种扩展观察者模式。2.(未完待续)

2021-10-11 09:17:04 281

原创 Android中Retrofit源码解析

1.Retrofit定义Retrofit是一种Restful的HTTP网络请求框架的封装。2.为什么说retrofit是一种请求框架的封装?因为网络请求的工作本质上是okhttp完成,而retrofit仅负责网络请求接口的封装。我们的应用程序通过retrofit来请求网络,实际上就是使用retrofit接口来封装请求参数,head头部,url信息等等。之后交给okhttp来完成后续的网络请求操作。在服务端返回数据给我们之后,okhttp又将原始的结果交给我们的retrofit,而retr

2021-09-15 14:16:23 484

原创 Android中组件化跳转的本地广播实现

现在我们开发的很多项目,由于项目庞大,开发人员众多等原因,都采用了组件化的开发方式。组件化的开发到底有什么好处我这里就不说了。后期相关的学习笔记我会写一些。这里我就单说一下组件化开发中的页面流转问题。页面流转,说白了就是页面的跳转。本身这个没什么,正常的我们通过Intent包装好之后,直接调用上下文的startActivity就可以跳转页面了。但如果我们采用了组件化,那么问题就来了,包与包之间没有依赖关系,根本不能用原生的这种方式进行页面的流转。对于这个问题,我们一般都是使用ARouter来进行页面的跳

2021-08-31 16:35:38 241

原创 Android中一种加解密常用方式

对于之前写的AES和RSA加密,其实很多情况下,在前后端交互的时候还是不怎么好用。这里我提供一种前后端都可以用的加解密方式,并提供一种常用方式 ---- 即我们的数据通过AES对称加密进行简单的加解密,但AES的那个密钥由后台进行下发,并进行了RSA加密。这样可以较好的保证我们数据的安全性,而且还可以保证我们的密钥不会泄露。因为每次你登录,后台都会随机生成AES密钥保存在用户表中。好了,废话不说了,这里贴一下代码首先是AES部分public class AesEncryptUtils {

2021-08-25 09:02:26 905 2

原创 Android中连接wifi的方法

其实就是代码实现wifi连接,废话不多说,直接上代码public class MainActivity extends WaterPermissionActivity { private Runnable r; private Handler handler; @BindView(R.id.listview) ListView listview; @BindView(R.id.et_password) EditText et_password;

2021-08-19 15:40:09 7049

原创 Android中wifi管理器WifiManager使用方法

直接上代码WifiManager wifiManager = ((WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE));assert wifiManager != null;WifiInfo wifiInfo = wifiManager.getConnectionInfo();String SSID = wifiInfo.getSSID();int networkId = wifiInfo.getNetwork

2021-08-17 17:02:19 8171

原创 Android中okhttp源码解析

1.okhttp是什么?okhttp是Square开源的一款轻量级的网络请求框架。2.如何使用okhttp进行一个同步请求我们先上代码private String requestWeb(String url){ try { //生成一个OkHttpClient对象 OkHttpClient client = new OkHttpClient(); //生成一个Request对象 Request request = ne

2021-08-06 13:21:22 320

原创 Android中拥有虚拟导航的沉浸式状态栏实现

我们可以在刚进入页面就调用如下方法,实现沉浸式。这种方法可以防止将导航栏连带一起沉浸。/** * 设置状态栏透明 */protected void setStatusBarTrasnparent(){ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { View decorView = getWindow().getDecorView(); int option = View.SY

2021-08-06 13:04:24 459

原创 Android中获取指定日期是星期几的方法

不多说,直接上代码/** * 获取当前日期是星期几 * @param date * @return */public static String getWeekOfDate(Date date) { String[] weekDays = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" }; Calendar cal = Calendar.getInstance(); cal.setTime(date); i

2021-08-06 13:00:38 2487

原创 Android中利用C语言进行AES加解密

我们开发中难免遇到加解密的操作。用java开发习惯了,也都有过相关的经验,比如我之前的博文就有介绍过各种利用java如何进行加解密的操作。但我竟然没有说AES怎么加解密。好吧,今天正好书里学习了,就总结一波用C语言的AES加密。多余的JNI相关调用方法我就不写了,按照之前的步骤来就得了,我直接贴相关C语言的代码和Activity中调用1.首先是jni文件夹中的四个C语言文件aes.cpp#include "aes.h"AES::AES(unsigned char* key){ u

2021-08-05 09:22:18 746 1

原创 Android中JNI的使用方法

做Android开发的程序员应该都知道,Android的开发语言我们都是在使用JAVA(Kotlin和Flutter我们暂时不考虑)。但是,有时候我们也需要使用到C语言进行一些功能的开发。这个时候我们就需要用到JNI了。1.导入C语言的类首先我们需要把C语言写的功能类放入我们的项目中。这里我直接从资料中找了一个,毕竟我不会写。路径在src/main/jni中find_name.cpp#include <jni.h>#include <string.h>#inc

2021-08-04 17:22:53 5602 5

原创 Android中webview的相关知识点

webview是Android中用来加载网页的一个组件。有一定开发基础的Android程序员应该都是很熟悉这个组件的。有时候我们可能直接使用webview,有时候我们喜欢使用类似AgentWeb之类的三方框架。这里我总结一下webview的一些相关常用方法。今后不论怎么使用webview,这些常用方法都是必不可少的。1.webview的常用方法loadUrl:加载指定的URL,URL可以是HTTP打头的 外部网址,也可以是file打头的资产网页。 getSettings:获取浏览器的网页设置信息。

2021-08-03 16:58:18 411

原创 Android中资产管理器AssetManager的使用

看着这个题目是不是很熟悉,没错,今天学习的就是assets文件夹下资源的一些使用方式。1.sssets目录下放置的内容大批量的初始化数据,需要在APP第一次安装时导入数据库。因为res/values目录下方的是键值对数据(如key-value),难以转换为数据库中存储的关系型数据。 工程源码要导出为JAR包,作为一个SDK给其他工程使用。因为res目录无法集成到jar包中,所以待集成的图片资源不可放在res目录。 如网页HTML这种需要保持原有格式的文件,不适合放在res目录中进行编译。 其余

2021-08-03 11:24:25 3659 2

原创 Android中通过wifi和硬件进行交互

最近研究与硬件交互的方法。交互方式是这样:首先设备会放出一个wifi,然后连接wifi后,wifi允许进行TCP连接,这个是我们自己设置好的。然后通过TCP进行十六进制命令的发送。这里我们给出相应的TCP通讯方式和十六进制语义化转化方式。首先是TCP的通讯代码 new Thread(new Runnable() { @Override public void run() { Socket socket = nul

2021-08-03 10:39:54 1275

原创 Android 中截屏功能的实现

之前写过一个关于截图的功能,但那个是基于咱们控件的截取,如果出了自己的项目,或者层次结构复杂了,一般不好操作了就。今天学习了一个截屏工具的制作方法,在这里记录一下。我们的代码全部基于...

2021-07-30 15:48:44 2141

原创 Android中自定义悬浮窗

有时候,我们可能会需要制作一个始终悬浮的窗口显示一些关键信息。它独立于我们的页面,可以在不妨碍用户操作的情况下显示信息。这里我们就学习一下悬浮窗的做法。1.WindowManager的常用方法getDefaultDisplay:获取默认的显示屏信息。通常可用该方法获取屏幕分辨率。 addView:往窗口添加视图。第二个参数为WindowManager.LayoutParams对象。 updateViewLayout:更新指定视图的布局参数。第二个参数为WindowManager.LayoutPa

2021-07-29 11:34:13 4686 4

原创 Android中画中画模式的使用

当我们的APP进行视频播放时,往往希望用户在进行其他操作的时候还可以不影响他看视频,这时候就需要我们的画中画模式了。1.画中画模式的启动方式<1>首先我们要在AndroidManifest.xml中对应的Activity节点下添加android:supportsPictureInPicture="true"因为分屏模式是默认开启的,但画中画需要开发者手动开启。<2>接着就要触发画中画。这个和分屏不一样,分屏需要用户手动操作,但画中画是需要我们开发者用代码触发的。

2021-07-28 14:59:53 3827

原创 Android中分屏模式下的一些注意项

AndroidManifest.xml的application节点添加属性android:resizeableActivity="false"表示应用页面不接受分屏。 如果开发者想保持APP页面在分屏前的模样,则需给该页面的activity节点加上以下的属性描述,告知系统不要对这个页面动手动脚:android:configChanges="screenLayout|orientation"...

2021-07-28 11:40:17 578

原创 Android中声音池SoundPool的使用

对于MediaPlayer无法同时播放多个声音的问题,Android提供了声音池工具SoundPool,使用声音池即可对多个声音的播放进度调度。1.SoundPool优点资源占用量小,不像MediaPlayer那么耗资源。 相对MediaPlayer来说,延迟时间非常小。 可以同时播放多个音频,从而实现游戏过程中多个声音叠加的情景。2.SoundPool使用限制SoundPool最大只能申请1MB的内存,这意味着它只能播放一些很短的声音片段,不能用于播放歌曲或者游戏背景音乐。 虽然Sou

2021-07-27 17:01:18 2306

原创 Android中铃声的使用

我之前也写过利用MediaPlayer播放音频,如果我们在应用中播放音乐,自然是不成问题。但是,如果我们是要播放一个简短的音效,那就有点不合适了。所以这里我们讲解一些Android中铃声的播放。1.MediaPlayer的不足MediaPlayer的初始化比较消耗资源,尤其是播放短小铃音时反应偏慢。 一个MediaPlayer同时只能播放一个媒体文件,无法同时播放多个声音。 MediaPlayer只能播放已经完成编码的音频文件,无法直接播放原始音频,也不能流式播放(即边录边播)。2.对于第一个

2021-07-23 11:33:41 1329 1

AndFix补丁生成工具

AndFix补丁生成工具

2021-03-31

Android中RSA加密博客的对应依赖资源

Android中RSA加密博客的对应依赖资源

2021-03-22

Water Android开发框架1.1

这个和1.0比较增加了一些新的东西,也更完善一些。如果大家喜欢可以使用我的框架。

2021-01-22

一个Android图片选择器

有网友想要这个图片选择器的代码,这里我传一下

2020-12-30

Water Android开发框架1.0

普通的一个开发框架集合,包含了常用的所有开发内容,自用,大家不用下载,如果有啥想实现的功能可以在我的博客里进行讨论。

2020-12-22

空空如也

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

TA关注的人

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