- 博客(110)
- 资源 (11)
- 收藏
- 关注

原创 Unity Shader基础知识的入门了解
通俗解释顶点坐标:我们可以将3D空间想象成一个房间,而顶点就是房间中的一个个具体点。顶点坐标就是这些点在房间中的具体位置。房间的角落:想象你站在一个房间的角落。你可以用一个坐标来描述这个位置,比如 (0, 0, 0)。移动到房间的中心:现在,你走到房间的中心,离开原来的角落。你的位置变了,对应的坐标也变了,假设房间中心的坐标是 (5, 5, 5)。描述其他位置:同样地,房间里任何其他位置都可以用坐标来描述,比如 (3, 2, 7) 或 (-1, 4, 6)。
2024-05-17 20:39:10
2312

原创 Unity 升级31 遇见java.lang.AssertionError: annotationType(): unrecognized Attribute name MODULE 解决
当unity 和android 原生升级到31 遇见java.lang.AssertionError: annotationType(): unrecognized Attribute name MODULE。
2023-07-06 11:33:55
2312

原创 Unity gradle 动态修改android:launchMode 问题记录
以上脚本在unity 2022.2 不再生效,参考以上链接,编写不同脚本组合,经在 android studio(plugs 7.4.1)实验及unity2022 实验三个脚本写法,最后得出最有效的脚本。脚本一(unity 有效,android studio 无效)脚本二(android studio 及UNITY 均无效)脚本三(android stuido unity 均有效)支持apk 跟AAB 的版本,摘自。
2022-07-22 17:24:56
664
1

原创 Android USB相关流程解析(android4.4)
前言:对于USB的一些常量属性,比如:UsbManager. USB_FUNCTION_RNDIS等,现在也是一个比较模糊的概念,只能具体问题具体分析,我们重点说的是类结构,与USB整个框架(仅限于framework层)的逻辑。本来想画一张流程图呢。画来画去好像都跟实际情况有出入。就只能用文字叙述了。一、调用:我们从最常见与USB相关的界面说起。当手机连接电脑时,有如下界面:
2014-12-24 15:08:11
9296
1

原创 android 4.4 电池电量管理底层分析(C\C++层)
简介:Linux电池驱动用于和PMIC交互、负责监听电池产生的相关事件,例如低电报警、电量发生变化、高温报警、USB插拔等等。Android电池服务,用来监听内核上报的电池事件,并将最新的电池数据上报给系统,系统收到新数据后会去更新电池显示状态、剩余电量等信息。如果收到过温报警和低电报警,系统会自动触发关机流程,保护电池和机器不受到危害。
2014-11-24 16:31:15
10411
4

