自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 aarch64-linux-gnu 交叉编译 libpcap

aarch64-linux-gnu 交叉编译 libpcap,本文对交叉编译中的各种问题进行了汇总和分析

2022-04-01 14:52:45 7666

原创 Java容器解析之List,Set,Map及HashMap原理

文章目录Java容器解析之List,Set,Map及HashMap原理List,Set,Map --> CollectionListArrayListLinkedListVectorCopyOnWriteArrayListSetHashSetLinkedHashSetTreeSetMapHashMapLinkedHashMapTreeMap其他(Android)SparseArrayArra...

2020-04-08 16:26:04 817

原创 Android 8.0中Service和Notification

Android 8.0 Notification后台执行限制Android 8.0 为提高电池续航时间而引入的变更之一是,当您的应用进入已缓存状态时,如果没有活动的组件,系统将解除应用具有的所有>>>唤醒锁。此外,为提高设备性能,系统会限制未在前台运行的应用的某些行为。具体而言:现在,在后台运行的应用对后台服务的访问受到限制。应用无法使用其清单注册大部分隐式广播(即,...

2018-09-26 17:20:35 11069 4

原创 TMS320F28335程序烧写FLASH

DSP TMS320F28335 FLASH烧写1.检查map文件在烧写之前,首先检查Debug目录下的.map文件,如果Debug文件下没有,检查其他的文件夹,每个项目中都会有.map文件。打开.map文件,显示内容如下所示(部分内容,并非map文件所有内容):...MEMORY CONFIGURATION name origin length

2017-10-27 14:46:50 15933 3

原创 03_ACS550变频器RS485Modbus通信-CRC校验

Modbus CRC校验Modbus采用的为CRC校验方式,生成16位的校验码,但是不同的协议CRC16采用的校验方式是有所区别的。对于CRC16而言,不同的协议之间可能会有如下的不同。多项式选择的不同。例如Modbus使用的多项式为0x8005,CCITT使用的多项式为0x1021。初始值的不同。例如Modbus协议CRC结果寄存器装载的初始值为0xFFFF,CCITT协议CRC结果寄存器装载

2017-10-27 14:44:51 2782

原创 02_ACS550变频器RS485Modbus通信-通信命令

ACS550变频器Modbus寻址当我们能正确进行通信的时候,即可开始对变频器进行控制。Modbus功能代码比较多,其中我们在对ACS550进行控制的时候,用的比较多的为03和06。03:读取4x寄存器。06:写单个4x寄存器。因为03和06直接映射为4x对应的寄存器,因此我们在进行控制的时候,比较简单,例如:0000对应的为40001寄存器,0001对应的为40002寄存器,00032对应的为40

2017-10-27 14:43:11 9368

原创 01_ACS550变频器RS485Modbus通信-通讯连接

当我们以上参数设置完成之后(9802和53组参数设置完即可),就可以测试通过RS485与变频器的通讯了,因为变频器与485之间是通过Modbus RTU协议进行通讯的,因此需要注意的是CRC校验的问题,关于CRC校验单独再说,可以通过串口工具发送以下指令进行测试通讯是否成功。

2017-10-27 14:41:29 16470

原创 ReactNative植入原生应用(windows)

ReactNative植入原生应用(windows)当我们在开发android应用的时候,我们可能只是希望对现有应用中的某些部分用ReactNative进行替换,那么我们就需要在我们的项目中植入ReactNative.首先我们需要满足如下两个条件: 1.一个已有的,基于gradle构建的Android应用。 2.Node.js。添加ReactNative依赖首先在我们的app的build.gra

2016-04-09 14:37:05 2539

原创 ReactNative创建原生模块

ReactNative创建原生模块编写模块注册模块使用原生模块ReactNative创建原生模块有时候我们需要使用某一模块,而ReactNative可能并没有对其进行包装,那么我们就可以自己实现该模块的封装,以Toast为例。编写模块package com.myproject;import android.widget.Toast;import com.facebook.react.brid

2016-04-06 11:07:49 1411

原创 View的工作原理

View的工作原理MeasureSpecmeasure过程View的measureViewGroup的measure获取View的测量值layout过程draw过程View的工作原理View的主要工作流程包括measure,layout,draw。一个View如果要显示在界面上,首先需要通过measure方法调用onMeasure方法对View进行测量,在onMeasure方法用又会

2016-04-05 20:35:10 672

原创 ReactNative列表ListView

ListViewdataSourcerenderRowListView的点击ListView在android中,如果我们需要显示一个ListView,有两项是比不可少的,首先是ListView的数据源,其次是ListView每个item的样式。ReactNative中一样。首先我们来看一个简单的例子: constructor(props) { super(props);

2016-03-23 10:16:25 17127 3

原创 ReactNative页面跳转Navigator

React Native页面跳转NavigatorNavigator即导航器,通过导航器我们可以实现应用在不同的页面之间进行跳转。 导航器会建立一个路由栈,用来弹出,推入或者替换路由状态。该路由栈相当于android原生中使用的任务栈。renderScene该方法就相当于我们使用的startActivity方法了,我们可以在该方法中设置需要渲染的场景(跳转的页面),该方法接收两个参数(必要参数),

2016-03-18 21:54:53 25531 7

原创 Android动画--Activity过渡动画 Transition

内容变换共享元素变换内容变换在android 5.0之后我们可以使用google提供的Transition框架来实现Activity之间或者Fragment的动画变换效果。 虽然在之前的版本中,我们可以使用Activity的overridePendingTransition()和Fragment的setCustomAnimation()来实现Activity或者Fragment之间的动画切换,

2016-03-09 21:11:06 6049

原创 异常情况下Activity数据的保存和恢复

异常情况下Activity数据的保存和恢复如何保存和恢复数据如何防止Activity重建异常情况下Activity数据的保存和恢复如何保存和恢复数据正常情况下Activity的生命周期比较简单,不再赘述,但是在某些情况下,例如横竖屏的切换,我们知道Activity会被销毁重建,这个时候用户可能已经填写了一些信息,当横竖屏切换时,如果不进行处理,填写的信息就会消失,这种情况下我们需要怎么处理呢?

2016-03-08 19:18:41 3952

原创 Android四大组件之Service的使用

Android四大组件之Service的使用Service与Thread的区别Service的使用Service的绑定Service的生命周期IntentServiceAndroid四大组件之Service的使用Service与Thread的区别 Thread的运行是独立于Activity的,也就是说当一个Activity被finish掉之后,如果没有主动停止Thread或者Thre

2016-03-02 13:13:44 369

原创 Android WebView的使用

Android WebView的使用使用WebView浏览网页使用WebView加载Html代码使用WebView中的JavaScript调用Android方法Android WebView的使用使用WebView浏览网页WebView组建是一个浏览器的实现,可以使得网页能够轻松内嵌到app里,同时还可以直接跟js相互调用。WebView有两个重要方法:setWebViewClient辅助We

2016-02-26 11:07:07 559

原创 Android线程和线程池(四)--Android线程池

Android线程池为何使用线程池ThreadPoolExecutor参数详解参数设置线程池示例Android中线程池的分类FixedThreadPoolCachedThreadPoolScheduledThreadPoolSingleThreadExecutorAndroid线程池为何使用线程池我们可以想想这样一个场景,我们要开一家餐厅,每个顾客来吃饭我们都需要给他一个盘子,

2016-02-24 09:20:11 926

原创 Android线程和线程池(三)--IntentService

IntentServiceIntentService是一种特殊的Service,他继承了Service,并能够处理异步请求,是一个抽象类,因此在我们使用的时候必需创建它的子类才能够使用IntentService。IntentService可用于执行后台耗时的任务,当任务执行完成之后会自动停止,同时由于IntentService是服务的原因,和Activity是同级的,因此他的优先级比线程要高很多,因

2016-02-24 09:18:40 600

原创 Android线程和线程池(二)--HandlerThread

HandlerThreadHandlerThread继承了Thread,它是一种可以使用Handler的Thread,它的实现也很简单,就是在run方法中通过Looper。prepare()来创建消息队列,并通过Looper.loop()来开启消息循环,这样在实际的使用中就允许在HandlerThread中创建Handler了。HandlerThread的run方法源码如下所示: @Overr

2016-02-24 09:16:44 741

原创 Android线程和线程池(一)--AsyncTask

AsyncTaskAsyncTaskAsyncTask可以在线程池中执行后台任务,然后将执行的进度和执行结果传递到主线程中来更新UI; public abstract class AsyncTask<Params, Progress, Result>可以看到,AsyncTask是一个抽象类,同时提供了三个泛型参数:1.Params -> 表示参数的类型;2.Progress -> 表示后台任

2016-02-24 09:05:52 498

原创 PHP环境搭建

PHP入门及环境搭建基本知识apache的安装MySql的安装PHP的安装配置php让Apache可以解析phpphp的配置WampServer的安装网站其他配置修改虚拟目录修改首页修改端口号修改DNS虚拟主机PHP入门及环境搭建基本知识如何查看本地被占用的端口号: netstat -anocmd下运行该命令可以看到端口的使用情况。apache的安装从官网上下载需要的

2016-01-31 22:41:02 2183

原创 Android滑动冲突--代码

Android滑动冲突解决的实现在之前的章节Anddroid滑动冲突中我们分析了Android的滑动冲突的解决办法,本节贴出实现的代码供参考,代码中注释的比较详细,就不再过多介绍。在这段代码中,我们自定义了一个可以水平滚动的ViewGroup,然后在该ViewGroup中放入listview以制造滑动冲突,自定义控件如下代码所示:package com.example.zhangyi.hdct;im

2016-01-28 21:10:30 585

原创 Android滑动冲突

Android滑动冲突如何解决滑动冲突内部拦截法外部拦截法分析滑动冲突的解决Android滑动冲突Android的滑动冲突主要有两种情况: 1. 外部滑动方向和内部滑动方向不一致–类似viewpager中放入listview 2. 外部滑动方向和内部滑动方向相同 其他的则是将这两种冲突进行嵌套的情况。如何解决滑动冲突对于滑动冲突,我们只需要各自拦截自己需要的事件即可。 那么如何拦截

2016-01-28 17:26:38 995 2

原创 View的事件分发拦截

View的事件分发机制view的点击事件原理由源码验证iew的事件原理ViewGroup对事件的分发View对事件的分发View的事件分发机制1.view的点击事件原理View的点击事件的分发,即对MotionEvent事件的分发,当一个MotionEvent产生后,系统需要把该事件传递到一个具体的View进行处理,该过程即为View事件的分发,在MotionEvent的传递过程中,需要经历

2016-01-28 09:18:17 1053

原创 Android动画--属性动画

在上一篇Android动画–视图动画中提到,Android视图动画有一个很大的弊端,即视图动画只是在视觉上将动画进行呈现,但是事件响应位置还是在动画之前的位置,例如我们将一个View使用位移动画改变位置,并使用animation.setFillAfter(true)保留结束时的状态,此时点击view所在的位置,不会进行响应,只有点击之前的位置才能响应事件。Android的属性动画却可以很好的解决这个

2015-12-23 22:55:34 640

原创 Android动画--视图动画

Android 动画–视图动画1.AlphaAnimation–透明度动画AlphaAnimation aa = new AlphaAnimation(0,1);aa.setDuration(2000);view.startAnimation(aa);AlphaAnimation 的参数有两个:AlphaAnimation(float fromAlpha, float toAlpha)from

2015-12-19 22:35:44 641

空空如也

空空如也

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

TA关注的人

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