APP集成百度地圖后,開發(fā)者模式直接連接真機(jī)可以打開地圖,打包成apk后安裝,應(yīng)用直接閃退
光明ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
驗(yàn)證了3個(gè)環(huán)境
a、Android 6.0
b、Android 9.0
c、Android 8.1
真機(jī)USB線連接
選擇Logcat,將日志級別選擇未error,日志太多,或者用自定義的過濾規(guī)則
先清除日志,后迅速點(diǎn)擊手機(jī)上的APP,觀察日志
發(fā)現(xiàn)需要監(jiān)控的APP報(bào)出異常信息,這個(gè)很關(guān)鍵,有異常就是有線索,couldn't find "libflutter.so"
這個(gè)時(shí)候問度娘就可以了
未明白具體的原因,臨時(shí)先解決了問題,馬克一下
之前安裝flutter sdk已經(jīng)安裝ok了,但是最近升級了一下flutter版本到1.26,發(fā)現(xiàn)崩了,記錄一下出的錯(cuò)及解決方法。
提前已經(jīng)安裝好android studio 及 android 環(huán)境
1,運(yùn)行flutter_console,輸入flutter doctor 閃退問題
cmd閃退,放到PowerShell中執(zhí)行,我是發(fā)現(xiàn)以下的錯(cuò)誤
fix:PowerShell最低要求為5.0,
升級方案:
2:運(yùn)行flutter doctor 無反應(yīng)問題
第一種方案-檢查環(huán)境變量配置
第二種方案-fc
3:android studio創(chuàng)建flutter project時(shí)間比較長問題
運(yùn)行flutter
報(bào)錯(cuò)提示上看得執(zhí)行flutter doctor --android-licenses
到此就可以正常執(zhí)行了
此控件的package我已經(jīng)托管到了 pub倉庫
如果你被墻住了,也可以看 國內(nèi)鏡像
使用方式就是在你的flutter pubspec.yaml中添加依賴:
然后flutter packages get更新依賴即可
最近寫demo時(shí)發(fā)現(xiàn)Flutter自帶的ListView widget很簡陋,沒有分隔線,沒有section/row之分,也沒有sectionHeader,如果要實(shí)現(xiàn)一個(gè)有分割線,有section區(qū)分,有section header的ListView,耦合會(huì)非常嚴(yán)重:
在 上沒有找到封裝好的這種TableView,于是乎決定自己寫一個(gè),命名為SectionTableView
本人是iOS開發(fā),所以習(xí)慣了iOS上的UITableView的調(diào)用風(fēng)格,所以在實(shí)現(xiàn)flutter的SectionTableView時(shí),決定實(shí)現(xiàn)如下功能
為了實(shí)現(xiàn)這些功能,并且方便后期增加滾動(dòng)功能,上下拉刷新功能,使用了StatefulWidget作為父類:
接著在對應(yīng)的_SectionTableViewState中的build方法中,返回ListView:
熟悉flutter ListView的同學(xué)知道,ListView的builder類方法,有一個(gè)itemBuilder回調(diào)函數(shù),參數(shù)是當(dāng)前的上下文,和將要渲染的行索引index,index對應(yīng)想要獲取的某一行控件(cell或者叫ListItem),返回非空的組件就證明這個(gè)index有值,返回null就表示列表到盡頭了。
我們需要做的就是對index進(jìn)行映射,判斷當(dāng)前index對應(yīng)的控件,應(yīng)該是列表里的section header,還是分隔線devider,還是某一行的真正內(nèi)容cell。
出于性能的考慮,不可能每次調(diào)用 _buildCell的時(shí)候,都計(jì)算一遍index對應(yīng)的section和row的位置,所以定義了一個(gè)類成員變量indexPathSearch,是數(shù)組,數(shù)組長度就是ListView所有的行,當(dāng) _buildCell 的參數(shù)index大于等于indexPathSearch的長度的時(shí)候,就返回null,表示列表內(nèi)容到此為止了。
indexPathSearch里每一個(gè)元素,就是index對應(yīng)的section和row(稱為indexPath),index指向?qū)嶋H行(cell)的時(shí)候,section和row都是大于等于0的,當(dāng)section大于等于0,row==-1的時(shí)候,表示這里是一個(gè)section header,當(dāng)兩者都等于-1的時(shí)候,表示這里是一個(gè)分割線:
計(jì)算好了index到indexPath的映射,剩下的就好說了,在_buildCell中,提取indexPath并判斷indexPath的內(nèi)容,返回對應(yīng)的控件:
這是我的第一個(gè)flutter package,目前還很簡陋,flutter目前尚且如此,所以大家一起改善它,
下一步將優(yōu)化如下內(nèi)容:
如果大家喜歡,請多多star我的 項(xiàng)目GitHub