1.開發小tipsandroid
看項目代碼的時候發現了一些不起眼但以爲蠻實用的小tips,在實習隨筆|週記(一)寫的tools命名空間就是一點,可幫助快速預覽佈局展現效果。接下來再提一些小技巧。git
a .值得收藏的AS插件 ,另推薦可用Statistic插件統計項目代碼總行數、Alibaba Java Coding Guidelines插件幫助規範代碼。github
b.你不知道的TextUtils用法,好比TextUtils.isDigitsOnly(string)
可檢查字符串中是否全是數字。算法
c.TextView屬性大全,好比android:drawableXXX
系列配合android:drawablePadding
適合在文字左側放固定大小的圖片。數組
d.TextView/string.xml冷門小技巧:佔位轉換符%1$s
、%2$d
等的用法,其中%1$s
表示第一個字符串、%2$d
表示第二個整數。使用示例以下:安全
<string name="instance">String.xml佔位轉換符:我叫%1$s,今年%2$d歲了,身高%3$f米。</string>
複製代碼
TextView tv=(TextView)findViewById(R.id.tv);
String format = getResources().getString(R.string.instance);
String result= String.format(format ,"minmin", 21 ,164.5);
tv.setText(result);
複製代碼
String.xml佔位轉換符:我叫minmin,今年21歲了,身高164.5米。
複製代碼
2.Java基礎之集合類bash
a.做用:負責保存和盛裝其餘數據,又稱容器類。數據結構
和數組的區別:多線程
- 數組元素能夠是基本類型,也能夠是對象
- 集合元素只能是對象
b.體系結構:大體可分爲Set、List、Queue 和Map四種體系。併發
下圖給出Java集合類之間的關係。
c.篇幅有限,主要介紹上圖中紅色標註的幾個類/接口(須要瞭解源碼請點擊類名)。
(1)Collection接口:
add()
、刪除對象remove()
、清空容器clear()
、判斷容器是否爲空isEmpty()
等。(2)List系列:有序、可重複
(3)Set系列:無序、不可重複
equal()
判斷兩個元素是否相等,並兩個元素的hashCode()
返回值也相等compareTo()
比較兩個元素之間大小關係,而後按升序排列;後者經過實現Comparator接口中的compare()
比較兩個元素之間大小關係,實現定製排列。(4)Iterator接口:
hasNext()
,可經過remove()
刪除集合中上一次next()
返回的集合元素。(5)Map接口:
put()
和刪除remove()
key-value對,獲取指定key的valueget()
、判斷是否包含指定keycontainsKey()
和指定valuecontainsValue()
等。(6)Map系列
3.一些小感悟
最近你們都進入了白熱化狀態,離項目上線的日子愈來愈近,重心也從需求開發到糾錯改Bug,每一個人都變得很謹慎。記得下班最晚的上週五,一大早拿到了測試用例文檔以後,要對照着用例的每一條每一個點,檢查要求是否合理、運行後實際結果是否無誤。一度覺得要週末加班要繼續搞(雖然我也一直是加班學習沒閒着...),好在團結力量大,在提測以前的deadline終於大功告成。
那天還有個小插曲,承包了一夜的笑點,就是可愛的田豐前輩,臨提測才發現頁面UI不對,就像熱鍋的螞蟻同樣七上八下,在調試的時候一度抓不上包,自亂陣腳覺得出了大bug,就在這時,旁邊的楊宇前輩很淡定的把數據線從他的電腦拔出來,場面能夠說很歡樂了。
自測以後,在測試用例評審會上見到了QA,以前聽聞公司QA是很嚴格的,不禁得肅然起敬。其實這和公司價值觀的其中一點『追求卓越』是分不開的,很是注重代碼質量,對線上事故也是嚴肅對待,員工入職的第一天就要研讀CaseStudy,看看以前事業羣研發曾犯過的錯以及開發紅線。
導師前陣子請了陪產假,他的開發部分也就由我接手了,這兩天組裏要進行代碼review,於我而言算是個大事,畢竟代碼不是本身寫的。思來想去,以爲用UML圖去刻畫類組成和邏輯實現流程最好不過了,忽然很是感激大三最後一門課程『信息系統分析與設計』讓我對UML愛不釋手!(畢竟以前總用PhotoShop...)雖然課上用的是Visio做圖,不過我的更推薦ProcessOn,交互設計上更勝一籌。
公司裏有這樣一句開發者的信仰流傳在民間,簡直振聾發聵,那就是『要麼牛逼,要麼滾蛋』,小菜鳥不由渾身顫抖,因此...共勉吧!