自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

thezprogram的专栏

东京特别专利局

  • 博客(57)
  • 资源 (8)
  • 收藏
  • 关注

原创 数据结构基础:单链表反转 原地反转版(C++版)

闲来无事,做个练习,记录一下#include <iostream>using namespace std;typedef struct LNode {//单链表定义 struct LNode* next; int data;}LNode, * LinkList;LinkList createList() {//创建链表 因为是头插法所以顺序是0987654321 LinkList L = NULL; for (int i = 0; i < 1

2021-09-02 00:55:21 234

原创 记一次匪夷所思的AndroidStudio 报 Unable to detect adb version 错误的解决过程

起因:新电脑。准备装一个安卓开发环境进行开发。已经轻车熟路了。一切安装妥当。但是打开AndroidStudio时,创建项目,编辑代码完全没有问题,想连接手机调试时,发现设备列表没有手机,只显示了Loading Devices 的字样。EventLog 不停显示Unable to detect adb version 的字样。经过:网上搜索了半天,总共有几种说法:1 adb端口占用,查出占用的进程,杀掉开启adb2 platfrom-tools的adb.exe替换成 旧版本的3 安装其他版本

2021-05-23 19:03:31 1355 3

原创 使用CMake 结合VisualStudio工程使用LINK_DIRECTORIES指令发生LNK1104 “无法打开文件xxx.lib”问题踩坑

