精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

新版Glance發(fā)布,更好用的Android數(shù)據(jù)庫調(diào)試助手

移動開發(fā) Android
Glance是一個由我開發(fā)的用于調(diào)試Android數(shù)據(jù)庫的開源庫,無須借助電腦和數(shù)據(jù)線,直接在手機(jī)上就可以查看當(dāng)前App中數(shù)據(jù)庫的內(nèi)容。

[[420558]]

本文轉(zhuǎn)載自微信公眾號「郭霖」,作者郭霖。轉(zhuǎn)載本文請聯(lián)系郭霖公眾號。

Glance是一個由我開發(fā)的用于調(diào)試Android數(shù)據(jù)庫的開源庫,無須借助電腦和數(shù)據(jù)線,直接在手機(jī)上就可以查看當(dāng)前App中數(shù)據(jù)庫的內(nèi)容。

Glance的1.0版本于去年12月份推出,具體功能可以參考這篇文章 我又開發(fā)了一個非常好用的開源庫 。

然而自從首個版本推出之后,Glance就再也沒有更新過。主要還是因?yàn)槲覍?shí)在是太忙了,平時只能用零散的業(yè)余時間寫寫博客,還有3個開源項(xiàng)目要同時維護(hù),能分配到Glance上的時間實(shí)在有限。

然而就這樣零零散散地寫了8個多月的代碼,Glance確實(shí)變得比之前更加優(yōu)秀了。雖然增加的一些新功能看上去并不是很重要,但累積多了之后,我認(rèn)為這已經(jīng)足以發(fā)布一個全新的版本了。

那么Glance 1.1.0版本今天正式發(fā)布,就讓我來帶著大家看看新版的Glance到底多了哪些新功能吧。

/ 支持顯示Room數(shù)據(jù)庫 /

之前有不少朋友在使用Glance的時候向我反饋,說有些數(shù)據(jù)庫Glance是顯示不出來的,包括使用Room創(chuàng)建的數(shù)據(jù)庫。

之所以會出現(xiàn)這樣的情況,是因?yàn)镚lance在搜索數(shù)據(jù)庫文件時只是簡單地以.db后綴名來作為判斷條件。這種方式優(yōu)點(diǎn)是效率非常高,但缺點(diǎn)也很明顯,搜索的結(jié)果不準(zhǔn)。因?yàn)橛行?shù)據(jù)庫文件并不是以.db為后綴的,比如說Room創(chuàng)建的數(shù)據(jù)庫默認(rèn)都是無后綴的。

因此,在新版的Glance當(dāng)中,我將搜索規(guī)則進(jìn)行了修改,不再是簡單地以后綴名來進(jìn)行判斷,而是真正地去判斷該文件是不是一個數(shù)據(jù)庫文件。

