真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

android詳解,Android概述

android中的xml詳解

1、xml是什么?

成都創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)與策劃設(shè)計(jì),海州網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:海州等地區(qū)。海州做網(wǎng)站價(jià)格咨詢:13518219792

XML指可擴(kuò)展標(biāo)記語言

XML被設(shè)計(jì)用來傳輸和存儲數(shù)據(jù)。

2、android中的xml用來做什么?

android中的xml有很多種,這里暫且只討論layout目錄下的xml文件

作用:存儲數(shù)據(jù)

存儲的數(shù)據(jù),

從總體上:是view或者viewgroup的屬性值

從小范圍:是android原生布局或控件的屬性值(當(dāng)然也可以是存儲用戶自定義布局和屬性的值)

3、xml的Schema

如不了解請移步W3CSchool

Schema詳解

與DTD不同,XML Schema支持?jǐn)?shù)據(jù)類型(data type)和命名空間(namespace)。

4、layout目錄的xml文件

5、總結(jié)

android中所有以.xml文件后綴結(jié)尾的都是xml文件

只要是xml文件,肯定會符合xml樹結(jié)構(gòu)和xml語法

Android中項(xiàng)目中各個(gè)文件夾的含義和用途詳解

原文地址:

1.src:存放所有的*.java源程序。

2.assets:可以存放項(xiàng)目一些較大的資源文件,例如:圖片、音樂、字體等。

3.res:可以存放項(xiàng)目中所有的資源文件,例如:圖片( .png、 .jpg)、文本等。

4.res/drawable-hdpi:保存高分辨率圖片資源,可以使用Resources.getDrawable(id)可以獲得資源類型。

5.res/drawable-ldpi:保存低分辯率圖片資源,可以使用Resources.getDrawable(id)可以獲得資源類型。

6.res/drawable-mdpi:保存中等分辨率圖片資源,可以使用Resources.getDrawable(id)可以獲得資源類型。

7.res/layout:存放所有的布局文件,主要是用于排列不同的顯示組件,在Android程序中要讀取此配置。

8.res/values: 存放一些資源文件的信息,用于讀取文本資源,在本文件夾之中有一些約定的文件名稱:

