9 SoldierJazz2019

尚未进行身份认证

横眉冷对千夫指,俯首甘为扫地僧。

等级
博文 155
排名 7k+

Ipad平板作为MAC苹果电脑的扩展屏幕的技术研究

直入主题,这方面的研究直接参考当前使用基数最大,反馈最好的两个产品。最新产品讯息,请分别进入各自官网。BTW,DuetDisplay也跟随LunaDisplay开始发布硬件了。DuetDisplay颠覆了基于Wi-Fi的传统运作原理,改经USB数据线实现,虽然此前也有使用USB的类似应用,但二者的实现方式有本质的区别。其次,DuetDisplay并非通过纯粹的「屏幕...

2019-05-31 17:48:11

Linux驱动如何在不同版本上快速迭代升级

Aswellknown,Linux内核版本更新很快,有些内核版本的迭代升级可能会导致在使用的驱动版本存在编译失败或使用的兼容性问题,如何快速定位到内核版本间变更的地方,并处理掉该问题,列一下我常用的解决方法。(之前遇到问题,就下载对应的内核版本安装测试的方法,看来很foolish)1、通过kernel.org内核官网查看具体版本相较于上版本的ChangeLog。该方法可以全面看到内核版...

2019-05-24 18:08:39

安卓BLE开发教程(二) BLE开发流程

在安卓上进行BLE开发时,就不必像理解BLE协议栈那样复杂了。因为安卓的BLE包为我们提供了十分丰富的API、各类常量、各类连接通信情况下的回调API等。具体流程一、声明权限二、获取Adapter适配器三、开启蓝牙四、BLE扫描与停止五、连接设备六、枚举特征值及其属性七、利用特征值通讯八、关闭蓝牙一、声明权限在AndroidManifest.xml文件中...

2018-12-20 18:33:58

安卓BLE开发教程(一) BLE基础

我试图以一种简单的方式去把重要的事情讲清楚。目的是希望BLE协议栈和基础概念简单化,让自己及类似的安卓开发者可以在较短的时间内把握住BLE的核心及使用方法。BLE本身很复杂,但对于安卓开发而言只要抓住一些核心点,便已足够。如果你想全面了解BLE协议栈,包括分层及每层功能,那么你从这里可能得不到答案。1、BLE协议栈层次然而,安卓BLE开发不用理解如此复杂的分层结构。因为我们不是在开发B...

2018-12-20 15:50:50

安卓获取屏幕最大(绝对)分辨率

安卓开发时,在很多应用场景需要获取手机屏幕的真实分辨率,然而查阅了大部分博客提供的获取方法发现获取方法并不对。下面几种常用的方法(错误)和最终正确获取的方法均会展示在下面。实验场景:Activity(隐藏或不隐藏状态栏、虚拟导航栏等场景)、Service中。错误方法一:DisplayMetricsmetrics=newDisplayMetrics();getWindowM...

2018-12-14 14:00:45

Android/Linux 系统添加对多点触摸屏的支持

  含有HID多点触摸控制器的触摸屏、触摸板在Android和Linux内核中都是由"hid-multitouch"驱动进行支持的。因此如果你的系统连接触摸屏没有反应,问题基本都出于驱动未加载或者与触摸屏的VID与PID不适配。以下分情形讨论:1、系统中已存在“hid-multitouch”驱动  若“hid-multitouch”驱动是以内核模块的方式存在于系统里...

2018-07-06 09:52:12

安卓App报错:android.os.FileUriExposedException

安卓7.0开始,不再允许在App中把file://Uri暴露给其他App,因此在代码中需要做下版本判断,在7.0版本及以上需要使用FileProvider生成content://Uri来代替file://Uri。同时安卓工程需要做以下调整:1、在AndroidManifest.xml的application标签页下增加provider声明<applicati...

2018-06-29 09:54:38

解决 Windows Update 更新错误/无法创建还原点 代码 0x80246008

这个问题在我的电脑上由来已久,但是大部分的更新工作可以由其他第三方软件来完成,所有有时候得过且过。但同时,有一些棘手的问题,会提示系统进行WindowsUpdate,只有硬着头皮解决了。如果你遇到了“系统无法创建还原点”,也可以参考此博客。1.一般更新出现80246008是由于BITS服务没有启动导致的。又名:后台智能传送服务/ BackgroundIntelligentTra...

2018-03-03 18:08:36

中标麒麟/NeoKylin 安装QT开发环境

1.如果你对中标麒麟系统安装有疑问,请阅读上一篇文章:《中标麒麟/NeoKylinU盘安装系统》。2.进入系统打开终端,以root模式操作。<1>yuminstallgstream*libXext-devellibX11-devel<2>ln-s/usr/lib64/libXrender.so.1.3.0/usr/lib64/libXrend...

2018-02-13 11:51:34

中标麒麟/NeoKylin U盘安装系统

这里以NeoKylin6为例,其他版本与此相类似大同小异。但是下载指定版本的镜像时要注意配合该版本的软件包是否充足,不然就会遇到安装好系统很多软件无法安装或更新的情况。1.官方下载地址:http://download.cs2c.com.cn/neokylin/desktop/releases/2.第二步,在上个地址中找你想要下载的版本,注意前面说的先检查下资源,以我想下载的版本6.0为...

2018-02-13 11:41:58

USB OTG 的进一步理解