Android上的數(shù)據(jù)庫文件如果以二進(jìn)制的方式去讀取它,它的頭部一定是以"SQLite format 3"開始的,所以通過以下代碼就能夠準(zhǔn)確地判斷出一個文件是不是數(shù)據(jù)庫文件:

  1. /** 
  2.  * Check this file is valid SQLite db file or not
  3.  */ 
  4. fun File.isValidDBFile() = try { 
  5.     val reader = FileReader(this) 
  6.     val buffer = CharArray(16) 
  7.     reader.read(buffer, 0, 16) 
  8.     val str = String(buffer) 
  9.     reader.close() 
  10.     str == "SQLite format 3\u0000" 
  11. } catch (e: Exception) { 
  12.     e.printStackTrace() 
  13.     false 

雖然對所有文件都執(zhí)行這樣的判斷必然會影響一定的搜索效率,但是Glance還同時擁有對數(shù)據(jù)庫文件的緩存機(jī)制,之前搜索過的結(jié)果會迅速展示出來,因此在這方面能彌補(bǔ)一些效率的問題。

/ 允許橫向縱向同時滾動 /

Glance查看數(shù)據(jù)庫表內(nèi)容的界面做得還算是比較精美的,如下圖所示:

這個界面是使用橫向ScrollView加縱向RecyclerView的方式來實(shí)現(xiàn)的,所以支持在橫向和縱向兩個方向上滑動。

但是同一時刻,我們只能進(jìn)行橫向滑動或縱向滑動,不支持在橫向和縱向上同時滑動。

這里我要特別感謝ultimateHandsomeBoy666這位網(wǎng)友,他向Glance提交了一個Pull request,使得我們可以在橫向和縱向上同時滑動來查看數(shù)據(jù)。

至于實(shí)現(xiàn)的原理也很簡單:

  1. /** 
  2.  * deal with the motion event to scroll, while passing the event downwards 
  3.  */ 
  4. override fun dispatchTouchEvent(ev: MotionEvent?): Boolean { 
  5.     onTouchEvent(ev) 
  6.     return super.dispatchTouchEvent(ev) 
  7.  
  8. /** 
  9.  * do not intercept touch event so that child scrollable view can also receive event to scroll 
  10.  */ 
  11. override fun onInterceptTouchEvent(ev: MotionEvent?): Boolean = false 

就是在外層的橫向ScrollView當(dāng)中,我們不使用默認(rèn)的onInterceptTouchEvent攔截機(jī)制,而是讓它不要攔截。

然后在dispatchTouchEvent的時候,我們除了自己處理這個Touch事件之外,同時也將事件分發(fā)出去,這樣RecyclerView就可以一起處理這個事件了。

最終的效果如下圖所示:

/ 支持多應(yīng)用入口區(qū)分 /

Glance的入口是會在手機(jī)桌面創(chuàng)建一個Glance的圖標(biāo),點(diǎn)擊該圖標(biāo)即可查看你的應(yīng)用中包含的數(shù)據(jù)庫文件。

然而,我沒想到的一個問題是,假如一個手機(jī)上安裝了很多個應(yīng)用,而這些應(yīng)用都引入了Glance庫,那么會導(dǎo)致你完全分不清楚每個Glance圖標(biāo)到底對應(yīng)的是哪個應(yīng)用。

這個問題也是由一位熱心網(wǎng)友提出我才意識到的:

可以看到,桌面上一堆Glance圖標(biāo),已經(jīng)完全不知道哪個是哪個了。

剛看到這個Bug時,我還沒想好要怎么修,因?yàn)槟莻€時候正在忙著寫另外一個功能。沒想到幾天之后發(fā)現(xiàn)ultimateHandsomeBoy666這位網(wǎng)友又提了一個Pull request,將這個問題給修復(fù)了。

ultimateHandsomeBoy666采取的方案是,桌面Glance的入口圖標(biāo)不再命名成Glance,而是命名成和主App一樣的名字,但是圖標(biāo)仍然保持Glance的樣式,以和主App做區(qū)分。這樣即使有再多的App引用Glance,也不會造成混亂了。

我認(rèn)為這種修改方式非常恰當(dāng),再次感謝ultimateHandsomeBoy666這位朋友的幫助。

/ 允許修改數(shù)據(jù)庫內(nèi)容 /

好吧,我這8個月的主要工作應(yīng)該都在這個功能上了。

之前Glance的主要功能是幫助你查找出當(dāng)前應(yīng)用中所包含的所有數(shù)據(jù)庫,并將它們的內(nèi)容展示出來。

也就是說,你只能看一看里面的數(shù)據(jù)而已。但如果想要對其中的數(shù)據(jù)進(jìn)行修改,這是不可以的。

而修改數(shù)據(jù)是一個非常有用的功能,也是長期以來不少朋友的呼聲。因此Glance 1.1.0版本最重磅的一個功能就是,允許開發(fā)者直接在手機(jī)中對當(dāng)前應(yīng)用的數(shù)據(jù)庫數(shù)據(jù)進(jìn)行修改。

至于修改數(shù)據(jù)的方式也非常簡單,直接在你想要修改的那條數(shù)據(jù)上雙擊即可,如下圖所示:

這種便捷的可視化界面修改數(shù)據(jù)的方式相信許多開發(fā)者朋友都是非常需要的,你完全不需要借助電腦,全部在手機(jī)上就可以完成。

另外我想說的是,Glance展示數(shù)據(jù)庫內(nèi)容的功能是使用Paging 3實(shí)現(xiàn)的。之前我在寫講解Paging 3用法文章的時候,有不少朋友問我在Paging 3中要如何才能修改數(shù)據(jù),聽上去像是一個非常難以完成的事情。由于我當(dāng)時確實(shí)沒有嘗試過修改數(shù)據(jù)這個功能,所以也回答不上來這些朋友的問題。

但是這次在Glance中實(shí)現(xiàn)修改數(shù)據(jù)功能之后,我發(fā)現(xiàn)Paging 3在修改數(shù)據(jù)上并沒有什么無法實(shí)現(xiàn)或難理解的地方,和正常使用RecyclerView時修改數(shù)據(jù)的方法幾乎是差不多的。因此以后如果還有朋友在使用Paging 3時有修改數(shù)據(jù)的疑問,不妨可以參考下Glance的源碼實(shí)現(xiàn)。

最后,使用Glance來修改數(shù)據(jù)還有一個限制,就是表中一定要有主鍵,否則是無法修改的。因?yàn)橹麈I是對一行數(shù)據(jù)的唯一約束,如果沒有主鍵的話,Glance是無法知道用戶想要修改哪一行數(shù)據(jù)的。

