- binder通信过程中,服务端和客户端异常处理
Ed_Lannister
起因是在使用第三方app的时候,鼠标进入第三方app后,退出进入其他app卡顿的问题。通过分析log发现有大量的System.err:android.os.DeadObjectException产生。这个异常的产生是因为app和鼠标服务组成的cs模型中,appclient突然挂掉导致,服务端产生DeadObjectException。这里涉及到binder的死亡监听机制对服务端和客户端的处理,客户
- 【无标题】
小铁-Android
AndroidBleAPI33
AndroidBluetoothGattCharacteristic的setValue(byte[]value)方法writeCharacteristic(BluetoothGattCharacteristiccharacteristic)方法过期此方法在API级别33中已被否决。推荐用此方法将特征值直接传入BluetoothGatt#writeCharacteristic(BluetoothGa
- Android BLE BluetoothGatt蓝牙通信封装成InputStream和OutputStream
巨大八爪鱼
Androidandroid蓝牙
此类封装了BLE蓝牙的数据收发操作,使用起来很方便。构造函数DeviceConnection(BluetoothDevicedevice,Contextcontext)的参数分别是要连接的蓝牙设备以及当前Activity对象。调用getInputStream获取输入流,用于接收数据。调用getOutputStream获取输出流,用于发送数据。waitForConnection函数用于等待蓝牙连接建
- 蓝牙框架FastBle原理详解
飞雨的夏天
android蓝牙通信低功耗蓝牙蓝牙框架源码分析
搞过蓝牙开发的小伙伴都比较清楚,android4.3之后低功耗的蓝牙隐藏着很多坑,比如搜索设备如果频繁的调用startScan方法是会不回调搜索接口的,这是因为蓝牙底层做了优化;比如蓝牙关闭重新搜索搜不到设备或者连接不上设备有可能你没调用BluetoothGatt.close()方法,在蓝牙断开或主动断开的时候你必须调用close方法,因为手机蓝牙可以存在的连接的数量是有限制的,一般是最多存在多少
- Android 蓝牙开发清除GATT缓存
GODANDDEVIL
“android.bluetooth.BluetoothGatt”类中有一个“refresh”方法,该方法是清理GATT层缓存的方法,但是该方法是隐藏的,隐藏的方法我们是无法直接调用的,如果非要使用,可以采用java的反射机制进行调用,实现如下:/***Clearstheinternalcacheandforcesarefreshoftheservicesfromthe*remotedevice.
- android.os.DeadObjectException
cfryan1990
x5中的出错堆栈出错堆栈其中堆栈中java.lang.RuntimeException:Packagemanagerhasdiedandroid.app.ApplicationPackageManager.getPackageInfo(ApplicationPackageManager.java:116)我们采用的是SDKversion是43500的,根据堆栈信息com.tencent.smtt.
- BLE 开发爬坑
做个积极向上的普通人
记录一个ble连接断开连接断开多次会导致写入多次的问题,mBluetoothGatt.close();//BluetoothGatt必须在上一次断开连接的时候close掉。否则,怎么回收垃圾都没用,还会觉得是OOM直接置空BluetoothGatt也没用。
- Android 关于蓝牙BLE引发Gatt133的问题
Kliven1
最近开发蓝牙,在蓝牙建立连接的时候出现了以下错误:onConnectFail:ConnectException{gattStatus=133,bluetoothGatt=android.bluetooth.BluetoothGatt@c6068f6}BleException{code=101,description='GattExceptionOccurred!'}nRF测试也是可以正常连接的,但
- Android BLE 开发
菜鸟xiaowang
androidjavaapache
connect()和connectGatt()都是连接BLE设备的方法,但二者用法不同。connectGatt是BluetoothDevice类下的方法,功能是向BLE设备发起连接,然后得到一个BluetoothGatt类型的返回值,利用这个返回值可以进行下一步操作。connect是BluetoothGatt类下的方法,功能是re-connect,重新连接。如果BLE设备和APP已经连接过,但是因
- deadObjectException异常
耿之伟
deadObjectException异常:android.os.DeadObjectException:Transactionfailedonsmallparcel;remoteprocessprobablydiedatandroid.os.BinderProxy.transactNative(NativeMethod)atandroid.os.BinderProxy.transact(Bind
- android.os.DeadObjectException异常
超__越
今天出现了android.os.DeadObjectException异常。那么DeadObjectException什么意思呢,字面意思当前对象“死”了,也就是没有了呗!出现这个问题其实大多源于当前程序异常崩溃,进程直接被杀死,但是as或者其他的软件未能捕获到bug所以就爆出了这个DeadObjectException异常,所以出这个问题大多数是因为程序崩溃引起的调用的对象不存在,因为它所在ap
- 蓝牙通信
巭孬别惹佳乐
蓝牙通信的大概步骤如下:1,首先开启蓝牙2,搜索可用设备3,创建蓝牙socket,获取输入输出流4,读取和写入数据5,断开连接关闭蓝牙首先要知道几个类,BluetoothAdapter,BluetoothGatt,BluetoothDevice,BluetoothCattService,BluetoothCattCharacteristic。第一个是蓝牙设配器,对蓝牙的操作都需要用到它,很重要,B
- android.os.DeadObjectException解决办法
打酱油的日光灯
遇到一个问题太奇怪了具有随机性:android.os.DeadObjectException:Transactionfailedonsmallparcel;remoteprocessprobablydiedatandroid.os.BinderProxy.transactNative(NativeMethod)atandroid.os.BinderProxy.transact(Binder.jav
- BLE之旅-gatt profile(一)
帝都-辉
Androidble4.0主从模式通信ble4.0通信
从事安卓开发四年余了,但是做蓝牙方向也小有一年多了。以前做开发的时候很少注重积累知识点,但是最近做的不只是蓝牙方向,还有红外和近场nfc通信。感觉很多东西混在一起了真的跟武功秘籍一样,不同场景采用不同的技术实现更为方便。好了不吹牛了,进入正题,主要总结ble开发的知识点。但是只针对gattfrofile通信,其实也是att。主要的几个类:主模式下有BluetoothGatt,BluetoothGa
- android-BluetoothProfile
zJianFlys
翻译-android
BluetoothProfilepublicinterfaceBluetoothProfileandroid.bluetooth.BluetoothProfileKnownIndirectSubclassesBluetoothA2dp,BluetoothGatt,BluetoothGattServer,BluetoothHeadset,BluetoothHealthPublicAPIsforthe
- Android的android.os.DeadObjectException异常
贤泽
Android
Androidapp集成bugly之后就收到了android.os.DeadObjectException,解决方式是在manifest中设置application的硬件加速为false:android:hardwareAccelerated="false"异常原因:deadObjectException异常,说明应用的service已经停止;要么是从操作系统中丧生,要么从应用程序中终止;很有可能
- Android之android.os.DeadObjectException原因
chen.yu
Andriod积累
问题:今天看到客户的手机出现了andorid.os.DeadObjectExceptionandroid.os.DeadObjectException07-1318:28:45.398:W/System.err(32272):atandroid.os.BinderProxy.transact(NativeMethod)原因:我们项目有2个进程由于remote服务进程挂了回调时找不到callba
- android.os.DeadObjectException问题解决
HiWorldNice
Android
android.os.DeadObjectException。在子线程中进行了联网操作,在联网操作中使用了ProgressDialog,然后出现了android.view.ViewRootImpl$CalledFromWrongThreadException:Onlytheoriginalthreadthatcreatedaviewhierarchycantouchitsviews这个异常。Pro
- 解决android.os.DeadObjectException问题
一杯苦芥
Android
解决办法:在AndroidManifest.xml文件的application标签中,添加android:hardwareAccelerated="false"(禁用硬件加速)。
- Android中BLE连接出现“BluetoothGatt status 133”的解决方法
APersonOnTheRoad
蓝牙
http://www.loverobots.cn/android-ble-connection-solution-bluetoothgatt-status-133.html前言最近的工作方向一直在低功耗蓝牙方面,也就是BLE(BluetooothLowEnergy)。要说起蓝牙,之前能够想到的应用也就是蓝牙耳机、蓝牙手柄之类的。本以为蓝牙这个技术会慢慢没落下去,不过,现在随着智能设备的流行,出现了
- Ble蓝牙连接以后,getServices返回空的问题
饭饭格格
最近做蓝牙ble,在ble连上以后发现getServices返回空,记录一下这个问题解决办法:其实是在脸上蓝牙后没有做bluetoothGatt.discoverServices();所以在下面这个回调中加上publicvoidonConnectionStateChange(BluetoothGattgatt,intstatus,intnewState){super.onConnectionSta
- 低功耗蓝牙(BLE)之概念理解
qmsggg
AndroidSystemRDAndroidAppFunctionsandroid蓝牙BLE
如上图所示:Android中进行蓝牙开发需要使用到的类的执行过程是:使用BluetoothAdapter.startLeScan来扫描低功耗蓝牙设备在扫描到设备的回调函数中会得到BluetoothDevice对象,并使用BluetoothAdapter.stopLeScan停止扫描使用BluetoothDevice.connectGatt来获取到BluetoothGatt对象执行Bluetooth
- Android低功耗蓝牙应用开发获取的服务UUID
zhangjs0322
蓝牙&&BLEAndroid
Android低功耗蓝牙应用程序开始时获取到的蓝牙血压计所有服务的UUID如下所示:08-2809:05:48.488:D/BluetoothGatt(4251):onGetService()-Device=08:7C:BE:21:D1:24UUID=00001800-0000-1000-8000-00805f9b34fb08-2809:05:48.489:D/BluetoothGatt(4251
- Android 蓝牙(BLE)连接,发送,接收消息
muhuitao
Android
MainActivitypackagecom.example.lihui.bluetooth;importandroid.app.Activity;importandroid.bluetooth.BluetoothAdapter;importandroid.bluetooth.BluetoothDevice;importandroid.bluetooth.BluetoothGatt;importa
- Android BLE 蓝牙低功耗教程,中央BluetoothGatt和周边BluetoothGattServer的实现
Chris_Wang1
BLEAndroid
Android4.3规范了BLE的API,但是直到目前的4.4,还有些功能不完善。在BLE协议中,有两个角色,周边(Periphery)和中央(Central);周边是数据提供者,中央是数据使用/处理者;在iOSSDK里面,可以把一个iOS设备作为一个周边,也可以作为一个中央;但是在AndroidSDK里面,直到目前最新的Android4.4.2,Android手机只能作为中央来使用和处理数据;那
- 运用蓝牙的步骤及方法的总结
Yiyi_G
项目
在写这个App之前我上官网找了他的官方文档,里面有教大家怎么查找设备,配对设备,连接设备,使设备可发现已经如何传输数据。但是官网上的主要是面向于手机的连接(自认为),用Socket连接,虽然我还不太清楚Socket原理和机制。我做的这个是连接一个自定义的模块(CC2540),profile是自定义的,用socket好像连接不上,我是用BluetoothGatt连接的。一般手机上的每一个Servic
- Android ble 蓝牙4.0总结——基础版
礼雄_jrue
android知识
一、了解api及概念1.1BluetoothGatt继承BluetoothProfile,通过BluetoothGatt可以连接设备(connect),发现服务(discoverServices),并把相应地属性返回到BluetoothGattCallback1.2BluetoothGattCharacteristic相当于一个数据类型,它包括一个value和0~n个value的描述(Blue
- BluetoothGatt﹕ android.os.DeadObjectException
luohaowang320
蓝牙4.0关闭蓝牙后再打开,再连接设备时,总会报错BluetoothGatt﹕android.os.DeadObjectException。而且,更恶心的是,trycatch竟然无法捕获这个异常,我勒个擦擦的擦擦。经验证分析,可能是蓝牙重新打开后,服务还未绑定完成,就去调用connect连接,导致的。解决方案:监听蓝牙打开事件,然后重新初始化BluetoothAdapter对象,并且延时调用con
- android BluetoothGatt.writeCharacteristic()写入返回false
布衣秀才
http://stackoverflow.com/questions/23879869/bluetoothgatt-writecharacteristic-always-returns-false服务和写入特性在每次需要写入的时候重新获取,只有BluetoothGatt反复使用:byte[]data_to_write;//YourdataBluetoothManagermBluetoothMana
- 蓝牙4.0总结
三少爷的码
搞了一段时间的蓝牙,现在闲了下来,总结一下具体的流程。沉淀一下接下来的流程中会涉及到一下几个类,现在提前说明一下作用BluetoothManager蓝牙管理类,用于获取蓝牙适配器,蓝牙连接状态BluetoothAdapter扫描,获取蓝牙设备的类BluetoothGatt管理远程蓝牙设备内部的service,特征值BluetoothDevice蓝牙设备的封装类,用于获取address,连接等作用B
- ASM系列五 利用TreeApi 解析生成Class
lijingyao8206
ASM字节码动态生成ClassNodeTreeAPI
前面CoreApi的介绍部分基本涵盖了ASMCore包下面的主要API及功能,其中还有一部分关于MetaData的解析和生成就不再赘述。这篇开始介绍ASM另一部分主要的Api。TreeApi。这一部分源码是关联的asm-tree-5.0.4的版本。
在介绍前,先要知道一点, Tree工程的接口基本可以完
- 链表树——复合数据结构应用实例
bardo
数据结构树型结构表结构设计链表菜单排序
我们清楚:数据库设计中,表结构设计的好坏,直接影响程序的复杂度。所以,本文就无限级分类(目录)树与链表的复合在表设计中的应用进行探讨。当然,什么是树,什么是链表,这里不作介绍。有兴趣可以去看相关的教材。
需求简介:
经常遇到这样的需求,我们希望能将保存在数据库中的树结构能够按确定的顺序读出来。比如,多级菜单、组织结构、商品分类。更具体的,我们希望某个二级菜单在这一级别中就是第一个。虽然它是最后
- 为啥要用位运算代替取模呢
chenchao051
位运算哈希汇编
在hash中查找key的时候,经常会发现用&取代%,先看两段代码吧,
JDK6中的HashMap中的indexFor方法:
/**
* Returns index for hash code h.
*/
static int indexFor(int h, int length) {
- 最近的情况
麦田的设计者
生活感悟计划软考想
今天是2015年4月27号
整理一下最近的思绪以及要完成的任务
1、最近在驾校科目二练车,每周四天,练三周。其实做什么都要用心,追求合理的途径解决。为
- PHP去掉字符串中最后一个字符的方法
IT独行者
PHP字符串
今天在PHP项目开发中遇到一个需求,去掉字符串中的最后一个字符 原字符串1,2,3,4,5,6, 去掉最后一个字符",",最终结果为1,2,3,4,5,6 代码如下:
$str = "1,2,3,4,5,6,";
$newstr = substr($str,0,strlen($str)-1);
echo $newstr;
- hadoop在linux上单机安装过程
_wy_
linuxhadoop
1、安装JDK
jdk版本最好是1.6以上,可以使用执行命令java -version查看当前JAVA版本号,如果报命令不存在或版本比较低,则需要安装一个高版本的JDK,并在/etc/profile的文件末尾,根据本机JDK实际的安装位置加上以下几行:
export JAVA_HOME=/usr/java/jdk1.7.0_25  
- JAVA进阶----分布式事务的一种简单处理方法
无量
多系统交互分布式事务
每个方法都是原子操作:
提供第三方服务的系统,要同时提供执行方法和对应的回滚方法
A系统调用B,C,D系统完成分布式事务
=========执行开始========
A.aa();
try {
B.bb();
} catch(Exception e) {
A.rollbackAa();
}
try {
C.cc();
} catch(Excep
- 安墨移动广 告:移动DSP厚积薄发 引领未来广 告业发展命脉
矮蛋蛋
hadoop互联网
“谁掌握了强大的DSP技术,谁将引领未来的广 告行业发展命脉。”2014年,移动广 告行业的热点非移动DSP莫属。各个圈子都在纷纷谈论,认为移动DSP是行业突破点,一时间许多移动广 告联盟风起云涌,竞相推出专属移动DSP产品。
到底什么是移动DSP呢?
DSP(Demand-SidePlatform),就是需求方平台,为解决广 告主投放的各种需求,真正实现人群定位的精准广
- myelipse设置
alafqq
IP
在一个项目的完整的生命周期中,其维护费用,往往是其开发费用的数倍。因此项目的可维护性、可复用性是衡量一个项目好坏的关键。而注释则是可维护性中必不可少的一环。
注释模板导入步骤
安装方法:
打开eclipse/myeclipse
选择 window-->Preferences-->JAVA-->Code-->Code
- java数组
百合不是茶
java数组
java数组的 声明 创建 初始化; java支持C语言
数组中的每个数都有唯一的一个下标
一维数组的定义 声明: int[] a = new int[3];声明数组中有三个数int[3]
int[] a 中有三个数,下标从0开始,可以同过for来遍历数组中的数
- javascript读取表单数据
bijian1013
JavaScript
利用javascript读取表单数据,可以利用以下三种方法获取:
1、通过表单ID属性:var a = document.getElementByIdx_x_x("id");
2、通过表单名称属性:var b = document.getElementsByName("name");
3、直接通过表单名字获取:var c = form.content.
- 探索JUnit4扩展:使用Theory
bijian1013
javaJUnitTheory
理论机制(Theory)
一.为什么要引用理论机制(Theory)
当今软件开发中,测试驱动开发(TDD — Test-driven development)越发流行。为什么 TDD 会如此流行呢?因为它确实拥有很多优点,它允许开发人员通过简单的例子来指定和表明他们代码的行为意图。
TDD 的优点:
&nb
- [Spring Data Mongo一]Spring Mongo Template操作MongoDB
bit1129
template
什么是Spring Data Mongo
Spring Data MongoDB项目对访问MongoDB的Java客户端API进行了封装,这种封装类似于Spring封装Hibernate和JDBC而提供的HibernateTemplate和JDBCTemplate,主要能力包括
1. 封装客户端跟MongoDB的链接管理
2. 文档-对象映射,通过注解:@Document(collectio
- 【Kafka八】Zookeeper上关于Kafka的配置信息
bit1129
zookeeper
问题:
1. Kafka的哪些信息记录在Zookeeper中 2. Consumer Group消费的每个Partition的Offset信息存放在什么位置
3. Topic的每个Partition存放在哪个Broker上的信息存放在哪里
4. Producer跟Zookeeper究竟有没有关系?没有关系!!!
//consumers、config、brokers、cont
- java OOM内存异常的四种类型及异常与解决方案
ronin47
java OOM 内存异常
OOM异常的四种类型:
一: StackOverflowError :通常因为递归函数引起(死递归,递归太深)。-Xss 128k 一般够用。
二: out Of memory: PermGen Space:通常是动态类大多,比如web 服务器自动更新部署时引起。-Xmx
- java-实现链表反转-递归和非递归实现
bylijinnan
java
20120422更新:
对链表中部分节点进行反转操作,这些节点相隔k个:
0->1->2->3->4->5->6->7->8->9
k=2
8->1->6->3->4->5->2->7->0->9
注意1 3 5 7 9 位置是不变的。
解法:
将链表拆成两部分:
a.0-&
- Netty源码学习-DelimiterBasedFrameDecoder
bylijinnan
javanetty
看DelimiterBasedFrameDecoder的API,有举例:
接收到的ChannelBuffer如下:
+--------------+
| ABC\nDEF\r\n |
+--------------+
经过DelimiterBasedFrameDecoder(Delimiters.lineDelimiter())之后,得到:
+-----+----
- linux的一些命令 -查看cc攻击-网口ip统计等
hotsunshine
linux
Linux判断CC攻击命令详解
2011年12月23日 ⁄ 安全 ⁄ 暂无评论
查看所有80端口的连接数
netstat -nat|grep -i '80'|wc -l
对连接的IP按连接数量进行排序
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
查看TCP连接状态
n
- Spring获取SessionFactory
ctrain
sessionFactory
String sql = "select sysdate from dual";
WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();
String[] names = wac.getBeanDefinitionNames();
for(int i=0; i&
- Hive几种导出数据方式
daizj
hive数据导出
Hive几种导出数据方式
1.拷贝文件
如果数据文件恰好是用户需要的格式,那么只需要拷贝文件或文件夹就可以。
hadoop fs –cp source_path target_path
2.导出到本地文件系统
--不能使用insert into local directory来导出数据,会报错
--只能使用
- 编程之美
dcj3sjt126com
编程PHP重构
我个人的 PHP 编程经验中,递归调用常常与静态变量使用。静态变量的含义可以参考 PHP 手册。希望下面的代码,会更有利于对递归以及静态变量的理解
header("Content-type: text/plain");
function static_function () {
static $i = 0;
if ($i++ < 1
- Android保存用户名和密码
dcj3sjt126com
android
转自:http://www.2cto.com/kf/201401/272336.html
我们不管在开发一个项目或者使用别人的项目,都有用户登录功能,为了让用户的体验效果更好,我们通常会做一个功能,叫做保存用户,这样做的目地就是为了让用户下一次再使用该程序不会重新输入用户名和密码,这里我使用3种方式来存储用户名和密码
1、通过普通 的txt文本存储
2、通过properties属性文件进行存
- Oracle 复习笔记之同义词
eksliang
Oracle 同义词Oracle synonym
转载请出自出处:http://eksliang.iteye.com/blog/2098861
1.什么是同义词
同义词是现有模式对象的一个别名。
概念性的东西,什么是模式呢?创建一个用户,就相应的创建了 一个模式。模式是指数据库对象,是对用户所创建的数据对象的总称。模式对象包括表、视图、索引、同义词、序列、过
- Ajax案例
gongmeitao
Ajaxjsp
数据库采用Sql Server2005
项目名称为:Ajax_Demo
1.com.demo.conn包
package com.demo.conn;
import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;
//获取数据库连接的类public class DBConnec
- ASP.NET中Request.RawUrl、Request.Url的区别
hvt
.netWebC#asp.nethovertree
如果访问的地址是:http://h.keleyi.com/guestbook/addmessage.aspx?key=hovertree%3C&n=myslider#zonemenu那么Request.Url.ToString() 的值是:http://h.keleyi.com/guestbook/addmessage.aspx?key=hovertree<&
- SVG 教程 (七)SVG 实例,SVG 参考手册
天梯梦
svg
SVG 实例 在线实例
下面的例子是把SVG代码直接嵌入到HTML代码中。
谷歌Chrome,火狐,Internet Explorer9,和Safari都支持。
注意:下面的例子将不会在Opera运行,即使Opera支持SVG - 它也不支持SVG在HTML代码中直接使用。 SVG 实例
SVG基本形状
一个圆
矩形
不透明矩形
一个矩形不透明2
一个带圆角矩
- 事务管理
luyulong
javaspring编程事务
事物管理
spring事物的好处
为不同的事物API提供了一致的编程模型
支持声明式事务管理
提供比大多数事务API更简单更易于使用的编程式事务管理API
整合spring的各种数据访问抽象
TransactionDefinition
定义了事务策略
int getIsolationLevel()得到当前事务的隔离级别
READ_COMMITTED
- 基础数据结构和算法十一:Red-black binary search tree
sunwinner
AlgorithmRed-black
The insertion algorithm for 2-3 trees just described is not difficult to understand; now, we will see that it is also not difficult to implement. We will consider a simple representation known
- centos同步时间
stunizhengjia
linux集群同步时间
做了集群,时间的同步就显得非常必要了。 以下是查到的如何做时间同步。 在CentOS 5不再区分客户端和服务器,只要配置了NTP,它就会提供NTP服务。 1)确认已经ntp程序包: # yum install ntp 2)配置时间源(默认就行,不需要修改) # vi /etc/ntp.conf server pool.ntp.o
- ITeye 9月技术图书有奖试读获奖名单公布
ITeye管理员
ITeye
ITeye携手博文视点举办的9月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。 9月试读活动回顾:http://webmaster.iteye.com/blog/2118112本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《NFC:Arduino、Andro