- 博客(18)
- 资源 (1)
- 收藏
- 关注
原创 屏幕适配总结
在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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人