- 博客(156)
- 资源 (9)
- 收藏
- 关注
原创 鸿蒙uvc预览
在camera_device_usb.h中,路径camera/usb,实现camera_device_usb.cpp。CameraNativePreview.ets--> 这里开始进入uvc_camera库。在camera_device_v4l2.h中,路径camera/v4l2。这里分析camera_device_usb.cpp。的数据和状态变化,或者唤醒?而在stream.c中一般是通过。这俩方法都指向stream.c。XXX状态不同会走不同的路径。这里封装了基本的相机流操作。以及close流程?
2025-06-20 15:12:14
1099
原创 uvc设备连接分析
这个类点击打开会弹出一个dialog,展示usb扫描到的usb设备,然后用户选择了某个usb设备,就会打开这个usb设备,如果是uvc的话。那么这步是怎么起作用的呢,是因为CameraDialog中点击事件后有事件监听,如下所示,这里使用的是就是uvc提供的demo中的demo3,中的MainActivity。也就是回调了onConnect,那么这个回调listener是从哪里来的?第一行是连接usb设备,并获取usb摄像头数据,这行代码最终执行的就是上面那两行代码。接着上面的"uvc简单分析"的文章,
2025-02-14 09:40:19
401
原创 Sothink SWF Decompiler
web site:http://www.sothink.com/http://www.sothink.com/product/flashdecompiler/index.htmDedicated to SWF decompile for over 10 yearsBetter accuracy and performance in Flash SWF dec
2025-02-14 09:16:54
445
原创 程序之路
写代码,调代码,代码里面蕴含着思想,叫做编程思想,写代码的时候可以借鉴一定的套路,写法等,叫做设计模式,以此应对开发当中的一些问题,以此来规避问题。代码都是 有漏洞的,就比如人无完人,在用户体验较好的情况下,可视作完美。写代码主要就是逻辑问题,处理好错综复杂的逻辑关系,能够各司其职,就如楼房中,供气系统,供水系统,供电系统,排水系统,等都应具备且各不干扰,就是完整的。通常使用的方法是M
2025-02-14 09:15:08
140
原创 okhttpclient.setsslsocketfactory 报错解决
后续因为更新apk的时候包体积较大,网络不好的时候,用HttpUrlConnection偶尔会下载失败,于是下载更新apk就改为了okhtt3这个库,其他业务请求还是用HttpUrlConnection这个类。这样修改后,HttpUrlConnection就可以请求https了,当然这里是信任所有https,实际上如果要真的验证还是需要拿到证书文件,进行实际验证的,此处略,只是让通信能成功。后续因为业务改动,服务端改为了https,所有的网络请求都用https方式了,
2024-01-09 15:25:58
1818
原创 jni编译
检查gradle文件都正常,CMakeLists文件都正常,编译都正常,无奈下,查看其它正常的带JNI代码的工程配置,检查是否一样,倒是看到一些不一样的地方,ndk的 编译版本不一致,只能先改成一致。就是修改c文件后(该文件在module中),加了行日志,运行androidstudio工程,但是并没有打印出我增加的日志,但是工程仍然正常运行,十分不理解。这些信息都改成一致了,但是还是编译正常,运行正常,但是就是不打印加的那行日志,实在不理解。然后删掉这个so,重新编译,运行,果然打印那行日志了。
2023-05-06 15:28:41
890
原创 UVCCamera基本库介绍
UVCCamera是usb摄像头的一个开源库,库主要有三部分组成,一个是libuvccamera,一个是usbCameraCommon,另一个是调用demo程序usbCameraTest。如下图所示:如上图,libuvccamera库是基础库,主要包括USB设备的扫描,设备,驱动,监控等。CameraDialog主要完成usb设备的扫描过滤展示,展示结果放在listview中。UsbMonitor主要完成设备的连接断开,扫描等。DeviceFilter主要是设备的过滤,解..
2021-11-16 10:53:06
5464
原创 UVCcamera扫描device并展示的过程
UVCCamera工程中的测试用例,一般会开头扫描usb设备,这里以Test5 中的MainActivity为例说明,其实其他也一样。进入Activity一般是黑屏,在左上角有一个按钮,这个按钮点击后会打开一个dialog样式的activity,来供选择自己需要操作的usb设备,一般选择依据是通过设备的pid,vid来选择,前提是这个设备需要是支持UVC协议的摄像头,否则即使选了也不能预览摄像头画面。 private final CompoundButton.OnCheckedChangeList
2021-11-05 17:29:54
1110
原创 android10 写日志文件
将日志信息content写入本地外置存储卡:代码比较简单,需要注意的是在构造FileWriter 的时候需要使用new FileWriter(name.getAbsolutePath(), true)而不能使用new FileWriter(name.getName(), true)。路径需要是全路径。后面的true是追加模式,用false则为覆盖模式。代码如下: private static String curDate = "20211102"; private static fina
2021-11-02 16:43:15
1887
原创 C# 使用udp实现消息的接收和发送
代码比较简单,但是别忘记关闭防火墙进行测试。首先便是服务端,使用Socket进行实现,参考代码如下: private static Socket udpServer; static void startUdpReceive() { Console.WriteLine("------startUdpReceive--"); udpServer = new Socket(AddressFamily.Inter
2021-09-06 17:11:35
11232
原创 UnsatisfiedLinkError: dlopen failed: so: has text relocations
public final class HttpRequestUtil{ /** * HttpRequestUtil自己 */ private static HttpRequestUtil mUtil = new HttpRequestUtil(); /** * */ private Ht
2021-07-30 14:00:08
583
原创 failed linking file resources
对于这个错误,一般是资源有问题导致,这里按照这个思路来解决,一般是整理代码的时候,把图片,xml,或者res下的其他资源给动了,导致资源出现了问题,见下图:解决办法是找到哪里有错误了:点击Build :failed 。。。那一行即可在右边看到错误具体详情,见下图所示,可以在右边看到具体的错误内容:然后修改后,再次编译即可。...
2021-07-07 18:30:59
987
原创 Device File Explore 显示 nothing to show
设备已root,用usb线插电脑上,会弹出选项,选择了查看文件后,就在AndroidStudio中看不到文件目录结构了。网上搜了搜,说是打开了root权限,要关闭,就是下载一个SuperSU的apk,然后关闭SU权限,参考链接:https://stackoverflow.com/questions/46461475/android-studio-3-all-versions-device-file-explorer-nothing-to-show具体内容见下:After struggling
2021-07-01 10:23:38
966
原创 app:transformClassesWithDesugarForDebug
刚才保存的文字怎么都不见了,只能再来一遍。。。java相关:集合,多线程,网络相关,异常处理,设计模式,6大设计原则,android相关:Activity启动模式,Service使用,ndk相关:kotlin相关:...
2021-06-21 17:04:34
539
原创 New Gradle Sync is not supported due to containing Kotlin modules using an unsupported plugin versio
androidstudio导入别人的代码后编译报错:New Gradle Sync is not supported due to containing Kotlin modules using an unsupported plugin version看错误提示应该是kotlin版本不兼容问题导致无法完成Gradle构建。于是搜索到这个文章:https://fluttercorner.com/new-gradle-sync-is-not-supported-due-to-containing-
2021-04-14 10:23:21
2040
原创 形成笔记
刚才写好的文章不知道怎么没了,只好重写一遍:其实很多东西都知道并经常使用,只是未加以整理,在此慢慢补上:java相关:集合,多线程,网络相关,异常处理,设计模式,6大设计原则,android相关:常用框架MVC,MVP,MVVM的使用,Activity启动模式,Service使用,事件分发,UI适配,自定义view,动画Animation绘制,ANR处理,app优化,handler使用及原理,fragment使用,内存泄漏,数据库,jni的使用,aidl的使用,各Manager的使用,Windo
2021-03-19 09:45:47
145
原创 定时启动service
service范例一则:使用activity启动service,在service中做任务/* * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use t
2021-03-19 09:08:54
281
原创 something ab
reference website shows next:http://www.cplusplus.com/articles/1w6AC542/Tips:I've learned many things about making games, some things the hard way. Here are some things that you should do:
2021-03-19 09:07:49
149
原创 python环境搭建
没事看一个工程,jd秒杀的python代码,搭建环境过程比较麻烦,现在记录一下:首先安装python工具,打开 https://www.python.org/ 下载最新 python工具安装即可,我这里安装的是3.9.1安装完成后打开cmd命令行pip --version 即可以看到版本号,也可以pip help看其他命令。然后开始安装代码依赖的包在required.txt文件中,内容见下:certifi==2020.4.5.1chardet==3.0.4idna==2.9l...
2020-12-30 14:01:27
1430
7
原创 wps简单使用
使用wps制作了几张docx文档,之后转为pdf进行输出。输出体积为每张约120K左右,大大降低了体积。使用到的一些功能列出如下:1:尺寸约定和字体约定水印可以为字体,也可以是图片。这里使用字体,编辑好水印字体,颜色等以后,点击添加就可以在页面上看到。然后复制粘贴就可以。之后全选之后有旁边就有对齐等各种选项。这里水印的颜色为:E1EBE3 (225,235,227),这个用开始下面的A点击下三角下面的取色器取到。纸张大小:16/9.24cm,16/9.24=1.7316比例等于1870/1080=
2020-12-11 14:46:18
546
原创 数据排查
之前遇到一个问题,esam调试遇到的。app给esam下发指令,esam返回加密数据给app,app把数据发给加密机解密。或者app请求加密机返回密文,app把密文发给esam芯片解密,芯片返回明文数据。流程本身没问题,偏偏遇到一个奇怪问题。加密机返回来的数据esam芯片可以解密,但是芯片加密的密文发给加密机却解不开,一定是数据出问题了。首先排查esam芯片和加密机,将之前测试好的esam芯片拿过来测试问题依旧。将该芯片放在其他正常设备上又好了。这说明芯片和加密机一定是没问题的。那么结论是芯片返
2020-10-21 18:07:15
546
原创 android studio Could not resolve 。。。 Could not download。。。
今天遇到一个扯淡问题,之前一直好好的工程,今天打开可以完成编译,一运行就报错,提示如下图所示:当时就很懵逼,之前一直好好的啊,为什么突然编译不过去,打开根目录gradle文件也没啥改动啊,如下为gradle文件配置:buildscript { repositories { google() jcenter()// maven { url 'http://maven.aliyun.com/nexus/content/groups.
2020-06-28 14:58:21
6000
1
原创 代码编写建议
对于一个项目,放在第一位的就是需求,也就是功能永远是第一步,先实现了功能再说,当然可以在实现的同时考虑优化,比如架构,比如组织,利用面向对象的特性,利用设计模式,在实现功能的同时就做到代码简略,明确。对于优化,如果不能在实现的同时做到,就放在这个后面,优化不要太过,不要为了优化而优化,不要为了用设计模式而用。模式是为代码的可读性可维护性服务的,在这个前提下,在场景合适的情况下才有意义。一般常见的规...
2018-02-09 18:22:08
316
原创 android 5.0后矢量图形
矢量图形介绍:android 从5.0开始支持矢量图形,Android Studio 包含一个名为 Vector Asset Studio 的工具,可帮助您添加 Material 图标以及将可扩展矢量图形 (SVG) 和 Adobe Photoshop Document (PSD) 文件作为矢量图资源导入到项目中。使用矢量图代替位图可以减小 APK 的尺寸,因为可以针对不同屏幕密度调整同一
2017-04-28 14:13:55
642
原创 proguard
后面慢慢修改,先贴出来-optimizationpasses 5 # 指定代码的压缩级别#-dontusemixedcaseclassnames # 是否使用大小写混合-don
2017-04-08 11:19:36
586
原创 svn win10
换电脑,需要重安装svn,百度svn 64位,找第一个就下载安装,比如我下载的是:TortoiseSVN最新官方版下载_百度软件中心版本:1.9.5.27581大小:17.5M更新:2017-01-05环境:Vista/Win7/Win8 然后一路点击安装,在刚开始安装的时候,需要勾选配置command line clients tools选项:
2017-04-05 17:20:35
830
原创 android 3DES加密解密
要用到3des加密解密,且要保持多平台都能一致,所以需要使用大家都能实现的方式以下部分摘抄自http://bbs.csdn.net/topics/360204005DES、AES 或者 3DES 属于块加密算法,一般来说原文必须是 8 的整数倍,所以块加密算法除子加密模式之外,还涉及到一个填充模式。如果你一定要用 NoPadding 的话,那么必须保证原文字节是 8 的倍数
2017-03-17 16:40:14
1477
原创 adb 输出日志
windows下输出因为没有grep,过滤包名需要用find,具体指令如下:adb shell "ps | grep com.xxx.xxxf" adb logcat | find "pid" pid参数就是第一条返回数据的那个数字,为进程号然后会发现日志输入中,汉子为乱码,如何修改见下:命令窗口字体编码格式修改:默认为新宋体Android LOGCAT输出
2017-02-15 14:58:31
1221
原创 android一般题目
android开发中可能会出现的一些常见的问题:http请求:数据解析:图片压缩解析:图片格式:适配:事件分发:UI展示:动画:消息队列:线程:内存泄漏:自定义view:第三方框架:ViewGroup+Fragment:RecycleView:
2017-02-09 14:55:38
764
原创 proguard打包异常
工程需要加入一个混淆过的jar包,奈何打包不成功,提示错误:[2016-12-29 09:42:35 - PayElectricityCard] Proguard returned with error code 1. See console[2016-12-29 09:42:35 - PayElectricityCard] Note: there were 2403 duplicate c
2016-12-29 15:16:04
1512
原创 ETC卡的协议分析
本文主要参考《ETC交易IC卡操作说明.doc》和《ETC用户卡数据规范.pdf》进行理解,其实文档中已经详细的描述了指令部分,这里解释下圈存的含义:这里直接拷贝百度的一段回答过来,意思基本就是将银行卡里的钱划到IC卡上的过程。等划过去之后,就可以用IC卡进行消费。中国石化加油卡单用户圈存是什么意思你办卡时在石化IC卡系统数据库里有一个账号,账号里存着你的数据,这个账号下面对应着一张IC卡(单用户...
2016-12-22 17:12:26
5715
原创 androidstudio工具
切换工具需要一个过程:先贴一些遇到的问题和解决:------------------------------------1-----------------------------------------------The same input jar [E:\workspace\PlugeInProjectNewAS\pCardPlungeInShanxi\libs\xxx.jar]
2016-12-22 16:01:12
1320
原创 git 上传本地代码到github上
写一篇最简单的上传本地代码到github上面的:首先打开git-bash,定位到你要上传上的项目的目录文件夹下,比如你要上传A工程,那么就进入到A工程文件夹下,本例为上传TestAs工程,所以git命令窗口进入到TestAs目录下:1:输入git init ,那么就会在本地项目文件夹目录下创建.git文件夹,即创建了一个空的git仓库2:添加你要上传的文件,依次添加,如
2016-12-08 16:59:06
634
ETC卡协议规范
2016-12-22
blemain.zip
2020-06-18
MultiResolution
2013-01-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