这样的 我有一个库工程,已经编译好,生成了lib库。这是 我又建立了一个app工程,想要链接库工程生成的lib库。我在app工程的源码目录编辑了一个CMakeLists.txt文件 如图内容如下ADD_EXECUTABLE(app app.c)INCLUDE_DIRECTORIES(D:/cmakelearn/lesson1/build/install/include/hello)LINK_DIRECTORIES(D:/cmakelearn/lesson1/build/install/lib

2021-03-11 11:52:14 2283

原创 如何轻松理解Android中的Surface概念

安卓开发中,涉及多媒体尤其是视频,经常会接触到一个概念Surface那么如何理解他呢。最简单的理解就是其实就是一块内存区域仅此而已。如果通过字面理解,好像是一个平面,但这个平面在哪里呢?写代码经常有这个感觉,Surface传来传去,生成销毁,甚至MediaRecorder进行内容录制的时候也能创建Surface ,Jni中也能看到surface的引用。但奇怪的是,经常在界面上却没有任何看得见的区域,说这个区域就是一个Surface。有人就会晕了,我咋看不见什么Surface啊!!!关键在这里,S

2021-01-22 19:29:55 1468

原创 ffmpeg视频播放处理流程

一张图说明问题:1 大致分为解码,渲染两部分2 解码分为音频解码和视频解码3 渲染分为视频渲染和音频渲染4 视频渲染用OpenGL 音频渲染用OpenSL5 音视频渲染可以用其他中间件比如SDL,实现音视频一体渲染...

2021-01-22 12:18:59 213

原创 游戏开发产业的思考

如果国产游戏想进步需要达到一个思想 就是以技术推动创意,而不是创意来决定技术!!!

2020-11-20 10:42:47 149

原创 安卓调用系统相机拍照 使用FileProvider.getUriForFile() 获取URI踩坑记录

1 配置文件中的 name path authority必须与代码中匹配 否则URI不会获取成功2 path以及文件必须判断是否存在否则要创建目录以及文件。不创建的话URI可以获取到,但是拍照返回后resultCode会为0导致不能拿到图片。...

2020-10-27 19:05:56 2808

原创 Android设备打开任何浏览器都闪退,网络应用无法联网的原因

是因为设备的时间不对,与现实时间差了很多

2020-10-16 14:22:00 535

原创 Unity3D 带有赛道编辑器的赛车游戏小示例视频讲解

视频内有源码下载地址,该项目是完全开放源代码的。很值得研究。请看以下视频。如果窗口过小,可以到B站观看。https://www.bilibili.com/video/BV1tZ4y157Qk/ 带地图编辑功能的Unity赛车游戏案例,能编辑赛道,测试赛道,十分适合需要地图编辑功能的Unity开发者 ...

2020-10-05 18:50:28 731

原创 OpenGL编程指南随书代码在VisualStudio2019的运行方法

Opengl学习,这本书是经典的入门书籍,如果只看书,可能会学的半懂不懂。因为书中只展示了关键的代码片段。通过运行随书代码的例子,才能更好的理解这本书。我做了一个视频,如何在VisualStudio2019中运行示例代码。供学习Opengl的同学参考。 OpenGL编程指南随书代码在VisualStudio2019的运行方法 ...

2020-09-29 13:50:32 289

原创 有限状态机机制介绍及在Android中应用的实例

上来可能有疑问什么是状态机?能干什么?第一次听说状态机 是从游戏开发技术中得来的。在游戏开发中,可以使用状态机控制npc的行为,控制角色在 站立,追踪敌人,攻击敌人,逃跑等状态进行切换。每一个状态都会执行该状态进行时执行的一系列操作。简而言之,就是控制对象状态的切换。用图示来表示一下这是一个游戏demo,注意敌人的各种行为敌人没有发现玩家时,呆立不动,这时,敌人可以说是处于 “空闲”...

2020-04-04 21:53:50 625

原创 openglES 3.0环境 glGetUniformLocation()返回 -1 的原因 从2.0迁移过来,GLSL函数需要改变

1 网上大部分说是因为着色器代码中没有使用到这个变量,是一个原因2 但是还有一个原因,openGL ES3.0 着色器代码api发生了变化,比如在2.0中texture2D()函数在3.0中需要用texture()函数来替代。...

2020-03-15 22:34:00 1039

原创 彻底理解OPENGLES 纹理是如何映射的

纹理,就是通过一系列表示颜色的数据,调用对应的GL函数,把绘制出来的几何图形,填充纹理数据所携带的颜色。比如绘制了两个三角形组成的矩形,没有使用纹理的时候是使用常量颜色填充的。当使用纹理的时候如何实现,可以通过《OPENGL ES 3.0 编程指南》第九章的学习和样例代码的编译运行,已经有一定了解。但纹理是查看过代码,对如何映射到绘制的图形,纹理坐标与顶点的关系,可能还是一头雾水。...

2020-02-12 15:28:28 1028

原创 Jetpack Room的一些事实

新项目尝鲜,记录一下以免忘记1 不管新建表,还是某张表增减字段,字段变更,都要执行数据库升级策略2 一个Dao声明可以支持多个表的查询方法。比如XXXDao既可以有queryAllUser();同时也可以有queryAllAccount();其中User实体有一张表,Account实体是领一张表。可以用一个Dao来查询。3 查询必须在子线程,可以通过引用room-rxjava2库方便地进...

2020-02-10 20:58:30 254

原创 OpenGL ES 3.0 编程指南 windows10 环境编译报错解决

这本书该看的应该都看了,demo环境搭建就按照书中16章说的做就好了。想说的是一个困扰了好几天的问题,就是在Visual Studio 2017 下调试,总是会报错,内容为引发了异常: 读取访问权限冲突。esContext 是 nullptr发生在 esUtils_win32.c 这个文件的第80行最后发现,ValidateRect 这个函数是在收到 窗口消息 WM_PAINT 时会...

2020-02-08 20:44:32 379

原创 与程序员相关的 android apk包安装时提示 “应用未安装” 的原因

情景:机器上已经安装了一个版本如果调用系统的安装流程,进行apk包的重新安装,即,安装apk是通过系统弹出如下弹窗安装apk。如果出现提示 “应用未安装”如图:莫慌,不一定是安装包损坏。用adb install命令进行安装,会提示这个错误可知,安装包的版本打包时比之前客户安装的版本还要低。那么,哪里设置这个版本信息呢在build.gradle文件中有如下配置android...

2020-01-19 10:43:03 3992

原创 架构感悟2

要清楚知道哪些代码要写在框架层哪些代码要写在业务层,需要写在业务层的大胆写在业务层并不是追求全部写在底层。

2019-12-13 11:46:45 108

原创 架构感悟

架构时,需要将代码分层三层,底层是基础的服务,比如硬件调用的抽象接口中间层是业务相关的地层调用,是实现了抽象接口的具体实现类,顶层是业务代码,调用中间层的实现的接口方法进行业务处理...

2019-12-03 16:57:08 125

原创 databinding 结合RecyclerView 适配器带来的坑 不显示数据

有一个Recyclerview item布局的显示使用了databindingitem布局类似这样<?xml version="1.0" encoding="utf-8"?><layout> <data> <variable name="name" type="String...

2019-09-04 10:18:32 1619

原创 2019 最新 Android 平台 ffmpeg 4.1.3 编译流程 集成x264编码库 生成so文件

编译环境1 Ubuntu 64位2 NDK r19c3 FFmpeg 4.1.3 源码 (可以不提前下载)4 x264源码(可以不提前下载)最近在从源码编译视频框架,但网上很多脚本都是两三年前的,不适用于最近的版本ffmpeg ,或者只针对特定cpu架构的。编译过程 ,整个过程就编辑3个脚本文件即可。1 下载NDK r19c (我试过 其他版本的NDK,无法完成整个过程)1 编辑 ...

2019-08-23 09:04:37 918 2

原创 编译x264后 对应的文件没有在配置的目录中的原因

因为make后没有执行 make install只有install后,lib include bin 目录才会出现在$PREFIX配置的目录下面

2019-08-21 09:29:25 302

原创 windows 编译 x264 报错 No working C compiler found 处理方法

编译过程就不说了,网上好多都是可以的。注意两点1 如果出现如题的错误,很可能是编译脚本前几行配置的NDK 路径 和 工具链路径不对比如我的是这样的NDK=D:/ndk/android-ndk-r15cPLATFORM=$NDK/platforms/android-19/arch-armTOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9...

2019-08-20 14:35:53 5247

原创 各历史版本NDK下载地址

https://developer.android.google.cn/ndk/downloads/older_releases.html

2019-08-14 00:53:36 895

原创 用java程序使windows电脑不自动锁屏的方法

有时候电脑受管控,在很短的时间内就会锁屏,带来了很大的不便,通过控制面板是无法成功设置的。于是写了个java程序,通过5秒一次模拟ScrollLock键按键的方式阻止电脑自动锁屏。代码如下import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Main extends WindowAdap...

2019-07-18 13:04:49 3422

原创 导入别人的Flutter工程后,Android项目中的java文件带有红色J标志,代码编辑时没有自动提示的解决方案

刚接触Flutter,github上下载了一个完整的Flutter项目来研究。例如以下的一个项目https://codeload.github.com/lijinshanmx/flutter_gank/zip/master在AS中找到工程目录打开,由于Flutter版本不同等原因,编译报错,根据提示配置就好就行,就不说了。最终配置好后,发现在Android视图下,看不到java代码,类似下...

2019-07-04 13:32:17 4857 5

原创 Android WorkManager使用的坑

使用流程1 应用启动时,网络请求获取用户信息2 获取成功,调用WorkerManager的enqueue传入自定义的Wroker启动任务3 在任务的doWrok中调用用户信息类中的方法进行操作出现的问题:当设备重启后,闪退,报空指针异常。异常位置是在doWrok()方法体中。通过打log打印执行时间发现,设备重启时,doWrok就会执行,在获取用户信息之前导致userInfo为空...

2019-07-01 10:11:56 3802 1

原创 ORMLite createOrUpdate 失败 无法保存记录的原因

Class class com.ygsoft.otbox.entity.sign.VisitorSignFeatureInfo does not have an id field因为数据库实体类没有id 这个字段

2019-06-19 10:44:10 663

原创 安卓 使用了databinding,打包开启混淆,需要额外处理吗

最近项目打包时开启了混淆,项目使用了databinding,担心相关的代码会被混淆影响。因为布局文件绑定了许多实体类,以及viewModel的引用。使用databinding可以安全地开启混淆。因为编译后,布局文件的类引用会被替换成tag标签。...

2019-04-10 16:40:51 2841 3

原创 Android SounPool 播放声音音量大小不稳定的问题

今天使用SoundPool,已经设置了定值,发现声音时大时小。后面发现如下解决方法:初始化时,使用STREAM_MUSIC这个参数来初始化。SoundPool sp = new SoundPool(1,AudioManager.STREAM_MUSIC,0);即第二个参数选择AudioManager.STREAM_MUSIC来初始化。不会造成上述情况。...

2019-02-02 11:56:40 1521

原创 Android 调试 ADB 找不到设备,设备不显示,设备管理器ADBInterface 显示黄色感叹号终极处理方法

Android 调试 ADB 找不到设备,设备不显示,设备管理器ADBInterface 显示黄色感叹号终极处理方法最近公司新机器插真机调试,每一台手机都无法识别,设备管理器显示ADBInterface黄色感叹号。有些手机自带驱动,装上就好,有些设备找不到驱动。最后发现一个终极解决方法,下载一个360手机助手,然后插上手机,就会自动下载驱动。下载完删掉360手机助手就行了。卸磨杀驴...

2018-11-16 15:39:12 10283 8

原创 Android Jetpack 之 Lifecycle极简教程

Androd Jetpack 之 LifeCycle极简教程Android Jetpack 出来很久了,一直没有时间实际使用。它包含了许多优化代码结构的库,能够减少重复的模板代码的编写。主要的包含的内容十分丰富,请看官网介绍:Android Jetpack首页这次介绍一下LifeCycle的最简单的使用。LifeCycle是实现Activity,Fragment生命周期事件向外部类传递的...

2018-11-09 17:33:42 625

原创 关于Android8.0 静态注册广播 行为变更的说明。

Andorid 8.0 对广播的使用做了变更。当广播接收器使用静态注册方式使用时,除了一些例外,这个接收器接收不到隐式广播。 注意这个“隐式”是重点。看了网上几篇文章,对这个变更理解有误。错误的理解是:8.0后,广播接收器使用静态注册,是无法使用的。实时并非如此。先看一个例子:首先,定义一个简单的广播接收器:public class MyReceiver extends Broadc...

2018-10-24 12:33:11 3009 1

原创 二叉树基础操作 ,前中后序遍历,求二叉树高度,二叉搜索树(二叉排序树)Java实现 代码集合

首先,定义一个树对象Tree.javapublic class Tree { public TreeNode root;}定义树节点对象TreeNode.javapublic class TreeNode { public TreeNode(int data) { this.data = data; } public int data; public TreeNode ...

2018-10-21 14:30:23 809

原创 Java虚拟机:运行时数据区域-《深入理解Java虚拟机》笔记

Java 虚拟机在运行时会将管理的内存划分成若干个区域,这些区域各有各的用途,以及各自的创建和销毁的时间。有些随着虚拟机进程的启动而存在,有些依赖用户线程的启动和结束而建立和销毁。Java虚拟机所管理的运行时数据区域如下图。运行时数据区分为 线程共享的 与 线程私有的线程共享的区域包括:方法区,堆。线程私有的区域包括:虚拟机栈,本地方法栈,程序计数器。这些区域都需要在运行时分配空间,...

2018-10-14 13:18:53 186

原创 Android朝花夕拾-介绍Bimap

这篇文章来介绍下安卓中操作图片的Api: BitmapBitmap的本质:位图,即用一些位存储图片数据的一种数据类型。首先,我们用画笔画了一个48*48的图片,保存成bmp格式。这里windows画笔只有四种位图格式可选,我们选24位位图。查看这个文件的属性,发现大小为 6966 byte。...

2018-10-07 19:15:38 259

原创 AndroidStudio使用预编译FFmpeg库结合ndk开发视频项目踩坑记录

现状: 1 已有预编译好的libffmpeg.so和ffmpeg头文件。 2 libffmpeg.so对应armeabi的abi。 3 已有对ffmpeg方法调用的C++代码。需求 在AndroidStudio上集成进上述代码实现jni功能。项目结构: C源码在cpp目录。include下是ffmpeg的头文件,以及功能代码的头文件。剩下的是实现功能的C++代码。...

2018-08-07 13:06:00 878

原创 Java基础知识系列 多线程基础之二 线程安全

系列的几篇文章介绍一下Java语言的多线程的使用。上一篇Java基础知识系列 多线程基础之一已经实现了一个账户(Account) ,可以供多个线程同时进行取钱和存钱的操作。本次将定义一个差不多的账户类,但是多个线程同时操作会带来线程安全的问题。将账户类修改为下面的形式 class AccountUnsafe { int balence = 500;...

2018-07-29 20:53:28 161

原创 Java基础知识系列 多线程基础之一

系列的几篇文章介绍一下Java语言的多线程的使用。首先,模拟一个场景,多个线程同时操纵一个账户(Account),有些进行取钱操作,有些进行存钱操作。每次取钱金额为500,不足500无法取钱。 每次存钱金额100,账户余额大于等于500无法存钱。取钱时金额不足,取钱的线程会等待,等其他存钱的线程存够500则可以继续取钱。 存钱时账户已经有500,则存钱的线程会等待,等其他取钱的线程...

2018-07-29 20:09:55 198

原创 安卓小部件(App Widget) "加载小部件时出现问题" 的原因

今天做了个小部件,模拟器打开,添加到桌面时,无法显示。 后来看了下谷歌文档,小部件根布局支持类型有限。当时外层用的ConstraintLayout 所以无法加载。小部件的布局文件支持如下布局: FrameLayout LinearLayout RelativeLayout GridLayout以及如下控件 AnalogClock Button Chronometer...

2018-07-17 14:18:27 5727 1

原创 Java OOP

1 对于接口(Interface)的理解初入java世界的时候,看到 interface 就眼烦,感觉只有里面只有方法体的这个文件有啥用啊,打开看,发现看了了等于白看。研究了javaSDK源码,AndroidSDK源码后,现在对它有了直观的理解。 认为最重要的功能是,它说明了一种 “能力”。例如Runnable这个接口,命名就直观地表现了实现了它的类是具有 能放到线程中执行的这个能力...

2018-07-08 14:42:45 153

windows防止电脑休眠小工具

[若360误报,请添加信任。360对visual studio编译的程序会产生误报!]防止windows休眠。只要运行后,不关闭窗口(不在前端显示,最小化都可以)就能让电脑不进入休眠状态

2020-09-21

PL2303-USB转串口驱动程序(Android版本)

PL2303作为一款常用USB转串口芯片,在移动终端中进行驱动程序的适配移植,完成一转一或一转多串口功能。

2020-06-23

android ffmpeg4.1.3 x264 编译脚本.zip

ubuntu下编译 安卓使用的 ffmpeg4.1.3 集成 x264库的编译脚本 需要ndkr19c

2019-08-23

离线logcat保存本地文件用 app

安装后运行,可以实时把logcat写入本地文件,方便无开发环境调试应用

2019-08-01

KeepOn.jar

原理通过5秒钟反复模拟按下ScrollLock键,达到无法锁屏的目的。 需要java运行时环境 使用方法 cmd切换到jar包所在目录 执行 java -jar KeepOn.jar 保持程序运行即可

2019-07-18

unity着色器和屏幕特效开发秘籍-资源以及代码

完整的11部分代码 以及资源文件,场景,着色器

2017-04-15

安卓包含su文件的更新包

包含打包用于将su命令载入安卓系统的update.zip打包用资源以及Elite.apk和superuser.apk

2017-01-20

jakarta commons-logging 1.1.1

免积分下载 json-lib需要的依赖库之一。

2015-06-02

空空如也

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

TA关注的人

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