- MTK平台-- 如何学习Bluedroid 的GATT
专业开发者
蓝牙学习
一GATT定义GATT是低功耗蓝牙属性应用规范,应用于主机和从设备之间的数据传输。二MTK平台Bluedroid框架相关源码介绍vendor/mediatek/proprietary/packages/modules/Bluetooth/android/app/src/com/android/bluetooth/gatt/GattService.java(用于GATT(GenericAttribu
- Android蓝牙协议栈fluoride(一) - 概述
小小鸟飞呀飞
android蓝牙协议栈fluorideandroid蓝牙协议栈fluoridebtstack
发展Android4.2之前的版本采用Linux官方的蓝牙协议栈BlueZ,Android4.2开始使用google和Broadcom共同开发的Bluedroid来替代BlueZ,但早期的Bluedroid并不完善,存在较多问题,更新迭代后将其更名为fluoride。接下来的系列文章将逐步分析该协议栈的实现。蓝牙框架Android7.x及更低版本的架构应用框架处于应用框架级别的是应用代码,它利用a
- A2DP Source如何从android系统拿到音频数据
sdkdlwk
AndroidBTandroidbt
Android13简单来说就是两条本地socket通道,分别使用文件:#defineA2DP_CTRL_PATH"/data/misc/bluedroid/.a2dp_ctrl"#defineA2DP_DATA_PATH"/data/misc/bluedroid/.a2dp_data"A2DP_CTRL_PATH是控制通道,A2DP_DATA_PATH是数据通道。packages\modules\
- 聊聊生活中的蓝牙
飞哥物联
随着物联网的发展,蓝牙也越来越受欢迎,越来越多的设备都带有蓝牙。比如现在快成为身体一部分的手机,蓝牙是标配。手机的蓝牙是双模的,支持传统蓝牙和低功耗蓝牙(以下简称BLE)。安卓4.2之前版本使用的是高通开发BlueZ协议栈,安卓4.2开始使用的是谷歌和博通公司一起开发的Bluedroid协议栈。手机蓝牙协议栈支持所有的应用规范,如A2DP,AVRCP等,这里就不详述这些了。随着蓝牙技术联盟的Mes
- Android系统开发中遇到的蓝牙问题
Love~妍芯~燕~Love
系统开发android蓝牙
一、关于蓝牙的加载流程1,插入USB蓝牙后,bluedroid会读取设备型号,然后添加设备,同时会去打开蓝牙驱动2,蓝牙驱动的打开是调用的安卓标准的硬件设备流程,BluetoothManagerService会调用jni,jni会通过调用hardware下面的hw_get_module来获取蓝牙库文件,(system/lib/hw/)。3,hw_get_module在获取到后,会调用内核rtk_b
- RK3588 Android12调试USB 蓝牙模块
GitFranc
Android无线网络通信android网络网络协议
一、蓝牙的架构Android4.2之后采用bluedroid作为协议;整体由bluetooth.apk,bluedroid,libbt-vendor三个部分组成。bluetooth.apk:作为蓝牙服务进程,通过libblueooth_jni层获取bluetooth*.default.so提供的bt_interface_t控制接口并状态与数据回调注册到bluetooth*.default.so;完
- 博通蓝牙驱动linux,基于Android8.1的博通bcm89342蓝牙驱动的驱动移植记录-Go语言中文社区...
weixin_39546092
博通蓝牙驱动linux
说明本文档是基于Android8.1版本的一款博通蓝牙的驱动移植全过程记录。本驱动是通过/dev/ttyS2和蓝牙进行通信。因为较android以前的版本有很大变化尤其是上层关于蓝牙协议栈的部分,以前老版本用Bluez再到后来的BlueDroid,到现在的集到/system/bt下。蓝牙的固件烧录方式也有变化,以前broadcom蓝牙用systembluetoothbrcm_patchram_pl
- 蓝牙协议-----之pan profile on bluedroid
码里行间
转发自https://blog.csdn.net/xiaojsj111/article/details/375978591蓝牙panprofile协议的概述1.1协议层次结构蓝牙pan就是我们熟知的蓝牙网络,他在蓝牙协议体系中的层次结构见如下图:BNEP相当于网络协议栈中的链路层,由该层虚拟出一个网络接口,而BNEP层以下就是蓝牙核心协议之一的L2CAP。这个是在蓝牙协议中的层次结构,具体在blu
- CVE-2020-0022漏洞分析
Killshadow
1漏洞背景CVE-2020-0022漏洞又称BlueFrag,被评为严重漏洞,该漏洞是出现在Bluedroid蓝牙协议的HCI层,在Android8.0-9.0中可以RCE,Android10中可以DoS.2术语介绍2.1HCI协议HCI(HostControlInterface)层位于蓝牙协议高层协议和底层协议之间,为高层应用提供了一个统一访问HCI控制器的接口.如下图:imgimgHCI通过包
- Android蓝牙源码分析——关于GKI
饭小粒
蓝牙蓝牙协议协议栈
GKI模块是Bluedroid中用于线程间通信的,我们知道蓝牙所有的操作最终都会交给Bluedroid处理,而调用方可能来自多个线程,Bluedroid中有大量的全局变量,为避免多线程导致的数据不一致问题,干脆统一切换到一个固定的工作线程中执行。类似于Java中的postRunnable,这里是给线程发送消息或事件。接下来我们开始分析GKI源码,文件并不多,我们首先以gki模块的初始化为入口,在g
- ESP32 BLE 定向广播
25March
芯片基础(ChipFoundation)蓝牙(Bluetooth)嵌入式硬件
本篇文档用来说明如何实现ESP32BLE的定向广播。测试环境硬件:两个ESP32模组idf版本:esp-idftagv5.0.2测试例程:基于官方的examples/bluetooth/bluedroid/ble/gatt_client和examples/bluetooth/bluedroid/ble/gatt_server稍作修改将基于gatt_client和gatt_server编译生成的固件
- Bluedroid之GKI
weixin_30498921
1.概述GKI以库libbt-brcm_gki.a的形式提供给Bluedroid使用该层是一个适配层,适配了OS相关的进程、内存相关的管理,还可以用于线程间传递消息主要通过变量gki_cb(结构体tGKI_CB)实现对进程的统一管理2.线程2.1主要函数-GKI_init()初始化变量gki_cb-GKI_create_task()创建线程-GKI_destroy_task()销毁线程-GKI_r
- ESP32 BLE MTU Size 协商设置
Rainbow.Cai
ESP32ESP应用需求实现mcu物联网
测试设备:ESP32开发板做BLEServernRFConnectAPP做BLEClient测试例程:esp-idf/examples/bluetooth/bluedroid/ble/gatt_server说明:ESP32BLEServer本地协商MTU最大支持517,BLEServer与BLEClient通信需要二者共同协商MTUSize。MTU主动协商必须通过BLEclient(手机端app)
- 某安卓系统8872端口打开原因分析
晓翔仔
techknowledgeandroidjava蓝牙bluetooth
某安卓系统,我用netstat查看正在监听的端口时,发现有127.0.0.1:8872打开着。查找官方资料,关于这个端口是这样解释的。https://android.googlesource.com/platform/external/bluetooth/bluedroid/+/master/doc/btsnoop_net.md下面来分析为什么有这样的端口存在。1.哪个文件会开8872端口?在安卓
- BlueDroid代码分析之GKI
weixin_33728268
1.概述GKI以库libbt-brcm_gki.so(StaticLib?)的形式提供给BlueDroid使用该层是一个适配层,适配了OS相关的进程、内存相关的管理。还能够用于线程间传递消息主要通过变量gki_cb实现对进程的统一管理typedefstruct{pthread_mutex_tGKI_mutex;pthread_tthread_id[GKI_MAX_TASKS];pthread_mu
- linux下 svn服务器搭建及使用
沉沦者
linux工具使用svnlinux
1、安装svn命令:sudoapt-getinstallsubversion2、创建目录和svn仓库1)mkdir/home/zx/test_svn2)svnadmincreate/home/zx/test_svn/bluedroid3)修改conf/svnserve.conf,如下图:4)修改conf/passwd文件,增加用户及密码,如下图:5)修改conf/authz文件,配置用户/组权限,
- Bluedroid 之GKI框架
pingfengluo
Android
1.概述GKI以库libbt-brcm_gki.so(StaticLib?)的形式提供给BlueDroid使用该层是一个适配层,适配了OS相关的进程、内存相关的管理,还可以用于线程间传递消息主要通过变量gki_cb实现对进程的统一管理{pthread_mutex_tGKI_mutex;pthread_tthread_id[GKI_MAX_TASKS];pthread_mutex_tthread_e
- Android蓝牙源码分析——关于GKI
风语
AndroidAndroid蓝牙Android内核源码BlueDroid蓝牙AndroidGKI
GKI模块是Bluedroid中用于线程间通信的,我们知道蓝牙所有的操作最终都会交给Bluedroid处理,而调用方可能来自多个线程,Bluedroid中有大量的全局变量,为避免多线程导致的数据不一致问题,干脆统一切换到一个固定的工作线程中执行。类似于Java中的postRunnable,这里是给线程发送消息或事件。接下来我们开始分析GKI源码,文件并不多,我们首先以gki模块的初始化为入口,在g
- ESP32经典蓝牙和BLE的使用 (基于Arduino)
月烨洵纾鄞.
单片机嵌入式硬件
ESP32蓝牙和BLE简述和基本使用方法文章目录ESP32蓝牙和BLE简述和基本使用方法经典蓝牙串口通信低功耗蓝牙BLE(常用)BLE服务器和客户端通信经典蓝牙串口通信#include"BluetoothSerial.h"//引入蓝牙函数库#if!defined(CONFIG_BT_ENABLED)||!defined(CONFIG_BLUEDROID_ENABLED)#errorBluetoot
- 高通Linux Android 平台中的蓝牙功能学习 (6)-- TWS介绍
专业开发者
蓝牙bluetoothandroidjava
概要:介绍了手机中针对免提配置文件(HFP)和高级音频传输配置文件(A2DP)的QualcommTrueWirelessStereo+(TWS+)支持、主机端免提音频网关(AG)的高级设计、以及AndroidOS/Bluedroid协议栈中的A2DPSRC角色(使手机能够执行诸如向TWS+耳塞式耳机传输语音/音频等功能)。TWS+设备属于无线耳塞式耳机,由一对耳塞(左耳塞和右耳塞)组成,可通过蓝牙
- 探索蓝牙和iBeacons - 从软件到无线电信号并返回
kjkj88888
正如我通常对新目标所做的那样,我会寻找资源-我开始着眼于BT堆栈本身-无论是在Linux还是在Android上,因为它们显然不一样。谷歌将AndroidBT堆栈从默认的LinuxBT堆栈切换到了自己的名为BlueDroid的BT堆栈,这显然使我所有的LinuxBT工具和资源都被淘汰。看起来,当谷歌用自己的本土BlueDroid取代BlueZ时,推测原因是授权问题-BlueZ是GPL和Android
- Android蓝牙开发 — 经典蓝牙&BLE蓝牙
Chin_style
车载蓝牙经典蓝牙BLE蓝牙蓝牙5.0蓝牙profile蓝牙音频编码方式
一,前期基础知识储备1)蓝牙是一种支持设备之间短距离通信的无线电技术(其他还包括红外,WIFI);支持移动电话、笔记本电脑、无线耳机等设备之间进行信息的交换;Android支持的蓝牙协议栈:Bluz,BlueDroid,BLE;Bluz是Linux推出的,目前使用最广泛;BlueDroid是Android4.0之后推出来的,简化了Bluz的操作;BLE是最新的低功耗协议,传输效率和传输速率都是很高
- android蓝牙移植,android bluetooth 移植相关注意事项
ywnwx
android蓝牙移植
bluedroid的通用架构框图:由上图可知,bluedroid包含如下的核心组件:BluetoothcorestacklibraryHCIlibraryVendorSpecificHCIlibraryUART,RFKILL,TUN/TAPandUHIDdevicedrivers移植过程基于android上bluedroid上的蓝牙移植涉及到文件有:bluetooth.apkbludroid协议栈
- Android Bluetooth 集成
打个工而已
AndroidBluetoothandroidbluetooth
Android蓝牙学习@#Android蓝牙文章目录代码模块功能集成1.硬件2.软件2.1AOSP源码2.2平台集成代码模块功能集成1.硬件确保硬件连接OK,USB/UART/PCIE硬件接口工作正常2.软件2.1AOSP源码BluetoothAPK-确保编译到Image即可BluetoothService-确保编译到Image即可Bluedroid协议栈--确保编译到Image即可2.2平台集成
- Android 12 Bluetooth Open[3]
打个工而已
AndroidBluetoothandroidbluetooth
Android蓝牙学习@#Android蓝牙Android12BluetoothOpen[2]讲到了JNI获取了Bluedroid协议栈的操作接口结构体bt_interface_t,调用了sBluetoothInterface->enable()打开蓝牙。继续看sBluetoothInterface1.sBluetoothInterface->enable()1.1sBluetoothInterf
- esp32 蓝牙启动流程_ESP32学习笔记十七之蓝牙通信
科技瑜晓川
esp32蓝牙启动流程
蓝牙是一种短距离通信系统,蓝牙系统分为两种不同的技术:经典蓝牙(ClassicBluetooth)和蓝牙低功耗(BluetoothLowEnergy)。从整体结构上,蓝牙可分为控制器(Controller)和主机(Host)两大部分;ESP32应用的三种场景:场景一(ESP-IDF默认):在ESP32的系统上,选择BLUEDROID为蓝⽛牙主机,并通过VHCI(软件实现的虚拟HCI接⼝口)接⼝口,
- esp32系列(5):esp32 蓝牙架构学习
lu-ming.xyz
ESP32学习esp32
目录1ESP32蓝牙架构学习1.1蓝牙1.1.1HCI接口选择1.1.2蓝牙运行环境1.1.3框架1.1.3.1控制器1.1.3.2BLUEDROID1.2经典蓝牙1.2.1代码实现1.3低功耗蓝牙1.3.1GAP(GenericAccessProfile)1.3.1.1BLE角色转换图1.3.1.2BLE广播流程1.3.1.3BLE扫描流程1.3.2GATT(GenericAttributePr
- Android a2dp_sink 相关流程
FunnnnnnCo
转载至https://blog.csdn.net/pashanhu6402/article/details/79346930A2DPsinkBluedroidArchitectureA2DPsinkBluedroidArchitecture.pngBluetoothA2dpsinkprofile连接流程BluetoothA2dpsinkprofile连接流程.pngBluedroida2dpsin
- Bluedroid与BluZ,蓝牙测试方法的变动(基于bludroid和BlueZ的对比)
孤独的飞行者
Bluetooth
转自http://blog.csdn.net/bathinbreeze/article/details/12084107android4.2以后,增加了bludroid,在做测试时,会发现与之前的bluez的测试,有着较大的变动。下面罗列一些bluedroid的不同点,以及之前bluez的测试命令验证(该部分是用bluez做的测试,针对bluedroid的测试后续会补充)。对蓝牙栈bluedroi
- 蓝牙模块的bluedroid
FallingMoon
什么是Bluedroid?总的来说,bluedroid就是在安卓上替代bluez的一个蓝牙协议栈。Android4.2之前,Google一直使用的是Linux官方蓝牙协议栈BlueZ。BlueZ实际上是由高通公司在2001年5月基于GPL协议发布的一个开源项目,做为Linux2.4.6内核的官方蓝牙协议栈。随着Android设备的流行,BlueZ也得到了极大的完善和扩展。例如Android4.1中
- Spring的注解积累
yijiesuifeng
spring注解
用注解来向Spring容器注册Bean。
需要在applicationContext.xml中注册:
<context:component-scan base-package=”pagkage1[,pagkage2,…,pagkageN]”/>。
如:在base-package指明一个包
<context:component-sc
- 传感器
百合不是茶
android传感器
android传感器的作用主要就是来获取数据,根据得到的数据来触发某种事件
下面就以重力传感器为例;
1,在onCreate中获得传感器服务
private SensorManager sm;// 获得系统的服务
private Sensor sensor;// 创建传感器实例
@Override
protected void
- [光磁与探测]金吕玉衣的意义
comsci
这是一个古代人的秘密:现在告诉大家
信不信由你们:
穿上金律玉衣的人,如果处于灵魂出窍的状态,可以飞到宇宙中去看星星
这就是为什么古代
- 精简的反序打印某个数
沐刃青蛟
打印
以前看到一些让求反序打印某个数的程序。
比如:输入123,输出321。
记得以前是告诉你是几位数的,当时就抓耳挠腮,完全没有思路。
似乎最后是用到%和/方法解决的。
而今突然想到一个简短的方法,就可以实现任意位数的反序打印(但是如果是首位数或者尾位数为0时就没有打印出来了)
代码如下:
long num, num1=0;
- PHP:6种方法获取文件的扩展名
IT独行者
PHP扩展名
PHP:6种方法获取文件的扩展名
1、字符串查找和截取的方法
1
$extension
=
substr
(
strrchr
(
$file
,
'.'
), 1);
2、字符串查找和截取的方法二
1
$extension
=
substr
- 面试111
文强chu
面试
1事务隔离级别有那些 ,事务特性是什么(问到一次)
2 spring aop 如何管理事务的,如何实现的。动态代理如何实现,jdk怎么实现动态代理的,ioc是怎么实现的,spring是单例还是多例,有那些初始化bean的方式,各有什么区别(经常问)
3 struts默认提供了那些拦截器 (一次)
4 过滤器和拦截器的区别 (频率也挺高)
5 final,finally final
- XML的四种解析方式
小桔子
domjdomdom4jsax
在平时工作中,难免会遇到把 XML 作为数据存储格式。面对目前种类繁多的解决方案,哪个最适合我们呢?在这篇文章中,我对这四种主流方案做一个不完全评测,仅仅针对遍历 XML 这块来测试,因为遍历 XML 是工作中使用最多的(至少我认为)。 预 备 测试环境: AMD 毒龙1.4G OC 1.5G、256M DDR333、Windows2000 Server
- wordpress中常见的操作
aichenglong
中文注册wordpress移除菜单
1 wordpress中使用中文名注册解决办法
1)使用插件
2)修改wp源代码
进入到wp-include/formatting.php文件中找到
function sanitize_user( $username, $strict = false
- 小飞飞学管理-1
alafqq
管理
项目管理的下午题,其实就在提出问题(挑刺),分析问题,解决问题。
今天我随意看下10年上半年的第一题。主要就是项目经理的提拨和培养。
结合我自己经历写下心得
对于公司选拔和培养项目经理的制度有什么毛病呢?
1,公司考察,选拔项目经理,只关注技术能力,而很少或没有关注管理方面的经验,能力。
2,公司对项目经理缺乏必要的项目管理知识和技能方面的培训。
3,公司对项目经理的工作缺乏进行指
- IO输入输出部分探讨
百合不是茶
IO
//文件处理 在处理文件输入输出时要引入java.IO这个包;
/*
1,运用File类对文件目录和属性进行操作
2,理解流,理解输入输出流的概念
3,使用字节/符流对文件进行读/写操作
4,了解标准的I/O
5,了解对象序列化
*/
//1,运用File类对文件目录和属性进行操作
//在工程中线创建一个text.txt
- getElementById的用法
bijian1013
element
getElementById是通过Id来设置/返回HTML标签的属性及调用其事件与方法。用这个方法基本上可以控制页面所有标签,条件很简单,就是给每个标签分配一个ID号。
返回具有指定ID属性值的第一个对象的一个引用。
语法:
&n
- 励志经典语录
bijian1013
励志人生
经典语录1:
哈佛有一个著名的理论:人的差别在于业余时间,而一个人的命运决定于晚上8点到10点之间。每晚抽出2个小时的时间用来阅读、进修、思考或参加有意的演讲、讨论,你会发现,你的人生正在发生改变,坚持数年之后,成功会向你招手。不要每天抱着QQ/MSN/游戏/电影/肥皂剧……奋斗到12点都舍不得休息,看就看一些励志的影视或者文章,不要当作消遣;学会思考人生,学会感悟人生
- [MongoDB学习笔记三]MongoDB分片
bit1129
mongodb
MongoDB的副本集(Replica Set)一方面解决了数据的备份和数据的可靠性问题,另一方面也提升了数据的读写性能。MongoDB分片(Sharding)则解决了数据的扩容问题,MongoDB作为云计算时代的分布式数据库,大容量数据存储,高效并发的数据存取,自动容错等是MongoDB的关键指标。
本篇介绍MongoDB的切片(Sharding)
1.何时需要分片
&nbs
- 【Spark八十三】BlockManager在Spark中的使用场景
bit1129
manager
1. Broadcast变量的存储,在HttpBroadcast类中可以知道
2. RDD通过CacheManager存储RDD中的数据,CacheManager也是通过BlockManager进行存储的
3. ShuffleMapTask得到的结果数据,是通过FileShuffleBlockManager进行管理的,而FileShuffleBlockManager最终也是使用BlockMan
- yum方式部署zabbix
ronin47
yum方式部署zabbix
安装网络yum库#rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm 通过yum装mysql和zabbix调用的插件还有agent代理#yum install zabbix-server-mysql zabbix-web-mysql mysql-
- Hibernate4和MySQL5.5自动创建表失败问题解决方法
byalias
J2EEHibernate4
今天初学Hibernate4,了解了使用Hibernate的过程。大体分为4个步骤:
①创建hibernate.cfg.xml文件
②创建持久化对象
③创建*.hbm.xml映射文件
④编写hibernate相应代码
在第四步中,进行了单元测试,测试预期结果是hibernate自动帮助在数据库中创建数据表,结果JUnit单元测试没有问题,在控制台打印了创建数据表的SQL语句,但在数据库中
- Netty源码学习-FrameDecoder
bylijinnan
javanetty
Netty 3.x的user guide里FrameDecoder的例子,有几个疑问:
1.文档说:FrameDecoder calls decode method with an internally maintained cumulative buffer whenever new data is received.
为什么每次有新数据到达时,都会调用decode方法?
2.Dec
- SQL行列转换方法
chicony
行列转换
create table tb(终端名称 varchar(10) , CEI分值 varchar(10) , 终端数量 int)
insert into tb values('三星' , '0-5' , 74)
insert into tb values('三星' , '10-15' , 83)
insert into tb values('苹果' , '0-5' , 93)
- 中文编码测试
ctrain
编码
循环打印转换编码
String[] codes = {
"iso-8859-1",
"utf-8",
"gbk",
"unicode"
};
for (int i = 0; i < codes.length; i++) {
for (int j
- hive 客户端查询报堆内存溢出解决方法
daizj
hive堆内存溢出
hive> select * from t_test where ds=20150323 limit 2;
OK
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
问题原因: hive堆内存默认为256M
这个问题的解决方法为:
修改/us
- 人有多大懒,才有多大闲 (评论『卓有成效的程序员』)
dcj3sjt126com
程序员
卓有成效的程序员给我的震撼很大,程序员作为特殊的群体,有的人可以这么懒, 懒到事情都交给机器去做 ,而有的人又可以那么勤奋,每天都孜孜不倦得做着重复单调的工作。
在看这本书之前,我属于勤奋的人,而看完这本书以后,我要努力变成懒惰的人。
不要在去庞大的开始菜单里面一项一项搜索自己的应用程序,也不要在自己的桌面上放置眼花缭乱的快捷图标
- Eclipse简单有用的配置
dcj3sjt126com
eclipse
1、显示行号 Window -- Prefences -- General -- Editors -- Text Editors -- show line numbers
2、代码提示字符 Window ->Perferences,并依次展开 Java -> Editor -> Content Assist,最下面一栏 auto-Activation
- 在tomcat上面安装solr4.8.0全过程
eksliang
Solrsolr4.0后的版本安装solr4.8.0安装
转载请出自出处:
http://eksliang.iteye.com/blog/2096478
首先solr是一个基于java的web的应用,所以安装solr之前必须先安装JDK和tomcat,我这里就先省略安装tomcat和jdk了
第一步:当然是下载去官网上下载最新的solr版本,下载地址
- Android APP通用型拒绝服务、漏洞分析报告
gg163
漏洞androidAPP分析
点评:记得曾经有段时间很多SRC平台被刷了大量APP本地拒绝服务漏洞,移动安全团队爱内测(ineice.com)发现了一个安卓客户端的通用型拒绝服务漏洞,来看看他们的详细分析吧。
0xr0ot和Xbalien交流所有可能导致应用拒绝服务的异常类型时,发现了一处通用的本地拒绝服务漏洞。该通用型本地拒绝服务可以造成大面积的app拒绝服务。
针对序列化对象而出现的拒绝服务主要
- HoverTree项目已经实现分层
hvt
编程.netWebC#ASP.ENT
HoverTree项目已经初步实现分层,源代码已经上传到 http://hovertree.codeplex.com请到SOURCE CODE查看。在本地用SQL Server 2008 数据库测试成功。数据库和表请参考:http://keleyi.com/a/bjae/ue6stb42.htmHoverTree是一个ASP.NET 开源项目,希望对你学习ASP.NET或者C#语言有帮助,如果你对
- Google Maps API v3: Remove Markers 移除标记
天梯梦
google maps api
Simply do the following:
I. Declare a global variable:
var markersArray = [];
II. Define a function:
function clearOverlays() {
for (var i = 0; i < markersArray.length; i++ )
- jQuery选择器总结
lq38366
jquery选择器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
- 基础数据结构和算法六:Quick sort
sunwinner
AlgorithmQuicksort
Quick sort is probably used more widely than any other. It is popular because it is not difficult to implement, works well for a variety of different kinds of input data, and is substantially faster t
- 如何让Flash不遮挡HTML div元素的技巧_HTML/Xhtml_网页制作
刘星宇
htmlWeb
今天在写一个flash广告代码的时候,因为flash自带的链接,容易被当成弹出广告,所以做了一个div层放到flash上面,这样链接都是a触发的不会被拦截,但发现flash一直处于div层上面,原来flash需要加个参数才可以。
让flash置于DIV层之下的方法,让flash不挡住飘浮层或下拉菜单,让Flash不档住浮动对象或层的关键参数:wmode=opaque。
方法如下:
- Mybatis实用Mapper SQL汇总示例
wdmcygah
sqlmysqlmybatis实用
Mybatis作为一个非常好用的持久层框架,相关资料真的是少得可怜,所幸的是官方文档还算详细。本博文主要列举一些个人感觉比较常用的场景及相应的Mapper SQL写法,希望能够对大家有所帮助。
不少持久层框架对动态SQL的支持不足,在SQL需要动态拼接时非常苦恼,而Mybatis很好地解决了这个问题,算是框架的一大亮点。对于常见的场景,例如:批量插入/更新/删除,模糊查询,多条件查询,联表查询,