- 安卓低功耗蓝牙BLE官方开发例程(JAVA)翻译注释版
Zwc 1
java开发语言
官方原文链接https://developer.android.com/develop/connectivity/bluetooth/ble/ble-overview?hl=zh-cn目录低功耗蓝牙基础知识关键术语和概念角色和职责查找BLE设备连接到GATT服务器设置绑定服务设置BluetoothAdapter连接到设备声明GATT回调连接到GATT服务广播动态在活动中监听更新关闭GATT连接传输
- ADB投屏_Android跨平台投屏软件(无需root)--scrcpy
weixin_39552472
ADB投屏
之前一直使用Chrome的一个插件「Vysor」进行Android手机的投屏,但是有码率限制,高码率需要付费,最近发现一个更好的继任者「scrcpy」,就来推荐一下。本文将以Mac为例进行配置和使用scrcpy,其他系统请参考官方文档,要求有一定的技术动手能力,觉得过于复杂的用户推荐使用「ApowerMirror」(使用简单,支持Android和iOS)。项目介绍做过Android开发的应该都知道
- Android 在相机中增加夜视模式+camera2+main2switcher
顾北川_野
android数码相机
/vendor/mediatek/proprietary/packages/apps/Camera2/common/src/com/mediatek/camera/common/IAppUi.javaintQUICK_SWITCHER=0;intMODE_SWITCHER=1;intTHUMBNAIL=2;intSHUTTER_BUTTON=3;intINDICATOR=4;intPREVIEW_
- android TabLayout中tabBackground和background的区别
stevenzqzq
android
在这段代码中,android:background="@color/white"和app:tabBackground="@android:color/transparent"是两个不同的属性,它们的作用范围和用途完全不同。以下是它们的区别:1.android:background作用:设置整个TabLayout的背景颜色。这个属性是View类的一个通用属性,适用于所有视图组件。影响范围:它会影响整
- Android学习总结之OKHttp拦截器和缓存
每次的天空
android学习okhttp
深入理解OkHttp拦截器1.拦截器接口详解Interceptor接口是自定义拦截器的基础,它仅包含一个抽象方法intercept。以下是对该方法参数和返回值的详细解释:importokhttp3.Interceptor;importokhttp3.Request;importokhttp3.Response;importjava.io.IOException;publicclassCustomI
- Android Compose 数据初始化全指南:从基础到高级实践
奋斗理想
Composecompose
在JetpackCompose中初始化页面数据有多种方式,以下是常见的几种模式及其实现方法:1.基础数据初始化方式1.1直接在Composable中初始化(简单场景)@ComposablefunSimpleScreen(){//直接初始化简单数据valitems=remember{listOf("Item1","Item2","Item3")}LazyColumn{items(items){ite
- 环信鸿蒙IM SDK实现附件消息发送与下载
环信即时通讯云
harmonyos华为
环信HarmonyOSIMSDK正式版已经发布,该版本全面覆盖即时通讯(IM)的核心功能,为用户提供了完整的IM全功能体验,同时支持从AndroidAPK到NEXT的数据迁移,更好地满足企业在不同业务场景下的适配需求。点此下载最新版环信HarmonyOSIMSDK环信鸿蒙IMSDK除文本消息外,还支持发送附件类型消息,包括语音、图片、视频和文件消息。本文为大家介绍从系统获取系统图片,视频,语音文件
- Kotlin学习
cornerOfHeart
学习
kotlinandroid开源,Kotlin开源项目集合_晚安呼-华为开发者空间干货来袭,推荐几款开源的Kotlin的Android项目https://zhuanlan.zhihu.com/p/536789267【已解决】ubuntuapt-getupdate连不上dl.google.com_为什么不能ping谷歌-CSDN博客
- Android 使用ViewPager实现导航页面
2401_89191684
androidjava开发语言
returnviews.size();}return0;}@OverridepublicbooleanisViewFromObject(Viewarg0,Objectarg1){return(arg0==arg1);}@OverridepublicvoiddestroyItem(Viewview,intarg1,Objectobject){((ViewPager)view).removeView(
- Android 天气APP(三十一)每日提醒弹窗
2401_89191684
android
增加位置如下:然后进入SplashActivity,重写getBiYingResult方法,代码如下:/**必应壁纸数据返回@paramresponseBiYingImgResponse*/@OverridepublicvoidgetBiYingResult(Responseresponse){if(response.body().getImages()!=null){//得到的图片地址是没有前缀
- Android Studio 的NotePad制作(日志本)
2401_89191684
androidstudionotepad++java
privatevoidflush(){PrefVO.dataFlush();noteVOList=access.findAllNote();noteBaseAdapter=newNoteBaseAdapter(NotePadMainActivity.this,R.layout.item,noteVOList);noteList.setAdapter(noteBaseAdapter);noteNum
- Android JetPack架构——结合记事本Demo一篇打通对Sqlite的增删改查结合常用jetpack架构应用
2401_89191684
androidjetpack架构sqlite
使用此架构能带来什么好处?UI和业务逻辑解耦。有效避免生命周期组件内存泄漏。提高模块可测试性。提高应用稳定性,有效降低以下异常发生概率。针对Jetpack架构中繁多的组件,下面我具体介绍一款数据库交互组件Room。其余组件在Demo中使用也会做相应说明什么是Room?为什么要使用Room?=======================================================
- Android布局优化-include、merge以及ViewStub使用
XuZhenhao0609
androidandroidstudioide
一、inlude标签inlude标签用于xml复用,实现布局模块化,减少开发者工作量。include的标签是否有效?1、id:a)在同一个xml下include两次layout_title.xml并对include标签分别设置不同的id,运行应用之后使用layoutinspector查看,发现Activity中存在两个id为tv_title的TextView(应该是layoutinspector的
- Android布局之ViewStub
call me F
Android-布局相关
废话不多说,先来看看官方文档说明:AViewStubisaninvisible,zero-sizedViewthatcanbeusedtolazilyinflatelayoutresourcesatruntime.WhenaViewStubismadevisible,orwheninflate()isinvoked,thelayoutresourceisinflated.TheViewStubth
- Android ViewStub显示VISIBLE与消失GONE,Kotlin
zhangphil
Androidkotlinandroidkotlin
AndroidViewStub显示VISIBLE与消失GONE,Kotlinimportandroid.os.Bundleimportandroid.util.Logimportandroid.view.Viewimportandroid.view.ViewStubimportandroid.widget.Buttonimportandroidx.appcompat.app.AppCompatAc
- adb: error: failed to get feature set: no devices/emulators found
HAPPY酷
adb
这个错误信息adb:error:failedtogetfeatureset:nodevices/emulatorsfound表明adb工具无法找到任何连接的Android设备或模拟器来执行安装操作。这通常发生在以下几种情况:没有设备连接:确保你的Android设备已经通过USB线连接到电脑,并且设备的USB调试模式已经打开。设备未正确识别:有时候,即使设备已连接,也可能因为驱动问题或USB端口问题
- Android使用声网SDK实现音视频互动(RTC)功能
小趴菜8227
android音视频实时音视频kotlin
一、前期准备1、注册声网账号声网官网2、创建项目拿到AppID,主要证书二、代码部分先上一下官方提供的demo地址:Agora-RTC-QuickStart:此仓库包含AgoraRTCNativeSDK的QuickStart示例项目。-Gitee.comhttps://gitee.com/agoraio-community/Agora-RTC-QuickStart/tree/main/Androi
- 安卓 RecyclerView的item出实现左滑删除功能
小趴菜8227
android
注:Java和kotlin混用了第一种实现方式:自定义view一、自定义RecyclerView--LeftSwipeMenuRecyclerView.javapackage自己的包名;importandroid.content.Context;importandroid.util.AttributeSet;importandroid.view.MotionEvent;importandroid.
- Android 底部EditView输入时悬浮到软键盘上方
小趴菜8227
android
1.修改Activity的Manifest配置确保你的Activity在AndroidManifest.xml中有以下配置:关键点:adjustResize是关键属性,使布局会为键盘腾出空间stateHidden可选,表示初始时不自动弹出键盘2.更新布局文件使用CoordinatorLayout实现最可靠的效果:3.确保主题配置正确在styles.xml中,确保Activity主题不是全屏模式:t
- Android kotlin 扩展方法和扩展属性的用法
安卓兼职framework应用工程师
Android高级进阶kotlinandroid扩展方法扩展属性扩展方法和扩展属性用法
Kotlin支持扩展方法和扩展属性。语法:被扩展的类/接口名.方法名()扩展方法openclassExtensionFunction{funfunction()=println("--扩展函数--")}classSubExtensionFun:ExtensionFunction(){funsubFunction(
- 安卓Kotlin接入高德定位和地图SDK
小趴菜8227
android
前言:高德的定位sdk可以获取设备当前的详细信息,如经纬度,具体地址(省->街道)等,本文主要使用的是定位sdk和地图sdk中的poi搜索功能(以当前位置半径多少米内的关键词搜索)目录一、准备工作1.注册高德的开发者账号2.在控制台中创建应用,选择Android平台3.给新建的应用添加一个key,拿到key值二、项目1.添加高德Key2.代码混淆3.导入具体的sdk4.地图管理类6.在activi
- 内网文件传输新体验,聊天、传输、自定义,一应俱全
dntktop
软件电脑windows运维
Flix是一款高效、便捷的跨平台局域网文件传输工具,支持Windows、macOS、Android、iOS和Linux等多种操作系统。它以简洁直观的聊天式界面为特色,让用户能够像发送消息一样轻松地传输文件,无需复杂的设置或登录。Flix支持大文件和多种格式的文件传输,且不压缩图片和视频,保证文件的原始质量。此外,它还具备内网聊天功能,用户可以在局域网内快速共享文件和文本信息,无需依赖互联网连接,确
- android wifi通过命令行打开2.4G热点
追梦-北极星
Wifiwifi命令行打开
android系统支持2G和5G,但车机系统应用只支持5G,但是需要测试2.4G的射频方法如下:1、adbshell进去,su指定root权限,确保热点处于关闭状态2、开启热点为www99999,密码为12345678,wpa2的加密协议cmdwifistart-softapwww99999wpa212345678-b5成功后打印:onStateChangedwithstate:11failure
- buildozer 不能使用 3.x 的 openssl 吗?必须要用落后的 1.1 吗?
pythonandroid
buildozer打包遇到openssl@1.1报错已知buildozer在2023年之后就没有更新了,所以不支持新的openssl3.x但是现在的mac系统等都是openssl3.x了,这就会导致buildozer-vandroiddebug打包的时候报错Error:openssl@1.1hasbeendisabledbecauseitisnotsupportedupstream!Itwasdi
- Kotlin 中 集合 Collection 的扩展方法完全指南
jiet_h
#Android日新月异kotlin开发语言android
Kotlin中Collection的扩展方法完全指南“代码是最美的诗篇”——本文将带你进入Kotlin集合扩展函数的世界,帮助你写出既高效又优雅的代码一、引言在Android开发中,集合(Collection)的操作无处不在。无论是处理网络请求返回的数据、解析JSON结构,还是进行数据统计与分析,Kotlin的丰富API都使得我们的代码更简洁明了。而扩展函数正是Kotlin的一大亮点,让我们可以在
- android 设置路由器,安卓手机怎么设置路由器?
四余
android设置路由器
摘要请问大家:安卓手机怎么设置路由器上网?答:在手机的浏览器中,打开路由器的设置页面后,就可以对路由器进行设置了。所以,实际上不管是什么系统的手机,设置路由器的步骤是相同的,下面会进行演示介绍。温馨提示:(1)、如果路由器可以上网,只是想用手机设置wifi密码,请阅读下面的文章,查看设置步骤:导读:以下是"安卓手机怎么设置路由器?"相关路由问题分享。-来源:【路由器指南】,下面我们直奔主题吧!请问
- Trae AI编程:从环境配置到多模态开发,保姆级教程带你玩转Claude3.7+deeskeep-R1(免费无限调用)
尘事间
AI编程自动化ai
1.简介Trea是字节跳动推出的全球首个AI驱动中文开发环境,支持通过自然语言交互实现代码生成、项目构建与调试。其核心功能包括:自然语言编程:基于deespeek-R1和Doubao-1.5-pro模型(使用Claude-3.7-Sonnet需要使用海外版,下载海外版即可,不需要科学),可将中文描述直接转化为代码。多端支持:自动生成H5、微信小程序、Android/iOSApp代码,支持实时预览。
- 开发体育赛事直播系统源码:主播端核心功能模块部分代码示例
vue.jsphpjava
本文介绍了体育直播系统中主播端核心功能模块“我是主播”的实现思路与关键代码。该模块基于Vue.js构建前端页面,后端采用ThinkPHP提供API支持,同时兼容Android(Java)和iOS(Objective-C)移动端访问,确保多端一致体验。前端(Vue.js)实现直播收益页面收益总额:{{totalIncome}}exportdefault{data(){return{selectedD
- 【Python自动化测试32】App自动化环境搭建
萌笑天
Python自动化测试python自动化前端自动化测试开发语言
文章目录一、前言二、安装与环境搭建教学2.1环境依赖2.2appium程序安装2.3appium-python-client2.4模拟器安装2.5javajdk安装2.6AndroidSDK环境一、前言 本文章主要讲解App自动化测试的环境搭建,在App自动化测试环境搭建中,有非常多的坑,很容易就安装错误,快来和笔者一起学习吧,除此之外下方有系列文章的传送门,还在持续更新中,感兴趣的小伙伴也可以
- Android里面如何优化xml布局
斗锋在干嘛
androidxml
在Android开发中,以下是系统化的优化方案,从基础到高级分层解析:一、基础优化策略1.减少布局层级问题:每增加一层布局,测量/布局时间增加1-2ms解决方案:工具:使用AndroidStudio的LayoutInspector或LayoutValidation可视化层级2.优先使用高效布局性能排序:ConstraintLayout>RelativeLayout>LinearLayout>Fra
- scala的option和some
矮蛋蛋
编程scala
原文地址:
http://blog.sina.com.cn/s/blog_68af3f090100qkt8.html
对于学习 Scala 的 Java™ 开发人员来说,对象是一个比较自然、简单的入口点。在 本系列 前几期文章中,我介绍了 Scala 中一些面向对象的编程方法,这些方法实际上与 Java 编程的区别不是很大。我还向您展示了 Scala 如何重新应用传统的面向对象概念,找到其缺点
- NullPointerException
Cb123456
androidBaseAdapter
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.View.getImportantForAccessibility()' on a null object reference
出现以上异常.然后就在baidu上
- PHP使用文件和目录
天子之骄
php文件和目录读取和写入php验证文件php锁定文件
PHP使用文件和目录
1.使用include()包含文件
(1):使用include()从一个被包含文档返回一个值
(2):在控制结构中使用include()
include_once()函数需要一个包含文件的路径,此外,第一次调用它的情况和include()一样,如果在脚本执行中再次对同一个文件调用,那么这个文件不会再次包含。
在php.ini文件中设置
- SQL SELECT DISTINCT 语句
何必如此
sql
SELECT DISTINCT 语句用于返回唯一不同的值。
SQL SELECT DISTINCT 语句
在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。
DISTINCT 关键词用于返回唯一不同的值。
SQL SELECT DISTINCT 语法
SELECT DISTINCT column_name,column_name
F
- java冒泡排序
3213213333332132
java冒泡排序
package com.algorithm;
/**
* @Description 冒泡
* @author FuJianyong
* 2015-1-22上午09:58:39
*/
public class MaoPao {
public static void main(String[] args) {
int[] mao = {17,50,26,18,9,10
- struts2.18 +json,struts2-json-plugin-2.1.8.1.jar配置及问题!
7454103
DAOspringAjaxjsonqq
struts2.18 出来有段时间了! (貌似是 稳定版)
闲时研究下下! 貌似 sruts2 搭配 json 做 ajax 很吃香!
实践了下下! 不当之处请绕过! 呵呵
网上一大堆 struts2+json 不过大多的json 插件 都是 jsonplugin.34.jar
strut
- struts2 数据标签说明
darkranger
jspbeanstrutsservletScheme
数据标签主要用于提供各种数据访问相关的功能,包括显示一个Action里的属性,以及生成国际化输出等功能
数据标签主要包括:
action :该标签用于在JSP页面中直接调用一个Action,通过指定executeResult参数,还可将该Action的处理结果包含到本页面来。
bean :该标签用于创建一个javabean实例。如果指定了id属性,则可以将创建的javabean实例放入Sta
- 链表.简单的链表节点构建
aijuans
编程技巧
/*编程环境WIN-TC*/ #include "stdio.h" #include "conio.h"
#define NODE(name, key_word, help) \ Node name[1]={{NULL, NULL, NULL, key_word, help}}
typedef struct node { &nbs
- tomcat下jndi的三种配置方式
avords
tomcat
jndi(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。命名服务将名称和对象联系起来,使得我们可以用名称
访问对象。目录服务是一种命名服务,在这种服务里,对象不但有名称,还有属性。
tomcat配置
- 关于敏捷的一些想法
houxinyou
敏捷
从网上看到这样一句话:“敏捷开发的最重要目标就是:满足用户多变的需求,说白了就是最大程度的让客户满意。”
感觉表达的不太清楚。
感觉容易被人误解的地方主要在“用户多变的需求”上。
第一种多变,实际上就是没有从根本上了解了用户的需求。用户的需求实际是稳定的,只是比较多,也比较混乱,用户一般只能了解自己的那一小部分,所以没有用户能清楚的表达出整体需求。而由于各种条件的,用户表达自己那一部分时也有
- 富养还是穷养,决定孩子的一生
bijian1013
教育人生
是什么决定孩子未来物质能否丰盛?为什么说寒门很难出贵子,三代才能出贵族?真的是父母必须有钱,才能大概率保证孩子未来富有吗?-----作者:@李雪爱与自由
事实并非由物质决定,而是由心灵决定。一朋友富有而且修养气质很好,兄弟姐妹也都如此。她的童年时代,物质上大家都很贫乏,但妈妈总是保持生活中的美感,时不时给孩子们带回一些美好小玩意,从来不对孩子传递生活艰辛、金钱来之不易、要懂得珍惜
- oracle 日期时间格式转化
征客丶
oracle
oracle 系统时间有 SYSDATE 与 SYSTIMESTAMP;
SYSDATE:不支持毫秒,取的是系统时间;
SYSTIMESTAMP:支持毫秒,日期,时间是给时区转换的,秒和毫秒是取的系统的。
日期转字符窜:
一、不取毫秒:
TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS')
简要说明,
YYYY 年
MM 月
- 【Scala六】分析Spark源代码总结的Scala语法四
bit1129
scala
1. apply语法
FileShuffleBlockManager中定义的类ShuffleFileGroup,定义:
private class ShuffleFileGroup(val shuffleId: Int, val fileId: Int, val files: Array[File]) {
...
def apply(bucketId
- Erlang中有意思的bug
bookjovi
erlang
代码中常有一些很搞笑的bug,如下面的一行代码被调用两次(Erlang beam)
commit f667e4a47b07b07ed035073b94d699ff5fe0ba9b
Author: Jovi Zhang <bookjovi@gmail.com>
Date: Fri Dec 2 16:19:22 2011 +0100
erts:
- 移位打印10进制数转16进制-2008-08-18
ljy325
java基础
/**
* Description 移位打印10进制的16进制形式
* Creation Date 15-08-2008 9:00
* @author 卢俊宇
* @version 1.0
*
*/
public class PrintHex {
// 备选字符
static final char di
- 读《研磨设计模式》-代码笔记-组合模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
abstract class Component {
public abstract void printStruct(Str
- 利用cmd命令将.class文件打包成jar
chenyu19891124
cmdjar
cmd命令打jar是如下实现:
在运行里输入cmd,利用cmd命令进入到本地的工作盘符。(如我的是D盘下的文件有此路径 D:\workspace\prpall\WEB-INF\classes)
现在是想把D:\workspace\prpall\WEB-INF\classes路径下所有的文件打包成prpall.jar。然后继续如下操作:
cd D: 回车
cd workspace/prpal
- [原创]JWFD v0.96 工作流系统二次开发包 for Eclipse 简要说明
comsci
eclipse设计模式算法工作swing
JWFD v0.96 工作流系统二次开发包 for Eclipse 简要说明
&nb
- SecureCRT右键粘贴的设置
daizj
secureCRT右键粘贴
一般都习惯鼠标右键自动粘贴的功能,对于SecureCRT6.7.5 ,这个功能也已经是默认配置了。
老版本的SecureCRT其实也有这个功能,只是不是默认设置,很多人不知道罢了。
菜单:
Options->Global Options ...->Terminal
右边有个Mouse的选项块。
Copy on Select
Paste on Right/Middle
- Linux 软链接和硬链接
dongwei_6688
linux
1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。
【硬连接】硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连
- DIV底部自适应
dcj3sjt126com
JavaScript
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&q
- Centos6.5使用yum安装mysql——快速上手必备
dcj3sjt126com
mysql
第1步、yum安装mysql
[root@stonex ~]# yum -y install mysql-server
安装结果:
Installed:
mysql-server.x86_64 0:5.1.73-3.el6_5 &nb
- 如何调试JDK源码
frank1234
jdk
相信各位小伙伴们跟我一样,想通过JDK源码来学习Java,比如collections包,java.util.concurrent包。
可惜的是sun提供的jdk并不能查看运行中的局部变量,需要重新编译一下rt.jar。
下面是编译jdk的具体步骤:
1.把C:\java\jdk1.6.0_26\sr
- Maximal Rectangle
hcx2013
max
Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones and return its area.
public class Solution {
public int maximalRectangle(char[][] matrix)
- Spring MVC测试框架详解——服务端测试
jinnianshilongnian
spring mvc test
随着RESTful Web Service的流行,测试对外的Service是否满足期望也变的必要的。从Spring 3.2开始Spring了Spring Web测试框架,如果版本低于3.2,请使用spring-test-mvc项目(合并到spring3.2中了)。
Spring MVC测试框架提供了对服务器端和客户端(基于RestTemplate的客户端)提供了支持。
&nbs
- Linux64位操作系统(CentOS6.6)上如何编译hadoop2.4.0
liyong0802
hadoop
一、准备编译软件
1.在官网下载jdk1.7、maven3.2.1、ant1.9.4,解压设置好环境变量就可以用。
环境变量设置如下:
(1)执行vim /etc/profile
(2)在文件尾部加入:
export JAVA_HOME=/home/spark/jdk1.7
export MAVEN_HOME=/ho
- StatusBar 字体白色
pangyulei
status
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
/*you'll also need to set UIViewControllerBasedStatusBarAppearance to NO in the plist file if you use this method
- 如何分析Java虚拟机死锁
sesame
javathreadoracle虚拟机jdbc
英文资料:
Thread Dump and Concurrency Locks
Thread dumps are very useful for diagnosing synchronization related problems such as deadlocks on object monitors. Ctrl-\ on Solaris/Linux or Ctrl-B
- 位运算简介及实用技巧(一):基础篇
tw_wangzhengquan
位运算
http://www.matrix67.com/blog/archives/263
去年年底写的关于位运算的日志是这个Blog里少数大受欢迎的文章之一,很多人都希望我能不断完善那篇文章。后来我看到了不少其它的资料,学习到了更多关于位运算的知识,有了重新整理位运算技巧的想法。从今天起我就开始写这一系列位运算讲解文章,与其说是原来那篇文章的follow-up,不如说是一个r
- jsearch的索引文件结构
yangshangchuan
搜索引擎jsearch全文检索信息检索word分词
jsearch是一个高性能的全文检索工具包,基于倒排索引,基于java8,类似于lucene,但更轻量级。
jsearch的索引文件结构定义如下:
1、一个词的索引由=分割的三部分组成: 第一部分是词 第二部分是这个词在多少