一直以来在做安卓系统相关的嵌入式通讯(USB、BLE、网络、串口等),最近在讨论OTG问题的时候,对该规范又重新理解了一次,这里仅做一些概要和核心点说明,下方会给出具体OTG包含协议的参考链接,大同小异就不多赘述了。1.硬件接口与传统的4线USB接口不同,OTG接口除了VCC、GND、D+、D-之外还多了一根ID线,对支持OTG规范的设备来说,按照连接时的ID线状态分为

2018-02-06 14:50:29

Vmware提示:the operation was canceled by the user

一般遇到这种情况是由于当前虚拟机资源中的资源文件被其他进程占用导致的。如果你的系统中有DAEMONToolsLite软件,那么多半是因为这个原因。因此下面针对此情况提出两种解决办法:1.检查有无安装 DAEMONToolsLite软件,若安装此程序,打开任务管理器,显示所有进程,找到是否有名称为 DiscSoftBusService的存在,有的话,结束该进程。然后重新启动Vmw

2017-12-08 11:15:47

Windows与Linux下tftp服务的使用

tftp协议是基于udp的,轻量小巧,用在局域网和嵌入式上很顺手。大部分帖子把在linux上配置的过程描述的过于复杂,其实只是个工具而已。研究协议抓下包对比协议内容也可以满足需求了,下面进入正文。分别讲下在linux以及windows环境下的tfpd使用教程。1.windows工具链接下载地址:Tftpd32链接2.Linux软件包安装sudoapt-getinst

2017-12-06 15:22:35

《言简意赅之Linux设备驱动编程》 前言

linux内核与驱动开发是一门很深的学问,主要是由于覆盖知识面较广、内核架构设计层级较深、软硬件知识要兼具。因此自己在学习理解时会经常遇到某一章节需要反复阅读理解多次。所以,我想用一种言简意赅的方式讲述Linux内核与设备驱动开发。我认为把一个概念阐述的比较言简意赅的关键在于抽象与从宏观角度理解。也即,充分理解框架与核心点,然后在实际开发中不断强化该知识点的学习与使用。这样可以起到事倍功半的

2017-11-13 20:11:36

frameworks/av/media/CedarX-Projects/CedarAndroidLib/LIB_KK44_/Android.mk: No such file or directory

在安卓系统编译过程中如果遇到上述或者与之类似的错误,可以采取相同的处理方法进行解决。直接进入到 CedarAndroidLib目录下,也即此例中的 frameworks/av/media/CedarX-Projects/CedarAndroidLib。看一下当前文件:注意第9行为包含标题中报错的那个Android.mk文件。可见为此步骤出错,上述字符串定义如内容所示,查看上级目录

2017-09-30 10:59:23

VMware 虚拟机占用磁盘空间

使用VMware创建的虚拟机尽管已经设定分配的磁盘大小,但仍然会发现虚拟机占用的磁盘空间会越来越大,而直观体现就是虚拟机系统文件vmdk不断增大。因此下面介绍一个简单的方法,使用VMware自带的工具对vmdk文件进行压缩以节省磁盘空间。拿我的系统为例:如果有很多vmdk文件,那是由于虚拟机创建的时候选择了把磁盘存储成多个文件,选择合并(又快照时不合并会影响后面的压缩)

2017-09-30 10:22:10

JAVA循环队列

关于自定义循环队列的实现原理和要点可以参见之前的博文系列:循环队列及C语言实现。这里主要对JAVA下的具体实现方式与原理进行说明。一、JAVA中已经自带了Queue、DQueue、ArrayList、LinkedList等常用的数据结构,为什么还要单独实现循环队列?之所以使用自定义循环队列,出发点还是基于我们在实际应用中对于数据处理各种各样的需求。使用自定义数据结构的好处就在于可以更

2017-09-15 15:25:44

Android开发如何使用JNA

在非安卓的平台上,一般我们直接使用这两个jar包就可以轻松使用JNA并进行安卓开发了。在安卓上由于这两个jar包默认没有对应安卓版本的libjnidispatch.so文件,因此我们需要从jnamaster中提取该文件并对jna.jar文件进行改造,或者使用jna-min.jar文件。

2017-08-07 19:48:18

Java 结构体之 JavaStruct 使用教程<三> JavaStruct 数组进阶

经过前面两篇博客的介绍,相信对于JavaStruct的认识以及编程使用,读者已经有一定的基础了。只要理解和实践结合起来,掌握还是很容易的。下面进行一些数组使用方面的实例说明及演示。在结构体类中使用数组有几种方式,可以使用静态指定大小的方式也可以通过使用ArrayLengthMaker进行动态分配。数组的大小既可以在类中定义,也可以在定义对象后通过对象进行指定。静态指定方法如下所

2017-07-21 18:07:55

Java 结构体之 JavaStruct 使用教程<二> JavaStruct 用例分析

使用环境前一篇在介绍JavaStruct类时指定了使用库使用环境为Java5及以上,也即开发我们使用的JDK版本为1.5及以上就可以了。以下讲解的用例可以直接将code直接粘贴到java的main函数中执行就可以了,后面会给出测试用例和结果。使用方法JavaStruct类用于打包和解包结构体,也即使用方法为用该类的pack与unpack方法将定义的

2017-07-21 14:23:21
CSDN身份
  • 博客专家
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。