- 博客(23)
- 资源 (1)
- 收藏
- 关注
原创 人工智能课
就算是给了用户一个效果图,人工智能也不可能完全理解,这个图的意思,所以需要一个智能体 根据这个我传的这个图 和我一块补充完整这个需求,那我在其中的角色就是产品设计的角色。智能体需要问我 有不明白的地方,我来补充,最后生成一个没有任何不明确的需求。例如上面这个产品图,里面有一个”查看全部弹幕“也许对大模型来说含义就不那么明确,或者大模型就不知道这是什么意思。那么我就需要一个智能体充当开发工程师的角色 问我这个具体是什么意思。那如果需求没有任何歧义的地方大模型就可以拿着开发了。
2026-03-19 14:41:01
39
原创 Drawable的学习
1,setBounds的学习 setBounds意为在画布的那个区域内画图,那么在开始画之前需要下平移,但是要平移大哪个地方呢? 2, ImageSpan ,ClickableSpan,ForegroundColorSpan都是各种Span, 他们好像都继承于CharacterStyle, SpanedString,SpandableString,SpandableStringBuilder 只是可以包含Span容器字符串 ...
2025-10-29 11:33:23
313
原创 http请求或者下载数据传输说明
TCP协议 在收到消息后一定会保证顺序正取才发给客户端的,如果序号为1的数据迟迟没有到达,那么就算是其他数据都发过来了,也不会交付给客户端的。而是会触发 TCP的重传机制。
2025-10-09 15:39:21
153
原创 View事件分发机制
如果是Down事件 子view返回了true,那么后续的move ,up还是会流转到该view。如果Down事件返回了false 那么Down 事件会交给父view的ontouchEvent()处理。并且后续的Move ,up事件不会在流转到该view。如果Down返回了true,而后续的move 事件返回了fasle。那么后续的move 事件还是会流转到该子view并不会向上流转给父view的onTouchEvent函数处理。
2025-08-06 16:36:18
201
原创 Canvas View绘制
1,因为在测量和布局阶段 view 已经知道了自己的 left,top,right,bottom。当view绘制自己时,会调用canvas的translate 平移函数 使canvas的坐标原点与view的左上角对齐。并不是在父类ViewGroup中dispatchDraw中进行平移画布的。你可能在View 的draw()函数中找不到translate函数的调用,因为现代版本中使用了更高效的方式RenderNode。这个类暂时不知道什么意思。
2025-08-06 14:00:14
250
原创 屏幕适配总结
在7.0的时候增加了一个属性resizeableActivity 设置这个值也可以解决7.0设置底部黑条的问题,但这个主要是因为可变窗口大小的,既然窗口大小可以调整也许就能占用底部的黑条。那么6.0的设备就需要各个厂商单独提供方法去适配了。1,全面屏的适配是厂商倒逼google做的,比如小米在android 6.0的时候就已经推出了高屏占比的手机小米初代Mix。而此时android 并未开放最大屏占比的设置 一直到8.0 可以设置maxAspectRatio的值。
2025-03-29 23:40:07
132
原创 动态权限管理
这个函数,总结讲的就是,如果在onRequestPermissionsResult 函数中打印结果,如果用户仅仅是拒接那么就返回true,如果用户一直拒绝,那么就一直返回true。但是如果用户拒绝并选择了“不再提醒”那么会返回false。1, ActivityCompat.requestPermissions()请求权限函数 每次调用都会 有 onRequestPermissionsResult 的回调。但从网上的资料来看,好像禁止后 会回调但是,参数返回的都是空的。
2025-03-28 15:03:59
601
原创 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
381
原创 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
472
原创 frament管理
这是因为 FragmentManager 的状态是跟随宿主组件(Activity 或父 Fragment)的生命周期变化而变化的。所有 Fragment 的状态变化,都是由 FragmentManager 控制的,而 mCurState 表示的正是 FragmentManager 当前的生命周期状态。为什么 FragmentManager 只需要一个 mCurState?
2025-01-11 15:56:04
167
原创 OpenGL学习
在open gl 中 只有0号帧缓冲区才可以上屏,随意你虽然创建了很多帧缓冲区,但是你用完这些帧缓冲区后,最后你得拷贝到0号帧缓冲区才能有机会上屏,因为eglswpebuffer 会把0号帧缓冲区切为前台。Surface 可以代表一个抽象窗口即共享内存是一个窗口(可以存放数据),此时Surface (虚拟窗口)利用共享内存实现双缓冲,显示器也代表一种窗口即显卡是一个窗口(frambuffer可以存放数据),错误理解为渲染后一个后台窗口,离屏渲染其实绘制到fbo上。
2024-05-24 01:07:31
576
原创 view measure
抛开其他的,view是希望自己的这些内容显示出来的,所以期望一个最小的大小,这个大小咱们先记为"大小1",但是Android 的测量过程view的大小是受父视图给的一个大小限制的,其实可以理解为,父视图"最大"也只能这么大,子视图太大了,也显示不出来,所以子视图就别超过父视图给你的大小了。那么如果自己的期望(match_parent)是和父视图的大小相匹配那么最终view的大小就是"大小2",如果自己的期望(wrap_content)是能包裹自己的内容就可以了那么自己的大小就是"大小1与大小2的最小值"。
2024-04-27 13:20:32
260
原创 android.jar的理解
Android sdk 其实就是方便 开发者与系统打交道的"一个"kit(工具库),这里强调一个,是指你自己也可以写一套基于android 内核层的sdk(包含基础系统服务和应用程序框架),然后部署到android 上面。因为系统调用以上,面向的所有的应用,google可以写框架,你自己也可以写框架,只不过你们共同使用了底层下的内核和硬件。写估计会很麻烦,因为你不熟悉,android提供的那些服务)封装的类可以理解成是一些可以为客户端(Client)自己的内存提供数据的函数。我想是可以的,但是你自己。
2024-01-16 19:07:08
589
原创 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
1189
原创 FileProvier
因为你想拍照,你要把这个路径给相机App。那么滴,你在往intent 中传Uri时,你需要用 FileProvider.getUriForFile()这个方法生成,那么这个方法就会把这个真实的路径变成external_storage_root/xxx/xxx。那你说我配置的时候,path为空好不好,那我没测试,看FileProvider源码上是可以的。那么滴,你现在要定义一个path,定义的是你配置的这个路径。所以 这个文件定义的就是你允许,你想要分享给第三方的文件路径,第三方可以对这个文件进行读写。
2023-11-01 19:14:57
251
原创 java 字符
1,字符其实也就是数字,不同的字符编码,字符对应的数字也不同。 2,同一个字符集,可以有多种字符编码,比如中文 可以有 GBK编码 也可以有,UTF-8编码,也可以有 UTF-16编码 3,java 默认采用UTF-16编码 ...
2023-10-21 16:59:25
98
原创 android gradle 相关
android 中 build.gradle 之所以可以运行 是因为 groovy中有一个类加载器 GroovyClassLoader 通过方法 GroovyClassLoader.parseClass 可以把文本解析为一个Script 脚本类
2023-10-21 16:53:27
140
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
424
原创 网络摘抄和随笔
网络摘抄和随笔 1,detach()、attach() detach():会将view与fragment分离,将此将view从viewtree中删除!而且将fragment从Activity的ADD队列中移除!所以在使用detach()后,使用fragment::isAdded()返回的值是false;但此fragment实例并不会删除(在源码中实际上是会删除的,只不过用于储存frgment的...
2023-07-12 23:57:51
175
原创 Android 网络加载.9图片
String url="图片地址“ Glide.with(getActivity()) .download(url) .into(new SimpleTarget<File>() { @Override public void ...
2021-07-27 11:38:38
587
原创 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
1599
4
转载 欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-12-07 15:14:57
186
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