Here

Android AIDL 使用

被刻印的时光 ゝ 提交于 2020-12-19 13:10:39
一、概述: AIDL是Android中IPC(Inter-Process Communication)方式中的一种,AIDL是Android Interface definition language的缩写。 其主要作用是用于进程间额通讯。 在Android系统中,每个进程都运行在一块独立的内存中,在其中完成自己的各项活动,与其他进程都分隔开来。可是有时候我们又有应用间进行互动的需求,比较传递数据或者任务委托等,AIDL就是为了满足这种需求而诞生的。通过AIDL,可以在一个进程中获取另一个进程的数据和调用其暴露出来的方法,从而满足进程间通信的需求。 二、语法: 1、支持的数据类型: 八种基本数据类型: byte、char、short、int、long、float、double、boolean String,CharSequence 实现了Parcelable接口的数据类型 List 类型。List承载的数据必须是AIDL支持的类型,或者是其它声明的AIDL对象 Map类型。Map承载的数据必须是AIDL支持的类型,或者是其它声明的AIDL对象 2、 AIDL文件可以分为两类。一类用来声明实现了Parcelable接口的数据类型,以供其他AIDL文件使用那些非默认支持的数据类型。还有一类是用来定义接口方法,声明要暴露哪些接口给客户端调用,定向Tag就是用来标注这些方法的参数值。 3、

Linux重定向用法详解

我是研究僧i 提交于 2020-12-19 05:01:40
大家好,我是良许。 相信大家平时都会有需要复制粘贴数据的时候,如果是打开文件进行复制粘贴,就不可避免的需要较多的鼠标与键盘的操作,就会比较繁琐。那么有没有可以省掉这些繁琐操作的复制粘贴的方法呢? 答案是肯定的,那就是重定向。重定向是一种高效的方法,无需大量的鼠标与键盘操作就可以完成数据的转移。重定向可以分为输入重定向以及输出重定向这两种类型。由于所有程序都有输入或者输出,因此输入和输出的重定向是任何编程语言或脚本语言都自带的功能。 每当你与计算机交互时,重定向就必然会发生。学会使用重定向,不仅可以让你与计算机更好地交互,还可以提高你的工作效率,因此,请让良许为你讲解 Linux 系统中重定向的常见用法: Linux 中的数据流 谈到 Linux 的重定向,就不得不提以下这3种数据流: 输入信息会从 stdin 中读取(标准输入,通常是键盘或鼠标)。 输出信息会被输出到 stdout (标准输出,一个文本文件或者数据流)。 错误信息会被输出到 stderr 。 了解了这些数据流的存在,在你使用 Shell 时,你就可以更好地控制数据的流向了。 在 Linux 系统中,标准输入,标准输出以及标准错误都作为文件存在。 你可以在 /dev 目录下看到它们: $ ls /dev/std* /dev/stderr /dev/stdin /dev/stdout 重定向输出 在 Linux 系统中

201871010104-陈园园 《面向对象程序设计(java)》第四周学习总结

99封情书 提交于 2020-12-18 06:47:54
201871010104-陈园园 《面向对象程序设计(java)》第四周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业要求在哪里 https://www.cnblogs.com/lily-2018/p/11441372.html 作业学习目标 掌握类与对象的基础概念,理解类与对象的关系; 掌握对象与对象变量的关系; 掌握预定义类Date、LocalDate类的常用API; 掌握用户自定义类的语法规则,包括实例域、静态域、构造器方法、更改器方法、访问器方法、静态方法、main方法、方法参数的定义要求;(重点、难点) 掌握对象的构造方法、定义方法及使用要求;(重点); 理解重载概念及用法; 掌握包的概念及用法; 第一部分:总结第四章理论知识 1.类与对象概念  (1)类是构造对象的模板或蓝图,由类构造对象的过程称为创建类的实例。 (2)对象:即数据,对象有三个特性,行为、状态、标识。 2.类与对象的关系 (1)类是对象,事物的描述和抽象,是具有相同属性和行为的对象集合。对象则是该类事物的实例。     (2)类是一个静态的概念,类本身不携带任何数据。当没有为类创建任何对象时,类本身不存在于内存空间 中。对象是一个动态的概念。每一个对象都存在着有别于其它对象的属于自己的独特的属性和行为