原创 Binder机制初解
简述....3IPC 与 Binder.3Binder IPC 程序结构....3Binder层次划分....4驱动层...4驱动适配层...5Binder核心框架层...5Binder框架层...6Binder C++ 框架层实现(nativeservice):....7Binder Java 框架层实现(framework
2014-11-22 16:00:20
3568
原创 Compose Material 主题颜色解释 ColorScheme
颜色 ) primary The primary color is the color displayed most frequently across your app’s screens and components. 主色是在应用程序的屏幕和组件中最常显示的颜色。 在整个应用程序的各个屏幕以及众多组件当中,出现频率最高、最常被用来展示的那种颜色,主导整体视觉风格的基础色调。 onPrimary Color used for text and ico
2024-12-18 12:03:20
328
原创 Android Gradle 相关
一个项目可能会依赖于同一个库的两个不同版本,这样会导致依赖项冲突。例如,如果您的项目依赖于模块 A 的版本 1 和模块 B 的版本 2,而模块 A 以传递方式依赖于模块 B 的版本 3,则会出现依赖项版本冲突。为了解决此冲突,Android Gradle 插件使用以下依赖项解析策略:当插件检测到依赖项关系图中存在同一模块的不同版本时,默认情况下,它会选择版本号最高的一个。如果你不想按这个模式走,可以自定义。
2024-12-02 12:09:30
1296
原创 kotlin 入门总结
例如,在依赖注入或者 Android 的视图绑定场景中,视图属性在onCreate方法执行之前是未初始化的,但在onCreate方法执行过程中会被初始化,这种情况下可以使用lateinit。主构造函数不能有代码块,若要有代码块则放入 init 代码块中,init代码块按顺序执行(初始化块按在类体中出现的顺序执行,与属性初始化器交错进行。val(a,b)= person("A","B") 即解构声明,即将类部分分别解析赋值得到a=“A”,b=“B”。else 相当于 default。
2024-10-23 18:53:33
983
原创 android进阶知识学习笔记(5)- 常见的数据结构
反观链表,它的时间复杂度就不一样了,如果发生了最坏的情况,可能需要遍历整个链表才能找到目标元素,时间复杂度为 O(n),远远大于红黑树的 O(log(n)),尤其是在节点越来越多的情况下,O(log(n)) 体现出的优势会更加明显。哈希函数的特点是对于相同的参数那么返回的HashCode肯定是相同的,对于不相同的参数,函数会尽可能的去返回不相同的HashCode,所以换一个角度理解,对于哈希函数,给不相同的参数可能会返回相同的HashCode,这个就叫哈希冲突或哈希碰撞。
2024-10-17 10:45:12
859
原创 Android 开发常用工具库
/拖动Header的时候是否同时拖动内容(默认true)设置后,刷新头盖在内容 上方显示mBinding.refreshLayout.setEnableHeaderTranslationContent(false)//是否在加载完成之后滚动内容显示新数据(默认true) mBinding.refreshLayout.setEnableScrollContentWhenLoaded(false)
2023-11-23 17:06:57
214
原创 Lambda 编程(Kotlin)一
简单来说,就是直接传递代码块作为函数的参数。button.setOnClickListener{ 要执行的代码块 }上述内容就是直接将代码块作为函数的参数传递给了setOnClickListener。是不是一头雾水。那么下面说下具体过程。@Override要执行的代码块});在 Kotlin 中,您可以使用 lambda 表达式作为需要函数式接口的方法的参数,例如. Kotlin 的 lambda 表达式会自动被视为函数式接口的实例,这是使 Kotlin 语法简洁且富有表现力的强大功能之一。
2023-08-24 14:54:06
851
原创 gradle 上传第三方jar包到maven
创建一个.gradle 文件,如test.gradle在build.gradle 中头部添下行引用这个.gradle文件来生成可执行gradle:apply from: 'test.gradle'下面是test.gradle的内容:apply plugin: 'maven-publish'publishing { publications { JAR(MavenPublication) { //注一 artifacts =[file("
2021-07-23 14:21:06
357
原创 JAVA 相关问题梳理
是一个特殊的类,所有的类都继承该类,包括Class也继承Object,也就说Class(注意Class大写)是Object的子类。且可以通过eclipse的关系树中看出只是一个名字比较特殊的类,是关键字class修饰的类,一般应用于反射,只是名称比较特殊而已,可以通过Class类型来获取其他类型的元数据(metadata),比如字段,属性,构造器,方法等等,可以获取并调用。注意,Class不能直接通过new实例化,Object不是Class的实例class是一个关键字,是用来修饰类。
2021-06-25 18:36:07
172
1
转载 android 从文件获取视频帧
MediaDecoder.javaimport android.graphics.Bitmap;import android.media.MediaMetadataRetriever;import android.util.Log; public class MediaDecoder { private static final String TAG = "MediaDecoder";...
2018-07-09 17:56:30
1398
转载 6.0运行时权限与targetSdkVersion选择
targetSDKVersion简单来说就代表着你的App能够适配的系统版本,意味着你的App在这个版本的手机上做了充分的 前向 兼容性处理和实际测试。其实我们写代码时都是经常干这么一件事,就是 if(Build.VERSION.SDK_INT >= 23) { ... } ,这就是兼容性处理最典型的一个例子。如果你的target设置得越高,其实调用系统提供的API时,所得到的处理也是
2018-05-08 15:58:27
407
原创 switch 跟 default
总结:switch如果有匹配项,default 无论写到前面、中间、还是后边,都不会执行。switch在没有匹配相的时候,会去执行 default,一直到第一个break 为止。图片全为输入为4 的情况下:例1:输出 :5 例2:输出: 4 1 2 3例3:输出: 4 3 总结:switch如果有匹配项,default 无论写到前面、中间、还是后边,都不会执行。switch在没有匹配相的时候,会...
2018-03-12 16:33:52
1300
原创 自定义 WebView activity页面设置为半透明
1、清单文件里面把activity 设置成 Theme.Translucent.NoTitleBar (透明), <activity android:name=".ui.webui.WebViewActivity" android:windowSoftInputMode="adjustPan|stateHidden" android:t
2018-01-19 17:30:54
649
原创 dip dp px sp 定义
1. dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这 这个,不依赖像素。 这里要特别注意dip与屏幕密度有关,而屏幕密度又与具体的硬件有关,硬件设置不正确,有可能导致dip不能正常显示。在屏幕密度为160的显示屏上,1dip=1px,有时候可能
2017-09-26 10:29:00
377
转载 加载较大的本地文件作为背景图时 防止内存溢出
尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图,因为这些函数在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存。 因此,改用先通过BitmapFactory.decodeStream方法,创建出一个bitmap,再将其设为ImageView的so
2017-06-27 15:31:30
316
转载 查找端口号,杀死进程
C:\windows\system32>netstat -ano | findstr 8080 TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 10360 TCP 192.168.1.85:50132 182.254.48.113:8080 CLOSE_WAIT 92
2016-12-20 20:06:23
628
原创 Android中,关于service的启动两种方式描述不正确的是
碰到群友问的一个问题,说:关于service的启动两种方式描述不正确的是(如图)? 当时看到这个问题有点纠结,纠结内容如下:A 选项没有疑问,官网就是这么说的B选项就是我所纠结的地方,这个调用者如果退出了,那么如果在onDestroy()中调用了unbindService 方法的话,那么服务是终止的,这个是可以肯定的;但是如果没有调用unbindService()方法的情况下,服务会终止吗
2016-10-31 11:04:33
2858
原创 Android中使用Canvas绘制简单的图形(二) 进阶 绘制钟表
此文是http://blog.youkuaiyun.com/daweibalang717/article/details/51776446 的进阶版通过上文可以学会简单的图形绘制,我们来进行一个钟表的绘制。效果图:布局文件:<RelativeLayout xmlns:android="http://schemas.android.com/a
2016-06-29 17:22:00
2267
翻译 Android中使用Canvas绘制简单的图形(一)
本代码整理于视频学习,用于总结与备忘。说明都在源码注释中。效果图:布局文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layo
2016-06-28 15:45:45
5359
转载 Java总结篇系列:Java泛型
一. 泛型概念的提出(为什么需要泛型)?首先,我们看下下面这段简短的代码:public class GenericTest { public static void main(String[] args) { List list = new ArrayList(); list.add("qqyumidi"); list.add("c
2016-06-23 16:11:28
411
转载 Android uiautomator 使用入门官方教程
Android uiautomator 使用入门官方教程本文英文原文 http://developer.android.com/tools/testing/testing_ui.html 已把其翻译为中文,希望各位多多了解uiautomator 安卓自动化测试工具,非常好用,我很喜欢! In addition to unit testing the individual compo
2016-06-21 13:39:18
2768
转载 android图片等比例缩放 填充屏幕
转自:http://blog.youkuaiyun.com/x605940745/article/details/32325793 用于备忘第一种方法:在ImageView的t同事设置两个属性 Android:adjustViewBounds="true" android:scaleType="fitXY"第二中方法:用IamgeVie
2016-05-17 15:39:58
1013
原创 自动垂直滚动(autoText)II
自动垂直滚动(autoText)一,参见:http://blog.youkuaiyun.com/daweibalang717/article/details/50221865自定义控件:package cn.silent.view;import java.util.ArrayList;import android.content.Context;import android.os.H
2016-04-18 16:49:37
680
转载 Android 从网页中跳转到APP
转自:http://blog.youkuaiyun.com/buptlzx/article/details/9837137/ 最近,在使用QQ和微信等SDK来实现分享网页的时候,发现,SDK已经为页面跳转回应用提供了基本的数据支持。我们只需在应用里和被分享的网页进行简单的设置,即可实现此功能。那么我们先来看下网页跳转回应用的实现原理。就Android平台而言,URI主要分三个部分:s
2016-04-16 14:56:49
473
原创 android 截屏
1、网上流传的view.getDrawingCache(); 截取带视频的页是黑框。 那么怎么太能截取上的,我的思路是获取视频的当前一帧,算好坐标,把view.getDrawingCache();获取的图片与当前帧合成一张图。(上图坐标算的不是很准确,但是结果是实现了的)2、代码如下:package com.example.screenshot;import java.io.File;
2016-03-16 12:12:02
778
翻译 用 MediaMetadataRetriever 获取VideoView当前帧
布局<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match
2016-03-16 11:18:26
3452
APK最新反编译工具2018
2018-07-12
Tess-two编译可用.so文件 2018
2018-06-20
文本垂直滚动
2015-12-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人