10.res/raw:自定義的一些原生文件所在目錄,像音樂、視頻等文件格式。存放直接復(fù)制到設(shè)備中的任意文件。它們無需編譯,添加到你的應(yīng)用程序編譯產(chǎn)生的壓縮文件中。要使用這些資源,可以調(diào)用 Resources.openRawResource() ,參數(shù)是資源的ID也可以用,即R.raw.somefilename , Resources.getRawResource()`方法可以獲得這些資源。

11.res/xml:用戶自定義的XML文件,所有的文件在程序運(yùn)行時(shí)編譯到應(yīng)用程序之中,在程序運(yùn)行時(shí)可以使用Resources.getXML()方法獲取。

12.res/anim:用于定義動畫對象。存放定義了補(bǔ)間動畫(tweened animation)或逐幀動畫(frameby frame animation)的XML文件。(該目錄下也可以存放定義property animations的XML文件,但是最好還是分開存放)

13.res/animator:存放定義了propertyanimations(android 3.0新定義的動畫框架)的XML文件

14.res/color/:存放定義了顏色狀態(tài)列表資源(ColorState List Resource)的XML文件

15.res/drawable/:存放定義了圖片狀態(tài)列表資源(ColorState List Resource)的XML文件

16.res/menu/:存放定義了應(yīng)用程序菜單資源的XML文件。正確創(chuàng)建文件的方法:new Folder,名字menu,new Other——Android——XML,選擇menu類型,填寫名稱,確定即可。菜單資源文件必須放在res/menu目錄中。菜單資源文件必須使用menu標(biāo)簽作為根節(jié)點(diǎn)。除了menu標(biāo)簽外,還有另外兩個(gè)標(biāo)簽用于設(shè)置菜單項(xiàng)和分組,這兩個(gè)標(biāo)簽是item和group。

注意:

對于res/color和res/drawable這兩個(gè)文件中的內(nèi)容在這作一下詳解:

首先說一下color文件夾,在這個(gè)文件夾下放的是color_selector.xml等文件,主要是用于背景色的selector,比如TextView中的textColor屬性,點(diǎn)擊改變TextView中的字體顏色,在這個(gè)文件中的文件color_selector.xml中定義如下:

android布局屬性詳解

表格布局,適用于多行多列的布局格式,每個(gè)TableLayout是由多個(gè) TableRow 組成,一個(gè) TableRow 就表示 TableLayout 中的每一行,這一行可以由多個(gè)子元素組成。實(shí)際上 TableLayout 和 TableRow 都是 LineLayout 線性布局的子類。但是 TableRow 的參數(shù) android?rientation 屬性值固定為 horizontal ,且 android:layout_width=MATCH_PARENT , android:layout_height=WRAP_CONTENT 。所以 TableRow 實(shí)際是一個(gè)橫向的線性布局,且所以子元素寬度和高度一致。

注意: 在 TableLayout 中,單元格可以為空,但是不能跨列,意思是只能不能有相鄰的單元格為空.

在 TableLayout 布局中,一列的寬度由該列中最寬的那個(gè)單元格指定,而該表格的寬度由父容器指定??梢詾槊恳涣性O(shè)置以下屬性:

RelativeLayout 繼承于 android.widget.ViewGroup ,其按照子元素之間的位置關(guān)系完成布局的,作為 Android 系統(tǒng)五大布局中最靈活也是最常用的一種布局方式,非常適合于一些比較復(fù)雜的界面設(shè)計(jì)。

注意:在引用其他子元素之前,引用的 ID 必須已經(jīng)存在,否則將出現(xiàn)異常。

將所有的子元素放在整個(gè)界面的左上角,后面的子元素直接覆蓋前面的子元素,所以用的比較少。

絕對布局中將所有的子元素通過設(shè)置 android:layout_x 和 android:layout_y 屬性,將子元素的坐標(biāo)位置固定下來,即坐標(biāo)( android:layout_x , android:layout_y ) , layout_x 用來表示橫坐標(biāo), layout_y 用來表示縱坐標(biāo)。 屏幕左上角為坐標(biāo)(0,0),橫向往右為正方,縱向往下為正方。實(shí)際應(yīng)用中,這種布局用的比較少,因?yàn)?Android 終端一般機(jī)型比較多,各自的屏幕大小。分辨率等可能都不一樣,如果用絕對布局,可能導(dǎo)致在有的終端上顯示不全等。

Android-Application詳解

Application類在每一次開發(fā)當(dāng)中是我們都會遇到的,每一個(gè)APP都會有一個(gè)Application實(shí)例,它擁有和APP一樣長的生命周期,Application和APP一起“同生共死”,下面是我對Application的理解闡述。

Application和Activity,Service一樣是Android框架的一個(gè)系統(tǒng)組件,當(dāng)Android程序啟動時(shí)系統(tǒng)會創(chuàng)建一個(gè) Application對象,用來存儲系統(tǒng)的一些信息。

Android系統(tǒng)自動會為每個(gè)程序運(yùn)行時(shí)創(chuàng)建一個(gè)Application類的對象且只創(chuàng)建一個(gè),所以Application可以說是單例(singleton)模式的一個(gè)類。

通常我們是不需要指定一個(gè)Application的,系統(tǒng)會自動幫我們創(chuàng)建,如果需要?jiǎng)?chuàng)建自己的Application,那也很簡單!創(chuàng)建一個(gè)類繼承Application并在AndroidManifest.xml文件中的application標(biāo)簽中進(jìn)行注冊(只需要給application標(biāo)簽增加name屬性,并添加自己的 Application的名字即可)。

啟動Application時(shí),系統(tǒng)會創(chuàng)建一個(gè)PID,即進(jìn)程ID,所有的Activity都會在此進(jìn)程上運(yùn)行。那么我們在Application創(chuàng)建的時(shí)候初始化全局變量,同一個(gè)應(yīng)用的所有Activity都可以取到這些全局變量的值,換句話說,我們在某一個(gè)Activity中改變了這些全局變量的值,那么在同一個(gè)應(yīng)用的其他Activity中值就會改變。

Application對象的生命周期是整個(gè)程序中最長的,它的生命周期就等于這個(gè)程序的生命周期。因?yàn)樗侨值膯卫?,所以在不同的Activity,Service中獲得的對象都是同一個(gè)對象。所以可以通過Application來進(jìn)行一些,如:數(shù)據(jù)傳遞、數(shù)據(jù)共享和數(shù)據(jù)緩存等操作。

我們可以測試一下,把APP切換到后臺再打開,查看log打印的情況如下:

Context類也有這兩個(gè)方法,但是Context類的方法只可以使用ComponentCallbacks,比Application少了一個(gè)onTrimMemory()回調(diào)。

注意:繼承Application類,主要重寫里面的onCreate()方法(android.app.Application包的onCreate()才是真正的Android程序的入口點(diǎn)),就是創(chuàng)建的時(shí)候,初始化變量的值。然后在整個(gè)應(yīng)用中的各個(gè)文件中就可以對該變量進(jìn)行操作了。

android四大組件是什么?各有有什么作用

Android四大組件分別為activity、service、content provider、broadcast receiver。

一、android四大組件詳解

1、activity

(1)一個(gè)Activity通常就是一個(gè)單獨(dú)的屏幕(窗口)。

(2)Activity之間通過Intent進(jìn)行通信。

(3)android應(yīng)用中每一個(gè)Activity都必須要在AndroidManifest.xml配置文件中聲明,否則系統(tǒng)將不識別也不執(zhí)行該Activity。

2、service

(1)service用于在后臺完成用戶指定的操作。service分為兩種:

(a)started(啟動):當(dāng)應(yīng)用程序組件(如activity)調(diào)用startService()方法啟動服務(wù)時(shí),服務(wù)處于started狀態(tài)。

(b)bound(綁定):當(dāng)應(yīng)用程序組件調(diào)用bindService()方法綁定到服務(wù)時(shí),服務(wù)處于bound狀態(tài)。

(2)startService()與bindService()區(qū)別:

(a)started service(啟動服務(wù))是由其他組件調(diào)用startService()方法啟動的,這導(dǎo)致服務(wù)的onStartCommand()方法被調(diào)用。當(dāng)服務(wù)是started狀態(tài)時(shí),其生命周期與啟動它的組件無關(guān),并且可以在后臺無限期運(yùn)行,即使啟動服務(wù)的組件已經(jīng)被銷毀。因此,服務(wù)需要在完成任務(wù)后調(diào)用stopSelf()方法停止,或者由其他組件調(diào)用stopService()方法停止。

(b)使用bindService()方法啟用服務(wù),調(diào)用者與服務(wù)綁定在了一起,調(diào)用者一旦退出,服務(wù)也就終止,大有“不求同時(shí)生,必須同時(shí)死”的特點(diǎn)。

(3)開發(fā)人員需要在應(yīng)用程序配置文件中聲明全部的service,使用service/service標(biāo)簽。

(4)Service通常位于后臺運(yùn)行,它一般不需要與用戶交互,因此Service組件沒有圖形用戶界面。Service組件需要繼承Service基類。Service組件通常用于為其他組件提供后臺服務(wù)或監(jiān)控其他組件的運(yùn)行狀態(tài)。

3、content provider

(1)android平臺提供了Content Provider使一個(gè)應(yīng)用程序的指定數(shù)據(jù)集提供給其他應(yīng)用程序。其他應(yīng)用可以通過ContentResolver類從該內(nèi)容提供者中獲取或存入數(shù)據(jù)。

(2)只有需要在多個(gè)應(yīng)用程序間共享數(shù)據(jù)是才需要內(nèi)容提供者。例如,通訊錄數(shù)據(jù)被多個(gè)應(yīng)用程序使用,且必須存儲在一個(gè)內(nèi)容提供者中。它的好處是統(tǒng)一數(shù)據(jù)訪問方式。

(3)ContentProvider實(shí)現(xiàn)數(shù)據(jù)共享。ContentProvider用于保存和獲取數(shù)據(jù),并使其對所有應(yīng)用程序可見。這是不同應(yīng)用程序間共享數(shù)據(jù)的唯一方式,因?yàn)閍ndroid沒有提供所有應(yīng)用共同訪問的公共存儲區(qū)。

(4)開發(fā)人員不會直接使用ContentProvider類的對象,大多數(shù)是通過ContentResolver對象實(shí)現(xiàn)對ContentProvider的操作。

(5)ContentProvider使用URI來唯一標(biāo)識其數(shù)據(jù)集,這里的URI以content://作為前綴,表示該數(shù)據(jù)由ContentProvider來管理。

4、broadcast receiver

(1)你的應(yīng)用可以使用它對外部事件進(jìn)行過濾,只對感興趣的外部事件(如當(dāng)電話呼入時(shí),或者數(shù)據(jù)網(wǎng)絡(luò)可用時(shí))進(jìn)行接收并做出響應(yīng)。廣播接收器沒有用戶界面。然而,它們可以啟動一個(gè)activity或serice來響應(yīng)它們收到的信息,或者用NotificationManager來通知用戶。通知可以用很多種方式來吸引用戶的注意力,例如閃動背燈、震動、播放聲音等。一般來說是在狀態(tài)欄上放一個(gè)持久的圖標(biāo),用戶可以打開它并獲取消息。

(2)廣播接收者的注冊有兩種方法,分別是程序動態(tài)注冊和AndroidManifest文件中進(jìn)行靜態(tài)注冊。

(3)動態(tài)注冊廣播接收器特點(diǎn)是當(dāng)用來注冊的Activity關(guān)掉后,廣播也就失效了。靜態(tài)注冊無需擔(dān)憂廣播接收器是否被關(guān)閉,只要設(shè)備是開啟狀態(tài),廣播接收器也是打開著的。也就是說哪怕app本身未啟動,該app訂閱的廣播在

Android 動畫詳解

??android中酷炫的效果,都離不開動畫的支持。這里我們詳細(xì)介紹一下android中動畫的分類。android的中動畫分為幀動畫、補(bǔ)間動畫、屬性動畫。原理各不相同,實(shí)現(xiàn)的效果也大不相同。下面一一講解三種動畫。

??幀動畫顧名思義就是通過順序一幀一幀播放圖片從而產(chǎn)生動畫效果,效果類似放電影。該動畫缺點(diǎn)比較明顯,就是如果圖片過大過多會導(dǎo)致OOM。幀動畫xml文件放置在drawable目錄下而非anim文件夾下。

??補(bǔ)間動畫是通過對view進(jìn)行旋轉(zhuǎn)、縮放、漸變、透明度變化,而達(dá)到的一種動畫效果。是一種漸進(jìn)式動畫。并且可以通過組合以上四種操作,完成復(fù)雜的自定義動畫效果。缺點(diǎn)就是只是改變的view的展示狀態(tài),但是不會改變view的位置。例如我們將一個(gè)button通過位移想左移動100dp,然后停留在終點(diǎn)。但是我們可以發(fā)現(xiàn)展示的位置button點(diǎn)擊無效果,不可以交互。而在button原始位置空白的地方點(diǎn)擊會觸發(fā)button的點(diǎn)擊效果。也就是button本質(zhì)還是在原來位置,只是展示左移了100dp。

透明度動畫,通過改變view的透明度展示動畫。對應(yīng)AlphaAnimation和alphaxml標(biāo)簽

縮放動畫,通過修改view的大小展示動畫。對應(yīng)ScaleAnimation類和scalexml表情

通過旋轉(zhuǎn)view展示動畫。對應(yīng)RotateAnimation類和rotatexml標(biāo)簽

平移動畫,更改view的展示位置展示動畫。對應(yīng)TranslateAnimation類和translatexml表情

應(yīng)用動畫xml配置

使用java類配置動畫,具體參數(shù)類同xml參數(shù),建議使用xml配置動畫

??屬性動畫本質(zhì)是通過改變對象的屬性(例如:x,y等屬性),來實(shí)現(xiàn)動畫的,所以基本上是無所不能的,只要對象有這個(gè)屬性,就能實(shí)現(xiàn)動畫效果。屬性動畫是在api11的新特性,通過動態(tài)的改變view的屬性從而達(dá)到動畫效果。雖然可以使用nineoldandroid庫向下兼容,但是兼容本質(zhì)是使用補(bǔ)間動畫完成,也就是說不會更改view的屬性,也不會更改view的位置。屬性動畫比較常用的類: ValueAnimator、ObjectAnimator、AnimationSet,其中ObjectAnimator是ValueAnimator的子類,而AnminationSet是動畫集合

動畫配置同樣可以使用xml配置,參數(shù)類似,這里不做詳細(xì)說明。

根據(jù)時(shí)間流逝百分比計(jì)算當(dāng)前屬性改變百分比。同xml配置動畫中的 android:interpolator 屬性配置,常見有LinearInterpolator(線性差值器)、AccelerateDecelerateInterpolator(加速減速差值器)

等。自定義需要實(shí)現(xiàn) Interpolator 或者 TimeInterpolator 。Interpolator接口繼承TimeInterpolator。

根據(jù)當(dāng)前屬性改變百分比計(jì)算改變后的屬性值。屬性動畫特有的屬性。自定義估值器需要實(shí)現(xiàn) TypeEvaluator 接口。

可以對任意屬性做屬性動畫,屬性動畫要求動畫作用的對象提供該屬性的get()和set()方法。因?yàn)閷傩詣赢嫳举|(zhì)就是根據(jù)外界傳遞的對象屬性的初始值和終點(diǎn)值,然后根據(jù)估值器和差值器計(jì)算屬性值,不斷調(diào)用屬性的set方法,通過時(shí)間的推移所傳遞的值,越來越近終點(diǎn)值。

注意:

使用ValueAnimator通過監(jiān)聽動畫過程,自己改變對象屬性完成動畫


文章名稱:android詳解,Android概述
路徑分享:http://weahome.cn/article/hoccos.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部