/ 如何升級 /

關(guān)于Glance新版本的內(nèi)容變化就介紹到這里,升級的方式非常簡單,修改一下dependencies當(dāng)中的版本號即可:

  1. repositories { 
  2.   google() 
  3.   mavenCentral() 
  4.  
  5. dependencies { 
  6.     debugImplementation 'com.guolindev.glance:glance:1.1.0' 

注意現(xiàn)在一定要使用mavenCentral倉庫,而不能再使用jcenter了。至于原因,可以參考我的這篇文章 淺談JCenter即將被停止服務(wù)的事件 。

如果你對Glance的源碼感興趣,可以訪問Glance的項(xiàng)目主頁:

https://github.com/guolindev/Glance

 

責(zé)任編輯:武曉燕 來源: 郭霖
相關(guān)推薦

2015-07-16 14:51:13

下載助手斷點(diǎn)續(xù)傳多任務(wù)

2010-08-13 16:40:27

CouchDBAndroid SDKAndroid

2025-03-28 07:33:09

數(shù)據(jù)庫AI助手設(shè)計(jì)

2020-11-24 20:54:17

數(shù)據(jù)

2022-06-10 11:32:05

VSCode 中數(shù)據(jù)庫管理SQLTools

2010-11-09 11:30:12

2022-04-25 10:04:56

df命令Linux

2022-04-20 12:17:50

命令Batcat

2011-10-09 09:38:03

OracleNoSQL

2017-03-02 17:10:15

Android數(shù)據(jù)庫調(diào)試

2021-06-08 07:21:29

數(shù)據(jù)脫敏插件

2012-03-14 11:46:30

ibmdw

2012-03-19 10:45:44

ibmdw

2013-11-18 09:51:12

GoogleGoogle Sear

2010-06-10 10:15:50

MySQL數(shù)據(jù)庫查詢

2012-04-28 14:16:42

ForiPhoneV3

2010-04-09 16:51:24

Oracle數(shù)據(jù)庫

2020-07-17 08:20:27

數(shù)據(jù)庫開源技術(shù)

2023-08-10 08:28:15

Windows 11微軟
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

久久久美女毛片| 爽爽窝窝午夜精品一区二区| 亚洲三级免费观看| 成人av播放| 日韩免费一级片| 九九热精品视频在线观看| 欧美日韩视频在线观看一区二区三区| 欧美一级黄色录像片| 五月婷中文字幕| 美女网站色91| 久久久久久综合网天天| 特级西西www444人体聚色| 免费观看在线一区二区三区| 欧美香蕉大胸在线视频观看| 亚洲天堂第一区| 三级做a全过程在线观看| 国产主播一区二区| 欧洲精品久久久| 日韩黄色免费观看| 欧美日韩精品在线一区| 亚洲国产高清高潮精品美女| 日本国产一级片| 中文在线中文资源| 一卡二卡欧美日韩| 一区二区三区国| 国产福利片在线| 2024国产精品| 国产精品免费区二区三区观看| 91精品中文字幕| 亚洲少妇在线| 久久久久久久久久久久久夜| 欧美日韩国产中文字幕| 亚洲一卡二卡三卡| 欧美在线观看在线观看| 蜜桃视频在线观看一区二区| 91精品国产乱码久久久久久久久 | 精品国产乱码一区二区三| 午夜影院日韩| 91精品国产91久久久久久吃药| 国产女人被狂躁到高潮小说| 欧美电影免费播放| 中文字幕日韩欧美| 久久久精品成人| 国产伦精品一区二区三区千人斩| 日韩av在线免费观看| av漫画在线观看| 亚洲国产欧美在线观看| 日韩一区二区三区精品视频| 奇米视频888| 亚洲精品伊人| 4438x成人网最大色成网站| 欧美日韩一区二区三区69堂| 日韩三区免费| 欧美影院一区二区| 自拍偷拍21p| 亚洲精品aaa| 8x8x8国产精品| www.日本久久| 97一区二区国产好的精华液| 精品国产成人系列| 亚洲av成人片色在线观看高潮| 精品国产导航| 亚洲美女性视频| 一区二区三区在线观看免费视频| 精品视频99| 久久精品国产91精品亚洲| 国产精品久久久精品四季影院| 一区二区蜜桃| 久久免费少妇高潮久久精品99| 欧美日韩精品区| 三级久久三级久久久| 国产精品露脸自拍| 国产xxxx孕妇| 99久久精品国产麻豆演员表| 欧美尤物一区| 岛国中文字幕在线| 亚洲成人免费在线观看| 欧美v在线观看| 男女啪啪999亚洲精品| 欧美一级久久久| 亚洲一区二区三区综合| 成人3d动漫在线观看| 不卡av电影在线观看| 国产亚洲成人精品| 日韩电影一区二区三区四区| 亚洲一区二区中文字幕| 午夜av免费在线观看| 中文字幕不卡在线播放| 黄色三级中文字幕| 欧美在线va视频| 欧美二区在线观看| 日韩成人av一区二区| 久久精品不卡| 国内成人精品一区| 一级黄色a视频| www.成人在线| 欧美亚洲视频一区| 成人免费看黄| 日韩欧美第一区| 日本欧美一区二区三区不卡视频| 欧美久久99| 国产精品视频免费在线观看| 免费国产黄色片| 成人免费一区二区三区在线观看| 色综合久久久久无码专区| 深夜日韩欧美| 亚洲女人天堂av| 欧美黄色一区二区三区| 另类调教123区| 免费亚洲一区二区| 黄网在线免费看| 欧美另类高清zo欧美| 成年人在线观看av| 激情久久婷婷| 亚洲专区中文字幕| 东凛在线观看| 日韩欧美在线国产| 国产精品手机在线观看| 伊人久久大香线蕉精品组织观看| 国产成人短视频| 色欲久久久天天天综合网| 亚洲视频一区在线| 一区二区xxx| 欧美热在线视频精品999| 久久久久久久一| 国产乱人乱偷精品视频| 国产精品麻豆网站| 国产视频一区二区三区在线播放 | 国产精品99久久久| 亚洲巨乳在线观看| 最新日韩一区| 亚洲人成免费电影| 中文字字幕在线中文| 99精品久久只有精品| 欧美男女爱爱视频| 国产精品视频3p| 久久久久久12| 亚洲精品一区二区三区不卡| 亚洲精品成人在线| 韩国一区二区在线播放| 亚洲精品网址| 91传媒在线免费观看| 久久99精品久久久久久野外| 欧美日韩高清一区二区三区| 老司机福利在线观看| 日本91福利区| 日韩性感在线| 国产成人免费| 精品精品国产国产自在线| 一本色道久久综合无码人妻| 国产精品成人一区二区三区夜夜夜| 欧美伦理片在线观看| 欧美精品系列| 国产日韩欧美91| 国产在线观看a视频| 91精品国产福利| 亚洲一级生活片| 国产精品18久久久久| 国产va亚洲va在线va| 加勒比久久高清| 国产成人亚洲综合91精品| 福利视频在线播放| 欧美一区二区女人| 久久久久无码精品国产| 99精品国产一区二区三区不卡| 国产黄页在线观看| 国产欧美日韩在线一区二区| 国产在线久久久| 午夜成年人在线免费视频| 亚洲第一级黄色片| 亚洲欧美一二三区| 亚洲欧洲日韩在线| 亚洲精品第二页| 久久午夜av| 久久国产精品免费观看| 精品午夜电影| 国产欧美中文字幕| 国产精品区在线| 国内精品久久久久久久久电影网| 国产精品一区二区三区毛片淫片| 成人短视频在线观看| 亚洲国产欧美在线成人app| 天堂网中文字幕| 亚洲人成小说网站色在线| 女性生殖扒开酷刑vk| 日韩影院免费视频| 91看片淫黄大片91| 欧美猛男做受videos| 成人在线免费观看视视频| 暧暧视频在线免费观看| 一区二区在线免费视频| 亚洲欧美黄色片| 欧美在线观看一二区| 国产在线观看免费av| 久久精品夜夜夜夜久久| 国产a√精品区二区三区四区| 视频一区视频二区在线观看| 成年在线观看视频| 欧美在线色图| 久久精精品视频| 日韩激情精品| 国产精品免费久久久| 精精国产xxx在线视频app| 精品国产区一区二区三区在线观看 | 日韩理伦片在线| 日韩av一区在线观看| 国产视频一区二区三| 日本高清不卡aⅴ免费网站| 久久久久免费看| 中文字幕一区二区日韩精品绯色| 91中文字幕永久在线| 粉嫩一区二区三区在线看| 亚洲欧美自拍另类日韩| 久久久天天操| 怡红院av亚洲一区二区三区h| 午夜国产精品视频| 一区二区不卡在线观看| 红桃视频在线观看一区二区| 国内视频一区二区| 一区二区三区高清在线观看| 成人av资源在线播放| www.成人在线视频| 欧美一区二区三区艳史| 91丝袜在线| 欧美理论电影在线观看| 黄色一级片在线观看| 一区二区国产精品视频| 蜜桃成人在线视频| 日韩精品中文字幕有码专区| 日本韩国免费观看| 亚洲第一天堂av| www.97超碰| 欧美一个色资源| 国产视频在线观看视频| 7777精品伊人久久久大香线蕉的| 中文字幕+乱码+中文乱码www| 色婷婷狠狠综合| 日韩在线视频不卡| 色综合一区二区三区| 全部毛片永久免费看| 天天做天天摸天天爽国产一区| 福利一区二区三区四区| 午夜精品福利视频网站| 日本三级一区二区| 黑人精品xxx一区| 国产字幕在线观看| 欧美在线免费播放| 中文字幕在线一| 欧美日本视频在线| 国产高清精品软件丝瓜软件| 日韩一二三四区| 亚洲AV无码精品自拍| 亚洲第一在线视频| 色av男人的天堂免费在线| 亚洲欧洲国产伦综合| 大地资源中文在线观看免费版 | 羞羞视频在线免费国产| 久久99热精品这里久久精品| 99热99re6国产在线播放| 热re91久久精品国99热蜜臀| av免费在线一区| 成人黄色片在线| 9l视频自拍蝌蚪9l视频成人| 国产日韩三区| 国产在线观看91一区二区三区| 色乱码一区二区三在线看| 97精品一区二区| 女人色极品影院| 麻豆精品网站| 亚洲欧美日韩精品一区| 高清国产午夜精品久久久久久| 国产精品无码在线| 亚洲国产精品99久久久久久久久| 国产亚洲精品久久久久久豆腐| 亚洲精品一二三| 日韩成人高清视频| 欧美午夜理伦三级在线观看| 国产欧美久久久| 日韩激情在线视频| 在线中文资源天堂| 久久久久久久网站| 国产亚洲欧美日韩精品一区二区三区 | 99在线观看视频免费| 麻豆9191精品国产| 亚洲午夜精品在线观看| 久久久久久免费毛片精品| 成人高潮免费视频| 懂色av中文一区二区三区天美 | 欧洲一区二区三区精品| 91视频88av| 夜夜春成人影院| 视色,视色影院,视色影库,视色网 日韩精品福利片午夜免费观看 | 91丨porny丨蝌蚪视频| av资源在线免费观看| 激情成人中文字幕| 国产精品毛片一区视频播 | 欧美日韩一区久久| 日韩一级免费毛片| 久久久电影免费观看完整版| 中文一区一区三区高中清不卡免费 | 欧美日韩综合一区二区三区| 欧美一级搡bbbb搡bbbb| 国产在线观看网站| 97精品欧美一区二区三区| 四虎国产精品免费久久| 欧美日韩在线高清| 亚洲国产一区二区三区a毛片 | 五月天婷婷导航| 精品国产乱码久久久久久久| 香蕉视频在线播放| 日韩av免费看网站| 欧美精品密入口播放| 91网站在线观看免费| 六月丁香婷婷久久| 国产又黄又粗视频| 欧美视频在线观看免费网址| 成人免费视频国产| 欧美成年人视频| av日韩久久| 一区二区三区精品国产| 蜜臀av一区二区| 中文字幕第24页| 日韩欧美在线播放| 男操女在线观看| 日韩**中文字幕毛片| 欧美尿孔扩张虐视频| 婷婷五月综合缴情在线视频| 国产不卡在线一区| 久草国产在线视频| 欧美第一区第二区| 污片视频在线免费观看| 亚洲xxxx在线| 你懂的国产精品永久在线| 超碰在线免费av| 亚洲女与黑人做爰| 成 人 免费 黄 色| 欧美激情一二区| 精品福利网址导航| 女人和拘做爰正片视频| 91美女精品福利| 欧美精品一二三四区| 亚洲欧美制服综合另类| 日韩成人高清| 一区二区三区国| 国产精品1区2区3区在线观看| 欧美黄片一区二区三区| 精品黑人一区二区三区久久 | 同产精品九九九| 无码国产精品一区二区免费16| 91精品国产电影| 国产精品一线天粉嫩av| 一区二区三区韩国| 国产精品区一区二区三| 国产人妖在线播放| 欧美疯狂做受xxxx高潮| 美女视频免费精品| 久久久久久久久久福利| 国产精品天干天干在线综合| 国产精品美女一区| 久久久久久国产三级电影| 亚洲精品**不卡在线播he| 欧美一级特黄a| 亚洲精品高清视频在线观看| 性xxxx视频| 国产精品免费在线免费| 亚洲色图国产| 好男人香蕉影院| 欧美影视一区在线| а√天堂8资源在线官网| 国产一区二区三区av在线 | 好吊操视频这里只有精品| 性久久久久久久| 国产精品影院在线| 亚洲自拍偷拍在线| 亚洲一区二区毛片| 自拍偷拍第9页| 亚洲国产三级网| 99久久精品一区二区成人| 91亚洲精品国产| 中文字幕不卡三区| 婷婷久久久久久| 国产在线高清精品| 国产精品一区毛片| 人人澡人人澡人人看| 日韩精品视频在线观看免费| 婷婷激情成人| a在线视频观看| 亚洲欧美另类图片小说| 毛片在线播放网址| 成人一区二区三区四区| 日韩中文字幕区一区有砖一区 | 日韩视频二区| 国产3级在线观看| 亚洲精品视频在线播放| 久久国产精品免费一区二区三区| 岳毛多又紧做起爽| 一区二区三区在线观看国产| 国产日本在线视频| 国产一区二区视频在线免费观看| 日本欧美在线观看|