MySQL游标循环取出空值的BUG

丶灬走出姿态 提交于 2020-12-18 03:58:41
早上同事要我写个MySQL去除重复数据的SQL,想起来上次写过一篇 MySQL去除重复数据 的博客,使用导入导出加唯一索引实现的,但是那种方式对业务影响较大,所以重新写一个存储过程来删重复数据,这一写就写了一个上午,这种BUG确实是很令人沮丧和浪费时间的。 这里把流程简单的描述一下,删重复数据的逻辑很简单: 1.根据重复判断条件找出重复记录的最小主键(一般是ID列)。 2.在符合重复条件的记录中,把主键大于最小主键的记录全部删掉即可。 假设我有如下表,需要删除start_time和end_time都一样的重复记录。 那么存储过程如下:(需要注意的是mysql存储过程和函数的创建对于缩进的要求极为严格,同样的代码如果直接copy很可能因为缩进的问题出现语法错误,要注意这一点。) DELIMITER // DROP PROCEDURE IF EXISTS Del_Dup_FOR_TEST; CREATE PROCEDURE Del_Dup_FOR_TEST() BEGIN DECLARE min_id INT; DECLARE v_start_time,v_end_time DATETIME; DECLARE v_count INT; DECLARE done INT DEFAULT 0; DECLARE my_cur CURSOR FOR SELECT start_time,end

杨福宇专栏 | 新车用CAN FD,你可能还会被忽悠!

China☆狼群 提交于 2020-12-17 15:06:15
杨福宇老师多年研究CAN总线在汽车中的应用,文章非常有实用价值,为了方便汽车行业的工程师关注杨老师的研究成果,本公众号特别开设了《杨福宇专栏》,敬请期待更多精彩内容。杨老师邮箱:yfy812@163.com,欢迎交流探讨! 当你的控制系统作功能安全评估时,不可避开通信系统的安全指标。ISO CAN FD已经对CAN的错帧漏检作了较多的修补,例如:更长的CRC多项式,可以把填充位也算进去,从而避免填充规则的不对称执行造成的收发位流的错位引起CRC计算中出现错误增多;引入了格雷码的填充位计数器及其奇偶校验位、格式校验位,以更多的校验来避免漏检。 但是这些措施依然有漏洞。这些漏洞造成的漏检率的数值分析异常冗长,这里仅把实例举出,让大家有一个基本的了解。 第一个出错的现象是关键字的读错未能查出来 在ISO CAN FD中有一位BRS用于切换位速率,如果这一位读错了,那么有可能发送节点以高速传送,而接收节点以低速读取。在一定条件下,他们最后又是对齐的,这就跳过了ISO CAN FD的补充检验。这是以前CAN没有的漏错场景,而且是只有一个错。 图1 BRS出错的收发的不同理解 图1中举了速度不同而对齐的情况,其中没有考虑增加填充位时传送对齐的例子,例如高速传送中加了填充位而低速读取时没遇到填充位规则的满足条件,或者反之,相信再花些力气总可以找到这样的例子,不过麻烦些。 以图1中2倍速为例

HP LoadRunner_12.55下载与安装图解流程

你。 提交于 2020-12-17 03:15:40
HP LoadRunner_12.55下载与安装图解流程 LoadRunner,是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找LoadRunner能够对整个企业架构进行测试。通过使用LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。LoadRunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并评估系统性能。 工具/原料 LoadRunner是Mercury Interactive Company著名的性能测试产品。2006年Mercury Interactive Company 被 HP Company收购,因此,Mercury Interactive Company下的LoadRunner产品就成为HP Company旗下产品之一。LoadRunner的下载就要去HP Company官网下载 LoadRunner 12.55地址——》https://www.guru99.com/guide-to-download-and-install-hp-loadrunner-12-0.html 方法/步骤1 下载 1在网页键入HP LoadRunner 12.55下载,看图选择下载方式,如图所示: 2点击“link ”自动跳入注册界面(注册信息必须是英文格式),如图所示:

redis源码之SDS

心不动则不痛 提交于 2020-12-17 00:56:53
#1:SDS介绍 我们在redis中执行命令 set key name 的时候,key和name都是字符串类型,而且字符串(string)在redis中是会经常用到的类型,那redis是如何保存字符串的呢?我们接下来往下看 众所周知,redis是c写的,在c中使用char来保存字符串,并且用\0作为字符串的结尾,但是redis不是这样保存的,redis是使用一种叫SDS的结构来保存字符串的。结构如下(redis3.2以前) struct sdshdr{ int len; int free; char buf[]; } 那么问题来了,redis为什么 会用SDS的结构,而不直接用c语言的字符串,我们来看看他们的区别 ###1:计算字符串长度的区别 对于c来说,计算字符串的长度的方式就是遍历,遇到\0就停止,所以复杂对是O(n),而SDS直接保存了字符串的长度,复杂度是O(1) ###2:保证二进制的安全 因为SDS并不是以\0为结尾的标志,自然就保证了二进制的安全 ###3:内存管理策略(预分配内存和惰性空间释放策略) redis是一个高速的缓存数据库,需要频繁的对字符串进行操作,如果内存分配错误,会导致很严重的后果,就算内存分配没问题,频繁的内存分配也是非常耗费时间的,所以这些都是应该去避免的 #####惰性空间释放策略 在SDS中首先用到了惰性空间释放策略

Codeforces Round #459 (Div. 2) D. MADMAX DFS+博弈

对着背影说爱祢 提交于 2020-12-17 00:02:02
D. MADMAX time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output As we all know, Max is the best video game player among her friends. Her friends were so jealous of hers, that they created an actual game just to prove that she's not the best at games. The game is played on a directed acyclic graph (a DAG) with n vertices and m edges. There's a character written on each edge, a lowercase English letter. Max and Lucas are playing the game. Max goes first, then Lucas, then Max again and so on. Each player has a marble, initially located at

Shodan全世界在线设备搜索引擎

自作多情 提交于 2020-12-15 08:46:58
reproduction from https://danielmiessler.com/study/shodan/ What is Shodan? Shodan is a search engine for finding specific devices, and device types, that exist online. The most popular searches are for things like webcam, linksys, cisco, netgear, SCADA, etc. It works by scanning the entire Internet and parsing the banners that are returned by various devices. Using that information, Shodan can tell you things like what web server (and version) is most popular, or how many anonymous FTP servers exist in a particular location, and what make and model the device may be. Shodan is of particular

《微信小程序入门与实践》

故事扮演 提交于 2020-12-14 23:10:49
7insummer/orange-can: 《微信小程序入门与实践》一书小程序源代码 一般大家惯用的做法是 HTML 用双引号,JS 用单引号,这样在 JS 中拼 HTML 片段不用转义 elem.innerHTML = '<div class="post"></div>'; 数据绑定 DATA BINDING 在真实项目中,业务数据通常放置在自己服务器中,通过http请求访问服务器提供的 RESTful API ,从而实现数据获取。 A RESTful API is an application program interface ( API ) that uses HTTP requests to GET, PUT, POST and DELETE data. 硬编码和软编码的区别 数据绑定的两种形式: 初始化数据的绑定。直接将数据写在Page方法参数的data对象中。 // .js Page({ /** * 页面的初始数据 */ data: { date: "Jan 28 2017", title: "小时候的冰棍儿与雪糕", postImg: "/images/post/post-4.jpg", avatar: "/images/avatar/avatar-5.png", content: "冰棍儿", readingNum: 92, collectionNum: 109,