自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 屏幕高度 5种

6,获取导航栏的方法。

2025-04-12 21:06:56 74

原创 屏幕适配总结

在7.0的时候增加了一个属性resizeableActivity 设置这个值也可以解决7.0设置底部黑条的问题,但这个主要是因为可变窗口大小的,既然窗口大小可以调整也许就能占用底部的黑条。那么6.0的设备就需要各个厂商单独提供方法去适配了。1,全面屏的适配是厂商倒逼google做的,比如小米在android 6.0的时候就已经推出了高屏占比的手机小米初代Mix。而此时android 并未开放最大屏占比的设置 一直到8.0 可以设置maxAspectRatio的值。

2025-03-29 23:40:07 69

原创 动态权限管理

这个函数,总结讲的就是,如果在onRequestPermissionsResult 函数中打印结果,如果用户仅仅是拒接那么就返回true,如果用户一直拒绝,那么就一直返回true。但是如果用户拒绝并选择了“不再提醒”那么会返回false。1, ActivityCompat.requestPermissions()请求权限函数 每次调用都会 有 onRequestPermissionsResult 的回调。但从网上的资料来看,好像禁止后 会回调但是,参数返回的都是空的。

2025-03-28 15:03:59 339

原创 Dialog学习

1,在一个ativity1 中启动 ativity2,而后activity1接收到一个消息 让弹出dialog 那么此时,该dialog并不会处于 activity2之上,而是是会处于 activity1之上,即 activity1和activity2之间如下 为activitie1 中 oncreate 中的方法 new Handler().postDelayed(new Runnable() { @Override public void

2025-03-06 19:28:26 316

原创 Android Gradlle 配置

在运行Gradle的时候输出日志也会提示版本要求。其实在开始学习Android,安装Android studio的时候就被告知要安装Jdk但一直不知道干嘛用用的,其实安装JDK其中一个功能 就是运行Gradle的哈哈(JDK中有虚拟机),当然Android studio 的一些功能可能也需要JDK,但是如果Gradle要求的JDK 和android studio 某些功能要使用的jdk 版本冲突了怎么办呢?如果在这个目录下找不到这个版本的gradle 那么就会下载zip包,下载在。

2025-02-06 16:47:27 313

原创 frament管理

这是因为 FragmentManager 的状态是跟随宿主组件(Activity 或父 Fragment)的生命周期变化而变化的。所有 Fragment 的状态变化,都是由 FragmentManager 控制的,而 mCurState 表示的正是 FragmentManager 当前的生命周期状态。为什么 FragmentManager 只需要一个 mCurState?

2025-01-11 15:56:04 108

原创 OpenGL学习

在open gl 中 只有0号帧缓冲区才可以上屏,随意你虽然创建了很多帧缓冲区,但是你用完这些帧缓冲区后,最后你得拷贝到0号帧缓冲区才能有机会上屏,因为eglswpebuffer 会把0号帧缓冲区切为前台。Surface 可以代表一个抽象窗口即共享内存是一个窗口(可以存放数据),此时Surface (虚拟窗口)利用共享内存实现双缓冲,显示器也代表一种窗口即显卡是一个窗口(frambuffer可以存放数据),错误理解为渲染后一个后台窗口,离屏渲染其实绘制到fbo上。

2024-05-24 01:07:31 400

原创 view measure

抛开其他的,view是希望自己的这些内容显示出来的,所以期望一个最小的大小,这个大小咱们先记为"大小1",但是Android 的测量过程view的大小是受父视图给的一个大小限制的,其实可以理解为,父视图"最大"也只能这么大,子视图太大了,也显示不出来,所以子视图就别超过父视图给你的大小了。那么如果自己的期望(match_parent)是和父视图的大小相匹配那么最终view的大小就是"大小2",如果自己的期望(wrap_content)是能包裹自己的内容就可以了那么自己的大小就是"大小1与大小2的最小值"。

2024-04-27 13:20:32 183

原创 android.jar的理解

Android sdk 其实就是方便 开发者与系统打交道的"一个"kit(工具库),这里强调一个,是指你自己也可以写一套基于android 内核层的sdk(包含基础系统服务和应用程序框架),然后部署到android 上面。因为系统调用以上,面向的所有的应用,google可以写框架,你自己也可以写框架,只不过你们共同使用了底层下的内核和硬件。写估计会很麻烦,因为你不熟悉,android提供的那些服务)封装的类可以理解成是一些可以为客户端(Client)自己的内存提供数据的函数。我想是可以的,但是你自己。

2024-01-16 19:07:08 504

原创 beforeTextChanged和onTextChanged 参数的理解

原字符 s 内容发生了变化,将要从123 变为”1“,没写错就是 ”1“(4为新要加入s的字符,咱们先说s第一次的变化,加入4是第二次的变化),变化的数量为2。新加入的用来替换原先start+before位置字符的字符的数量。即:目前s中start+count位置的字符已经替换了原先start+before 位置的字符。3+0位置之前没字符 所以为0。before:新加入的用来替换原先start+before位置字符的字符的数量。after:新加入的用来替换原有start+count位置字符的字符的数量。

2024-01-13 16:02:49 961

原创 FileProvier

因为你想拍照,你要把这个路径给相机App。那么滴,你在往intent 中传Uri时,你需要用 FileProvider.getUriForFile()这个方法生成,那么这个方法就会把这个真实的路径变成external_storage_root/xxx/xxx。那你说我配置的时候,path为空好不好,那我没测试,看FileProvider源码上是可以的。那么滴,你现在要定义一个path,定义的是你配置的这个路径。所以 这个文件定义的就是你允许,你想要分享给第三方的文件路径,第三方可以对这个文件进行读写。

2023-11-01 19:14:57 115

原创 java 字符

1,字符其实也就是数字,不同的字符编码,字符对应的数字也不同。2,同一个字符集,可以有多种字符编码,比如中文 可以有 GBK编码 也可以有,UTF-8编码,也可以有 UTF-16编码3,java 默认采用UTF-16编码...

2023-10-21 16:59:25 63

原创 android gradle 相关

android 中 build.gradle 之所以可以运行 是因为 groovy中有一个类加载器 GroovyClassLoader 通过方法 GroovyClassLoader.parseClass 可以把文本解析为一个Script 脚本类

2023-10-21 16:53:27 83 2

原创 OpenGL,Surface,SurfaceTexure相关

a,SurfaceTexture初始化后,向GLConsumer设置了JNISurfaceTextureContext监听器,该监听器会回调到Java层SurfaceTexture.postEventFromNative方法,进一步回调到注册到SurfaceTexture中的OnFrameAvailableListener监听器,用于通知业务层有新的GraphicBuffer入队了。转载:https://juejin.cn/post/6967640096547962911。surface 创建的几种方式?

2023-08-13 20:00:05 335

原创 网络摘抄和随笔

网络摘抄和随笔 1,detach()、attach() detach():会将view与fragment分离,将此将view从viewtree中删除!而且将fragment从Activity的ADD队列中移除!所以在使用detach()后,使用fragment::isAdded()返回的值是false;但此fragment实例并不会删除(在源码中实际上是会删除的,只不过用于储存frgment的...

2023-07-12 23:57:51 97

原创 Android 网络加载.9图片

String url="图片地址“ Glide.with(getActivity()) .download(url) .into(new SimpleTarget<File>() { @Override public void ...

2021-07-27 11:38:38 527

原创 Charles 出现respone中出现中文乱码的解决

Charles 出现respone中出现中文乱码的解决问题:用Charles作为代理祖抓取数据时 返回的数据在charles中显示 乱码(只有中文乱码)。排查:发现我们的服务器返回的响应头里面没有Content-Type类型(正常的话应该是UTF-8)处理:1, 打开 charles 工具->Tools->rewrite->Enable rewrite,勾选.2,在打开的界面中选择add 。3,再add只有的右侧界面,Name:后面可以随便填4,点击Type/Action 下

2020-12-16 18:04:57 1279 4

转载 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-12-07 15:14:57 160

android有关通信实例

有关android通信的相关知识,包括一对一通信,一对多通信,及聊天工具的核心代码。

2014-09-18

空空如也

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

TA关注的人

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