接上次文章講,當(dāng)我想用adb命令模擬發(fā)廣播時(shí)候發(fā)現(xiàn): 這樣是接收不到任何廣播姐帚。后面發(fā)現(xiàn)在廣播原理里面有一個(gè)關(guān)鍵類中打出了日志琐驴。 出現(xiàn)這個(gè)問(wèn)題的原因是Android o版本以后...
接上次文章講,當(dāng)我想用adb命令模擬發(fā)廣播時(shí)候發(fā)現(xiàn): 這樣是接收不到任何廣播姐帚。后面發(fā)現(xiàn)在廣播原理里面有一個(gè)關(guān)鍵類中打出了日志琐驴。 出現(xiàn)這個(gè)問(wèn)題的原因是Android o版本以后...
我們都知道安卓補(bǔ)間動(dòng)畫的使用,系統(tǒng)為我們封裝了幾個(gè)基本的動(dòng)畫,也就是ScaleAnimation,AlphaAnimatioon,RotateAnimation,Transl...
在我們開發(fā)Android中有多種數(shù)據(jù)存儲(chǔ)方案,例如常見的文件存儲(chǔ)圈驼,Sqlite,網(wǎng)絡(luò)也算是一種存儲(chǔ)方案,但是Android系統(tǒng)為我們提供了一種更加方便的一種數(shù)據(jù)存儲(chǔ)方式望几。那就...
LinearLayout里面嵌套了Button绩脆,LinearLayout 設(shè)置了onClick 事件,但是Button 沒(méi)有設(shè)置點(diǎn)擊事件橄抹,當(dāng)我點(diǎn)擊Button 的時(shí)候靴迫,Lin...
題目如下:View事件傳遞;事件是從哪里到達(dá)Activity的楼誓?ViewRootImpl的作用玉锌?有A、B兩個(gè)Button疟羹,各自設(shè)置了OnClickListener主守,在A上按下...
位運(yùn)算在實(shí)際開發(fā)中的使用 在日常生活中禀倔,我們可以通過(guò)位運(yùn)算來(lái)簡(jiǎn)化一些操作,例如服務(wù)器返回一個(gè)數(shù)字参淫,可能存在幾種狀態(tài)疊加的情況救湖,如果按照傳統(tǒng)的比較麻煩,這時(shí)候就需要利用位運(yùn)算涎才。...
安卓系統(tǒng)自帶了長(zhǎng)按事件鞋既,setOnLongClickListener事件即可監(jiān)聽,但是有時(shí)候希望自定義這個(gè)時(shí)間耍铜,這時(shí)候就需要來(lái)定義這個(gè)長(zhǎng)按事件了邑闺。 下面的代碼定義一個(gè)閥值TO...
我們平常通過(guò)xml編寫的布局是如何轉(zhuǎn)換成android中的一個(gè)View對(duì)象從而顯示在應(yīng)用程序中的呢?這就是LayoutInflater. setContentView底層原理...
ViewStub更加輕量級(jí)业扒,它本身是一個(gè)不可見的 View检吆,資源消耗比較小,只有調(diào)用了ViewStub.inflate()的時(shí)候加載布局程储,布局才會(huì)實(shí)例化。 下面我們直接進(jìn)行源...
注解@Retention用來(lái)修飾注解臂寝,是注解的注解章鲤。稱為元注解。 Retention注解有一個(gè)屬性value,是RetentionPolicy枚舉類型咆贬,決定了Retentio...
1 負(fù)責(zé)客戶端核心代碼的編寫工作败徊。 2 負(fù)責(zé)項(xiàng)目框架的搭建,關(guān)鍵技術(shù)選型掏缎,技術(shù)難題攻關(guān)皱蹦。 3 負(fù)責(zé)優(yōu)化移動(dòng)產(chǎn)品的質(zhì)量,性能眷蜈,提升用戶體驗(yàn)沪哺。 4 帶領(lǐng)并指導(dǎo)開發(fā)工程師進(jìn)行代碼開...
java jdk動(dòng)態(tài)代理離不開兩個(gè)核心的類 java.lang.reflect.Proxy java.lang.reflect.InvocationHandler接口 我們以...
我們都知道多線程是在一個(gè)進(jìn)程中運(yùn)行的,共享一個(gè)進(jìn)程中的資源酌儒,再加上cpu在多個(gè)線程直接的切換是沒(méi)有確定性的辜妓,我們不知道它什么時(shí)候會(huì)中斷當(dāng)前線程去到另一個(gè)線程,所以很容易出現(xiàn)各...
1 向上轉(zhuǎn)型: 假設(shè)有一個(gè)Fruit類忌怎,類中有一個(gè)show方法籍滴。 有一個(gè)Apple類繼承自Fruit類,該類有自己的方法test()榴啸,并且重寫了父類的show()方法孽惰,代碼如...
1 使用線程池方法: 運(yùn)行效果可以看到: 2 使用countDownLatch同步工具類 CountDownLatch countDownLatch=new CountDow...
1 開門見山看一道面試題: 答案有點(diǎn)意外吧 我們分析下: 2 類從被加載到虛擬機(jī)內(nèi)存開始,直到卸載出內(nèi)存為止酝润,它的整個(gè)生命周期包括了:加載燎竖,驗(yàn)證,準(zhǔn)備要销,解析 初始化 构回,使用 ...
1 不可變的原因 String的主要成員變量char value[]是private final類型的 String被聲明為final class的 2 不可變的好處 可以緩...
內(nèi)部類:定義在另一個(gè)類中的類疏咐,它體現(xiàn)了一種代碼的隱藏機(jī)制和訪問(wèn)控制機(jī)制纤掸。當(dāng)往往只有外部類調(diào)用此類時(shí),所以就沒(méi)必要專門設(shè)置一個(gè)JAVA文件存放這個(gè)類浑塞。 分為 成員內(nèi)部類借跪,局部?jī)?nèi)...
1 寫一個(gè)類繼承自ViewGroup 2 在onMeasure計(jì)算出ViewGroup占據(jù)的大小 也就是寬和高 3 接著在onLayout中在ViewGroup的寬高內(nèi)一個(gè)一...