@@ -33,398 +33,3 @@ debug_tools {
3333 }
3434}
3535```
36-
37- ## 接口开放
38- ### 本地接口
39- Android端微型服务器使用Json方式传递数据,内置静态服务器,非常适合前后端分离。内置功能包含:
40- 1 . 路由注册
41- 2 . 文件下载
42- 3 . 静态服务
43- ``` java
44- if (urlSplit. length > 1 ) {
45- // error-demo
46- if (" error" . equals(urlSplit[1 ])) {
47- Route errorRoute = new ErrorRoute ();
48- Result process = errorRoute. process(request);
49- response = new JsonResponse (process);
50- return response;
51- }
52-
53- if (" db" . equals(urlSplit[1 ])) {
54- Route dbRoute = new DbRoute (mContext);
55- Result process = dbRoute. process(request);
56- response = new JsonResponse (process);
57- return response;
58- }
59-
60- if (" disk" . equals(urlSplit[1 ])) {
61- Route diskRoute = new DiskRoute (mContext);
62- Result process = diskRoute. process(request);
63- response = new JsonResponse (process);
64- return response;
65- }
66-
67- // SimpleHTTPServer
68- if (" file" . equals(urlSplit[1 ])) {
69- return new ByteResponse (Utils . loadFileContent(requestURI. split(" file" )[1 ]));
70- }
71- }
72- // 资源处理
73- return new ByteResponse (Utils . loadAssetContent(WEB_FOLDER + requestURI, mContext. getAssets()));
74- ```
75-
76- 其中,第3-20行是内置路由规则,` error ` 处理了错误异常的Response,` db ` 处理了内置数据库查看工具的Api,` disk ` 处理了SDcard查看工具的Api,这三个路由返回结果都是Json方式。
77-
78- ` file ` 是下载工具,通过这个Api可以下载Sdcard内任何有权限的文件,遇到目录则压缩后下载。
79-
80- 如果匹配不到,那么就到Assets目录下面匹配静态资源,他可以根据文件类型自动匹配Content-Type。所以如果想输出静态Html那么就放到这个匹配规则里边。
81-
82-
83- ### Api
84- 目前此工具提供数据库查看和SD卡查看两种功能,这两个功能通过Restful风格提供。下面开放的Api
85- #### 数据库工具
86- ##### 列出数据库
87-
88- ```
89- http://127.0.0.1:8089/db/listDatabase
90- ```
91-
92- 方法:GET
93- 参数:无
94- 响应:
95- ``` json
96- {
97- "success" : true ,
98- "message" : " ok" ,
99- "obj" : [
100- {
101- "name" : " Contact.db" ,
102- "path" : " /data/user/0/cn.liucl.unitedebugtoolsclient/databases/Contact.db"
103- },
104- {
105- "name" : " Car.db" ,
106- "path" : " /data/user/0/cn.liucl.unitedebugtoolsclient/databases/Car.db"
107- }
108- ]
109- }
110- ```
111-
112- ---
113- ##### 列出表
114-
115- ```
116- http://127.0.0.1:8089/db/listTable?dbName=Car.db
117- ```
118-
119- 方法:GET
120- 参数:dbName
121- 响应:
122-
123- ```
124- {
125- "success": true,
126- "message": "ok",
127- "obj": [
128- "cars"
129- ]
130- }
131- ```
132-
133- ---
134- ##### 查询数据
135-
136- ```
137- http://127.0.0.1:8089/db/query?dbName=Car.db&tableName=cars
138- ```
139-
140- 方法:GET
141- 参数:
142-
143- | 参数 | 描述 |
144- | --- | --- |
145- | dbName | 数据库名称 |
146- | tableName | 表名 |
147- | condition | 查询条件 |
148- | limit | 查询多少条 |
149- | offset | 偏移量 |
150-
151- 响应:
152- ```
153- {
154- "success": true,
155- "message": "ok",
156- "obj": {
157- "columns": [
158- {
159- "columnName": "id",
160- "isPrimary": true
161- },
162- {
163- "columnName": "name",
164- "isPrimary": false
165- },
166- {
167- "columnName": "color",
168- "isPrimary": false
169- },
170- {
171- "columnName": "mileage",
172- "isPrimary": false
173- }
174- ],
175- "list": [
176- {
177- "id": 1,
178- "name": "name_0",
179- "color": "RED",
180- "mileage": 10.449999809265137
181- },
182- {
183- "id": 2,
184- "name": "name_1",
185- "color": "RED",
186- "mileage": 11.449999809265137
187- },
188- {
189- "id": 3,
190- "name": "name_2",
191- "color": "RED",
192- "mileage": 12.449999809265137
193- },
194- {
195- "id": 4,
196- "name": "name_3",
197- "color": "RED",
198- "mileage": 13.449999809265137
199- }
200- ],
201- "pageInfo": {
202- "count": 50
203- }
204- }
205- }
206- ```
207-
208- ---
209- ##### 插入数据
210-
211- ```
212- http://127.0.0.1:8089/db/insert
213- ```
214-
215- 方法:POST
216- 参数:
217-
218- | 参数 | 描述 |
219- | --- | --- |
220- | dbName | 数据库名 |
221- | tableName | 表名 |
222- | newValue | 插入值的json |
223-
224- 响应:
225- ```
226- {
227- "success": true,
228- "message": "ok",
229- "obj": null
230- }
231- ```
232-
233- ---
234- ##### 更新数据
235-
236- ```
237- http://127.0.0.1:8089/db/update
238- ```
239-
240- 方法:POST
241- 参数:
242-
243- | 参数 | 描述 |
244- | --- | --- |
245- | dbName | 数据库名 |
246- | tableName | 表名 |
247- | condition | 条件 |
248- | newValue | 新值 |
249-
250- 响应:
251- ```
252- {
253- "success": true,
254- "message": "ok",
255- "obj": null
256- }
257- ```
258-
259- ---
260- ##### 删除数据
261-
262- ```
263- http://127.0.0.1:8089/db/delete
264- ```
265-
266- 方法:GET
267- 参数:
268-
269- | 参数 | 描述 |
270- | --- | --- |
271- | dbName | 数据库名 |
272- | tableName | 表名 |
273- | condition | 条件 |
274-
275- 响应:
276- ```
277- {
278- "success": true,
279- "message": "ok",
280- "obj": null
281- }
282- ```
283-
284- ---
285- ##### 查看当前数据库版本号
286-
287- ```
288- http://127.0.0.1:8089/db/version
289- ```
290-
291- 方法:GET
292- 参数:
293-
294- | 参数 | 描述 |
295- | --- | --- |
296- | dbName | 数据库名 |
297-
298- 响应:
299- ```
300- {
301- "success": true,
302- "message": "ok",
303- "obj": {
304- "version":20
305- }
306- }
307- ```
308-
309- ---
310- ##### 查看表数据个数
311-
312- ```
313- http://127.0.0.1:8089/db/count
314- ```
315-
316- 方法:GET
317- 参数:
318-
319- | 参数 | 描述 |
320- | --- | --- |
321- | dbName | 数据库名 |
322- | tableName | 表名 |
323- | condition | 条件 |
324-
325- 响应:
326- ```
327- {
328- "success": true,
329- "message": "ok",
330- "obj": {
331- "count":50
332- }
333- }
334- ```
335-
336- #### SDCard工具
337- ##### 查看当前目录下所有文件和文件夹
338- ```
339- 127.0.0.1:8089/disk/list?type=sdcard&/data/io.lecon/
340- ```
341- 方法:GET
342- 参数:
343-
344- | 参数 | 描述 |
345- | --- | --- |
346- | type | sdcard、inner SD卡还是App内部存储 |
347- | path | 要列出的目录 |
348-
349- 响应:
350- ```
351- {
352- "success": true,
353- "message": "ok",
354- "obj": [
355- {
356- "filename": "log",
357- "isFolder": true,
358- "size": 0,
359- "permission": "rwx",
360- "realPath": "/storage/emulated/0/data/io.lecon/log"
361- }
362- ]
363- }
364- ```
365-
366- ---
367- ##### 重命名
368- ```
369- 127.0.0.1:8089/disk/rename?type=inner&/data/io.lecon/
370- ```
371- 方法:GET
372- 参数:
373-
374- | 参数 | 描述 |
375- | --- | --- |
376- | type | sdcard、inner SD卡还是App内部存储 |
377- | path | 要列出的目录 |
378-
379- 响应:
380- ```
381- {
382- "success": true,
383- "message": "ok",
384- "obj": null
385- }
386- ```
387-
388- ---
389- ##### 删除当前目录下所有文件和文件夹
390- ```
391- 127.0.0.1:8089/disk/delete?type=sdcard&/data/io.lecon/
392- ```
393- 方法:GET
394- 参数:
395-
396- | 参数 | 描述 |
397- | --- | --- |
398- | type | sdcard、inner SD卡还是App内部存储 |
399- | path | 要列出的目录 |
400-
401- 响应:
402- ```
403- {
404- "success": true,
405- "message": "ok",
406- "obj": null
407- }
408- ```
409-
410- ---
411-
412- #### 其他
413- ##### 下载
414- 遇到文件下载,遇见文件夹压缩后下载
415- ```
416- 127.0.0.1:8089/file/you/file/path
417- ```
418- 方法:GET
419- 参数:无
420- 响应:
421- ```
422- {
423- "success": true,
424- "message": "ok",
425- "obj": null
426- }
427- ```
428-
429- ---
430-
0 commit comments