欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      Android數(shù)據(jù)共享之ContentProvider總結(jié)

      時間:2019-05-12 03:56:46下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《Android數(shù)據(jù)共享之ContentProvider總結(jié)》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《Android數(shù)據(jù)共享之ContentProvider總結(jié)》。

      第一篇:Android數(shù)據(jù)共享之ContentProvider總結(jié)

      Content Provider 由上一節(jié)內(nèi)容,我們了解到Adroid的數(shù)據(jù)都是私有的,那么對于像通訊錄之類,多個APP(撥號、通話、短消息…)都需要共享使用,該怎么實現(xiàn)呢?

      答案就是ContentProvider。

      概述:

      ContentProvider是Android平臺中,在不同應(yīng)用程序之間實現(xiàn)數(shù)據(jù)共享的一種機制。一個應(yīng)用程序如果需要讓別的程序可以操作自己的數(shù)據(jù),即可采用這種機制。并且此種方式忽略了底層的數(shù)據(jù)存儲實現(xiàn),ContentProvider提供了一種統(tǒng)一的通過Uri實現(xiàn)數(shù)據(jù)操作的方式。

      Android為常用的數(shù)據(jù)類型(圖片,音視頻,通訊錄)提供了大量的ContentProvider,它們被定義在android.provider包下面。

      操作模型:

      ContentProvider類:

      定義在android.content包下面,主要數(shù)據(jù)存取類,提供了常用的數(shù)據(jù)操作接口 ? delete(): 刪除數(shù)據(jù)集

      ? insert():添加數(shù)據(jù)集

      ? qurey():查詢數(shù)據(jù)集

      ? update():更新數(shù)據(jù)集

      ? onCreate():初始化底層數(shù)據(jù)集和建立數(shù)據(jù)連接等工作

      ? getType():返回指定URI的MIME數(shù)據(jù)類型,ContentResolver類:

      ContentProvider是實際操作數(shù)據(jù)庫的方法,客戶端通過ContentResolver實現(xiàn),ContentResolver和ContentProvider提供了對應(yīng)的方法,諸如insert(), delete(), query()和update()之類的方法。我們間接的通過ContentResolver的方法來操作ContentProvider。

      Uri介紹

      ContentProvider 通過URI對象共享數(shù)據(jù);Uri代表了要操作的數(shù)據(jù),Uri主要包含了兩部分信息:

      1》需要操作的ContentProvider

      2》對ContentProvider中的什么數(shù)據(jù)進行操作

      Uri是一個通用資源標(biāo)志符,將其分為A,B,C,D 4個部分:

      A:無法改變的標(biāo)準(zhǔn)前綴,包括;“content://”、“tel://”等。當(dāng)前綴是“content://”時,說明通過一個Content Provider控制這些數(shù)據(jù);

      B:URI的標(biāo)識,它通過authorities屬性聲明,用于定義了是哪個ContentProvider提供這些數(shù)據(jù)。對于第三方應(yīng)用程序,為了保證URI標(biāo)識的唯一性,它必須是一個完整的、小寫的類名。例如:

      “content:// com.test.contentproviderdemo ”;

      C:路徑,可以近似的理解為需要操作的數(shù)據(jù)庫中表的名字,如:“content:// com.test.contentproviderdemo/people”中的people

      D:如果URI中包含表示需要獲取的記錄的ID,則就返回該id對應(yīng)的數(shù)據(jù),如果沒有ID,就表示返回全部;

      將字符串轉(zhuǎn)成Uri,Uri uri = Uri.parse(“content:// com.test.contentproviderdemo/people ”)

      跟Uri相關(guān)的兩個操作類:

      A、public class UriMatcher //匹配

      //注冊匹配Uri路徑

      //常量UriMatcher.NO_MATCH表示不匹配任何路徑的返回碼

      UriMatcher sMatcher = new UriMatcher(UriMatcher.NO_MATCH);//添加需要匹配uri,如果匹配就會返回匹配碼

      //如果match()方法匹配content:// com.test.contentproviderdemo/people路徑,返回匹配碼為1 sMatcher.addURI(“com.test.contentproviderdemo”, “people”, 1);

      //如果match()方法匹配content://com.test.contentproviderdemo/people/2路徑,返回匹配碼為2 sMatcher.addURI(“com.test.contentproviderdemo”, “people /#”, 2);//#號為通配符

      switch(sMatcher.match(Uri.parse(“content:// com.test.contentproviderdemo/people/10”))){

      case 1

      break;case 2

      break;default://不匹配

      break;}

      B、public class ContentUris //獲取ID

      withAppendedId(uri, id)用于為路徑加上ID部分:

      Uri uri = Uri.parse(“content:// com.test.contentproviderdemo/people ”)Uri resultUri = ContentUris.withAppendedId(uri, 10);parseId(uri)方法 用于從路徑中獲取ID部分:

      Uri uri = Uri.parse(“content:// com.test.contentproviderdemo/people /10”)long personid = ContentUris.parseId(uri);//獲取的結(jié)果為:10

      主要步驟:

      1.創(chuàng)建保存數(shù)據(jù)的文件或者數(shù)據(jù)庫。

      2.在當(dāng)前應(yīng)用程序中定義一個ContentProvider,重載相關(guān)操作接口。如: public class PeopleProvider extends ContentProvider{ public boolean onCreate()public Uri insert(Uri uri, ContentValues values)public int delete(Uri uri, String selection, String[] selectionArgs)public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs)public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder)} public String getType(Uri uri)3.在當(dāng)前應(yīng)用程序的AndroidManifest.xml中注冊此ContentProvider

      android:authorities = “com.test.contentproviderdemo”/> 4.其他應(yīng)用程序通過ContentResolver和Uri來獲取此ContentProvider的數(shù)據(jù)。

      ContentResolver resolver = getContentResolver();5.通過注冊registerContentObserver監(jiān)聽ContentProvider的數(shù)據(jù)變化;

      ContentProvider完整實例:

      ContentResolverDemo.zipContentProviderDemo.zip

      ContentProviderDemo是一個無界面的示例,僅提供一個ContentProvider組件,供其他應(yīng)用程序進行數(shù)據(jù)交換底層使用SQLite數(shù)據(jù)庫,支持?jǐn)?shù)據(jù)的添加、刪除、更新和查詢等基本操作

      ContentResolverDemo是使用ContentProvider的示例,自身不具有任何數(shù)據(jù)存儲功能,僅是通過URI訪問ContentProviderDemo示例提供的ContentProvider。<完>

      第二篇:Android 淺談數(shù)據(jù)共享

      由麥可網(wǎng)整理,轉(zhuǎn)載請注明出處

      Android 淺談數(shù)據(jù)共享

      對于應(yīng)用程序之間的數(shù)據(jù)共享,Android提供了比較靈活的方式,相關(guān)的開發(fā)經(jīng)驗下面是Android123平時使用的方法。

      1.簡單配置文件:

      SharedPreferences方式存儲的配置文件,我們在各個應(yīng)用間可以通過 getSharedPreferences(“eoeandroid”, Context.MODE_PRIVATE);這樣的方式存儲,最后是共享模式,這里使用了私有,而通過全局讀、全局寫可以讓其他的應(yīng)用訪問,通過createPackageContext方法,但是在Android 1.5 以后,共享訪問需要相同UID和簽名才可以訪問。

      2.SQLite數(shù)據(jù)庫文件

      對于一些較為復(fù)雜的配置或數(shù)據(jù),在Android平臺上我們一般使用SQLite數(shù)據(jù)庫存儲,對于共享我們可以提供ContentProvider接口來實現(xiàn),我們雖然可以獲取當(dāng)前應(yīng)用的數(shù)據(jù)庫保存位置,通過Context的getDatabasePath(String name)這個方法,由于應(yīng)用的PackageName比較長可能會發(fā)生變動,Android提供了類似Intent的方式來匹配一些Uri,比如說電話撥號為 tel:// 而對于網(wǎng)址可以使用 http:// 對于定做坐標(biāo)使用geo://,而我們的數(shù)據(jù)庫可以通過UriMatcher類的addURI添加一些Uri,通過隱式Intent方式實現(xiàn)自己的處理方式,具體的大家可以查看短信應(yīng)用的開源代碼 Mms.git 了解。

      3.對于運行中的高性能數(shù)據(jù)共享

      在Android中共享內(nèi)存方法可以使用linux底層的mmap方式,對于跨進程訪問,使用IPC,當(dāng)然Android還提供了AIDL遠(yuǎn)程服務(wù)來實現(xiàn)數(shù)據(jù)綁定訪問處理,所以說對于Android Service的開發(fā),一定要記住通過Bind方式來開發(fā),比較典型的有音樂播放器,Music.gif

      第三篇:Android之a(chǎn)ctivity總結(jié)

      Android之Activity總結(jié)

      一、什么是Activity

      Activity 是用戶接口程序,原則上它會提供給用戶一個交互式的接口功能。它是 android 應(yīng)用程序的基本功能單元。Activity 本身是沒有界面的。所以activity類創(chuàng)建了一個窗口,開發(fā)人員可以通過setContentView(View)接口把UI放到activity創(chuàng)建的窗口上,當(dāng)activity指向全屏窗口時,也可以用其他方式實現(xiàn):作為漂浮窗口(通過windowIsFloating的主題集合),或者嵌入到其他的activity(使用ActivityGroup)。activity是單獨的,用于處理用戶操作。幾乎所有的activity都要和用戶打交道

      二、Activity生命周期(生命周期方法)

      由圖可知,這些方法調(diào)用的順序:

      1.Activity正常啟動:onCreate-> onStart-> onResume;

      2.Activity被殺掉:onPause-> onStop-> onDestroy,此為一個完整的生命周期。3.中斷處理:onPause-> onStop,恢復(fù)時onRestart-> onStart-> onResume;

      4.如果當(dāng)前Activity是半透明狀態(tài)或者對話框狀態(tài):那么中斷就是onPause ,恢復(fù)的時候onResume。

      那么對于”O(jiān)ther app need memory”,就是我們手機在運行一個應(yīng)用程序的時候,有可能打進來電話發(fā)進來短信,或者沒有電了,這時候程序都會被中斷,優(yōu)先去服務(wù)電話的基本功能,另外系統(tǒng)也不允許你占用太多資源,至少要保證一些功能(比如電話),所以資源不足的時候也就有可能被kill掉。

      方法在系統(tǒng)中的作用及我們應(yīng)該做什么:

      onCreate(創(chuàng)建):在這里創(chuàng)建界面,做一些數(shù)據(jù)的初始化工作;

      onStart(可視狀態(tài)): 到這一步變成“用戶可見不可交互”的狀態(tài);

      onResume(可交互狀態(tài)):變成和用戶可交互的,(在Activity棧系統(tǒng)通過棧的方式管理這些Activity,即當(dāng)前Activity在棧的最上端,運行完彈出棧,則回到上一個Activity);

      onPause(暫停狀態(tài)):到這一步是可見但不可交互的,系統(tǒng)會停止動畫等消耗CPU的事情。從上文的描述已經(jīng)知道,應(yīng)該在這里保存你的一些數(shù)據(jù),因為這個時候你的程序的優(yōu)先級降

      低,有可能被系統(tǒng)收回。在這里保存的數(shù)據(jù),應(yīng)該在onResume里讀出來。

      OnStop(停止?fàn)顟B(tài)):變得不可見,被下一個activity覆蓋了。

      onDestroy(殺死):這是Activity被kill前最后一個被調(diào)用方法了,可能是其他類調(diào)用finish方法或者是系統(tǒng)為了節(jié)省空間將它暫時性的干掉。

      onPause,onstop,onDestroy,三種狀態(tài)下 activity都有可能被系統(tǒng)殺掉。

      Activity棧:Activity以棧的形式進行管理,后進先出的原則

      三、Activity之間的通信

      在 Android 中,不同的 Activity 實例可能運行在一個進程中,也可能運行在不同的進程中。因此我們需要一種特別的機制幫助我們在 Activity 之間傳遞消息。

      Android 中通過 Intent 對象來表示一條消息,一個 Intent 對象不僅包含有這個消息的目的地,還可以包含消息的內(nèi)容,這好比一封 Email,其中不僅應(yīng)該包含收件地址,還可以包含具體的內(nèi)容。

      Intent是一種運行時綁定(runtime binding)機制

      Intent負(fù)責(zé)對操作的動作、動作涉及數(shù)據(jù)、附加數(shù)據(jù)進行描述,Android則根據(jù)此Intent的描述,負(fù)責(zé)找到對應(yīng)的組件,將 Intent傳遞給調(diào)用的組件,并完成組件的調(diào)用。因此,Intent在這里起著一個媒體中介的作用,專門提供組件互相調(diào)用的相關(guān)信息,實現(xiàn)調(diào)用者與被調(diào)用者之間的解耦。

      在應(yīng)用中,我們可以以兩種形式來使用Intent:

      直接Intent(應(yīng)用程序內(nèi)部):指定了component(組建)屬性的Intent。通過指定具體的組件類,通知應(yīng)用啟動對應(yīng)的組件。

      間接Intent(應(yīng)用程序之間):沒有指定comonent屬性的Intent。這些Intent需要包含足夠的信息,這樣系統(tǒng)才能根據(jù)這些信息,在在所有的可用組件中,確定滿足此Intent的組件。

      對于直接Intent,Android不需要去做解析,因為目標(biāo)組件已經(jīng)很明確。

      Android需要解析的是那些間接Intent,通過解析,將 Intent映射給可以處理此Intent的Activity、IntentReceiver或Service。Intent解析機制主要是通過查找已注冊在AndroidManifest.xml(清單)中的所有IntentFilter(意圖過濾器)及其中定義的Intent,最終找到匹配的Intent。

      橫屏?xí)r:onConfigurationChanged(配置改變))

      橫屏以及出現(xiàn)鍵盤鍵盤時生命周期部重新開始的方法: KeyboardHidHidden/orientation/screenSize 橫屏顯示:landscape 豎屏顯示:portrait

      四大組建:activity:活動、service:服務(wù)、content provider:內(nèi)容提供商、broadcast receiver:廣播收音機

      Activity的所有面試題

      什么是Activity? 請描述一下Activity 生命周期?

      兩個Activity之間跳轉(zhuǎn)時必然會執(zhí)行的是哪幾個方法?

      你后臺的Activity被系統(tǒng) 回收怎么辦?如果后臺的Activity由于某原因被系統(tǒng)回收可了,如何在被系統(tǒng)回收之前保存當(dāng)前狀態(tài)?

      如何退出Activity?如何安全退出已調(diào)用多個Activity的Application? 兩個Activity之間怎么傳遞數(shù)據(jù)?

      第四篇:關(guān)于android手機的文件共享

      關(guān)于android系統(tǒng)的設(shè)備的文件共享

      個人寫作水平不怎么好,請各位不要笑話!寫這個沒有什么其他意圖,只是想和大家分享個人的一些想法!

      如今這年代手機、平板電腦進入了每個人的生活,時不時的會拿出來玩玩。有時候,幾個人在一起的時候,可能會問到“你手機里有什么好東西,分享分享一下”,在這個時候,大家最可能想到的是通過藍(lán)牙來傳輸,當(dāng)然如果在文件大小較少時還好,傳幾分鐘沒關(guān)系,如果是視頻,數(shù)據(jù)包等這類大文件,還這樣傳輸就太費時了。。。。。。。

      費話就不多說。直接說說這個文件共享。網(wǎng)絡(luò)速度的比藍(lán)牙快多了,所以我的共享方法就是通過網(wǎng)絡(luò)來共享。說到網(wǎng)絡(luò)當(dāng)然不會是用中國聯(lián)通,中國移動這類,指的是局域網(wǎng),首先得建立一個,android2.2以上系統(tǒng)的手機都可以建立一個無線熱點,可以讓其中一個手機開啟這個功能(如果怕其他設(shè)備通過你的手機上網(wǎng)浪費流量,就可以關(guān)閉移動數(shù)據(jù)),讓其他需要共享的設(shè)備接入這個網(wǎng)絡(luò),如果在windows 下,大家都知道,通過Windows的資源管理將某個文件夾共享,其他設(shè)備通過輸入IP共享目錄就可以了,但是android系統(tǒng)的沒有這么方便的功能,當(dāng)然在這里原理也是一樣的,必須建立一個共享文件夾,這里個人推薦一個軟件是——無線數(shù)據(jù)線(這個網(wǎng)上很多)——此軟件建立的是一個FTP

      建立 一個共享還不行啦,得有個軟件能訪問網(wǎng)絡(luò)文件夾才行啦,個人推薦ES文件瀏覽器,通過這兩個軟件就可以完成共享文件。

      軟件的使用,我相信大家大部分一看都會用,如果不會請參考網(wǎng)上??偨Y(jié):

      此方法的條件

      1:有WIFI功能的設(shè)備

      2:有一無線網(wǎng)絡(luò),或者一個手機能提供無線熱點。3:無線數(shù)據(jù)線軟件(僅建立共享機必備)4:ES文件瀏覽器軟件(訪問共享的必備)、說明:此方式,他人可以刪除文件,安全性不高 玩android高手,可以建立一個SMB服務(wù)器進行共享。

      另一種和與藍(lán)牙點對點發(fā)送方式類似,同樣要求上一種方式的前兩項,要求另外一個軟件,稱為WIFI文件共享軟件,網(wǎng)上有下載。

      第五篇:Android總結(jié)

      Android四大組件:

      Activity—表現(xiàn)屏幕界面

      Service—后臺服務(wù)

      BroadcastReceiver—實現(xiàn)廣播機制

      ContentProvider—實現(xiàn)數(shù)據(jù)存儲

      Intent類:用來啟動程序并傳遞信息的類

      用于Activity、Receiver、Service之間進行交互的類,通過無參構(gòu)造方法創(chuàng)建對象,增加其action、category、data、extra等屬性進行信息傳遞,并通過Activity中的startActivity(Intent intent)進行界面的跳轉(zhuǎn);通過Context中的StartService(Intent intent)進行服務(wù)跳轉(zhuǎn);通過Context中的registerReceive(Intent intent)對廣播進行注冊,并通過sendBroadcast()進行無序消息發(fā)送,或可以通過SendOrderedBroadcast()進行有序的消息發(fā)送。Handler類:

      用來發(fā)送和處理消息,并配合主線程完成UI的更新;消息Message/Runnable傳遞通過MessageQueue(消息隊列,先進先出)進行傳遞,并通過Lopper進行接收,傳遞的消息可以為Message對象,也可以是Runnable對象;接收方法通過HandleMessage(Message msg)進行獲取。SharedPreferences類:

      一般用于第一次登錄時的設(shè)置,或者是各個界面的一些小型格式設(shè)置,如字體等。是本地的小型共享數(shù)據(jù)庫,可以通過Context的靜態(tài)方法getSharedPreferences獲得其對象,對象內(nèi)的值均為鍵值對進行儲存。通過SharedPreferences對象調(diào)用editor()獲取SharedPreferences.Editor對象,向共享數(shù)據(jù)庫中增加數(shù)據(jù),putString(),并提交數(shù)據(jù),commit();通過SharedPreferences對象獲取共享數(shù)據(jù)庫中的數(shù)據(jù),getString()。

      ViewPager:實現(xiàn)界面滑動的類;

      通過設(shè)置OnPagerChangedListener設(shè)置ViewPager的監(jiān)聽事件;

      實現(xiàn)流程:

      ①布局文件中設(shè)置ViewPager控件;

      ②代碼中進行綁定控件;

      ③通過繼承PagerAdapter抽象類進行設(shè)置適配器,并傳遞數(shù)據(jù)源;

      ④適配器中實現(xiàn)兩個抽象方法,兩個重寫方法:getCount()—獲取滑動界面的數(shù)量,isViewFromObject()—判斷視圖是否是來自于Object文件中;重寫兩個方法,分別為destoryItem—銷毀指定位置的視圖;InstantiateItem(),設(shè)置指定位置的視圖;

      Timer與TimerTask類:

      Timer為計時器的類,通過無參構(gòu)造方法可以獲取對象,通過Timer.schedule(TimerTask task,long time)進行設(shè)置多久后執(zhí)行某任務(wù),當(dāng)任務(wù)執(zhí)行完后,取消計時的功能,Timer.cancle();TimerTask類為抽象類,實例化時,必須重寫run方法;執(zhí)行的內(nèi)容,均在run方法中進行設(shè)置,并且執(zhí)行時,已在子線程中進行執(zhí)行。自定義View:用到的類有Paint、Canvas、Spec、SpecF、Path、View.MeasureSpec、Timer、TimerTask;

      抽象類,通過子類繼承,獲取對象;在布局文件中綁定后,通過代碼,設(shè)置自定義View的屬性;自定義View中,通過重寫OnMeasure方法,對布局文件中的尺寸進行測量,并由View中的setMeasureDimenson()方法,進行數(shù)據(jù)的保存;通過重寫Ondraw方法,進行繪圖;當(dāng)需要繪制動態(tài)圖形時,使用計時器Timer的schedule(TimerTask,long time,delay time2)方法,在time時間后,每隔time2時間,重寫執(zhí)行run方法中的內(nèi)容;將耗時的操作設(shè)置在run方法中,并通過View中的invalidate()方法刷新主線程中的繪的圖形,通過postInvalidate()刷新子線程中的圖形。數(shù)據(jù)庫:

      常用的數(shù)據(jù)庫有Oracle,需要安裝和配置的大型收費數(shù)據(jù)庫;MySQL是中型數(shù)據(jù)庫,同樣需要安裝配置,但不需要收費;Sqlite是小型免費的嵌入式數(shù)據(jù)庫,占用內(nèi)存低,最新版本為3.0。Sqlite數(shù)據(jù)庫需要通過SqliteDatabaseOpenHelper進行創(chuàng)建數(shù)據(jù)庫,并通過SqliteDatabase進行數(shù)據(jù)庫的操作。輔助類是抽象類,通過繼承,重寫兩個方法,并在子類的構(gòu)造方法中通過OpenHelper的構(gòu)造方法(Context context,String SqlName,SqliteDatabase.CursorFactory factory,int version)進行數(shù)據(jù)庫的創(chuàng)建,在onCreate方法中,進行數(shù)據(jù)庫表的創(chuàng)建,在onUpdate中進行數(shù)據(jù)庫的版本更新。在數(shù)據(jù)庫的操作類中,執(zhí)行exect方法,通過sql語句對數(shù)據(jù)庫進行操作。Create table student(_id integer primary key auto increament ,name text);insert into student(_id,name)values(1,zx);delete from student where _id=1;update student set _id=2 where name=zx;select *from student;ListView、GridView適配器的優(yōu)化:

      將布局文件中的控件進行封裝,當(dāng)視圖加載時,判斷可變視圖是否存在,當(dāng)不存在時,通過布局文件獲取視圖,并新建封裝類,將地址通過setTag()進行發(fā)送;當(dāng)視圖存在時,重復(fù)利用地址—getTag()。反射:

      存儲數(shù)據(jù)的方式:

      共享數(shù)據(jù)庫、數(shù)據(jù)庫、文件、網(wǎng)絡(luò)、內(nèi)容提供者

      廣播:

      廣播傳播時,需要接收者、發(fā)送者、廣播頻道;根據(jù)發(fā)送者的發(fā)送方式不同,分為有序廣播、無序廣播;有序廣播為接收者有接收順序,根據(jù)設(shè)置的優(yōu)先級不同,確定先后順序,接收者同時也是發(fā)送者,向后面的廣播發(fā)送消息,發(fā)送過程中,可以添加信息,也可以停止廣播的傳輸;無序廣播,接收者之間無聯(lián)系,均從發(fā)送者處接收信息;廣播在傳輸過程中,不能被添加信息,也不可能被停止。廣播在發(fā)送前,需要對接收者進行注冊,注冊方式有兩種,動態(tài)注冊、靜態(tài)注冊。動態(tài)注冊,是在代碼中進行,通過Context對象調(diào)用靜態(tài)方法進行注冊,所有的廣播均可以用動態(tài)注冊,其生命周期依賴于應(yīng)用,相對于靜態(tài)注冊,比較節(jié)省內(nèi)存;靜態(tài)方法在清單文件中進行注冊,部分系統(tǒng)廣播不能通過靜態(tài)注冊進行,其生命周期依賴于系統(tǒng),當(dāng)系統(tǒng)啟動,即運行接收廣播,較耗內(nèi)存。廣播接收者需要繼承BroadcastReceiver,并實現(xiàn)抽象方法onReceive(),通過回調(diào)接口,進行數(shù)據(jù)的傳輸。注意:廣播發(fā)送前,必須進行接收者的注冊,并且,當(dāng)顯示跳轉(zhuǎn)時,不需要意圖過濾器。安卓布局:九種布局

      線性布局,水平或垂直方向兩種格式,主要特點為權(quán)重,即規(guī)定各控件在視圖中的占有的比例;

      相對布局,相對于父控件或兄弟控件的布局,各控件需指定相對位置; 絕對布局,指定各控件在視圖中的絕對位置,幾乎不再使用; 表格布局,子布局放在行中,列由控件表示(TableRow); 幀布局:覆蓋前面布局的布局,一般用于暫停按鈕等; 風(fēng)格布局:可以跨行、跨列的布局,占滿換行;

      左右側(cè)滑:可以實現(xiàn)左右側(cè)滑,通過設(shè)置主菜單和二級菜單設(shè)置左右兩個菜單; 下拉刷新:設(shè)置下拉刷新、上拉加載的功能; 抽屜布局;

      安卓版本及對應(yīng)的API:

      1.6—4;2—7;3—11;4—15;4.3—18;5—20;5.1—21;6—23;7—25; 安卓四層架構(gòu):

      應(yīng)用層:Java語言開發(fā),主要從事App開發(fā);

      運行庫層:Java語言與C語言,View視圖、管理類等的開發(fā); 架構(gòu)層:C語言與Linux語言,各種框架、瀏覽器等; 內(nèi)核層:Linux、C語言,開發(fā)各種驅(qū)動; 安卓四大組件:

      Activity:界面,實現(xiàn)程序與用戶之間的交換,有自己的生命周期,七個生命周期;4種啟動模式 Service:

      BroadcastReceive:三要素,發(fā)送者、接收者、發(fā)送頻道(Intent);類型:有序(接收有序,有數(shù)據(jù)傳送,可以攔截數(shù)據(jù))、無序廣播(相對);注冊方式:靜態(tài)注冊,持久監(jiān)聽,占用內(nèi)存比較高生命周期跟隨系統(tǒng),動態(tài)注冊(代碼中),所有廣播都可以動態(tài)注冊,部分系統(tǒng)廣播不能動態(tài)注冊,臨時監(jiān)聽,占用內(nèi)存較少,生命周期隨應(yīng)用進行;

      ContentProvide:不能存放數(shù)據(jù),五種存放數(shù)據(jù)方式之一,特點為:①為數(shù)據(jù)的獲取等操作添加一個統(tǒng)一的接口②可以實現(xiàn)跨應(yīng)用訪問數(shù)據(jù);③可以實現(xiàn)Android中通訊錄、消息、音頻、視頻等的訪問或操作;通過ContentReceive進行數(shù)據(jù)的訪問,可以對數(shù)據(jù)進行增刪改查操作。

      動畫: IO流: 序列化: AlertDialog:

      Set實現(xiàn)類: 手機電量檢測:

      自定義SurfaceView:

      自定義View:三個構(gòu)造方法的區(qū)別

      Message:Handler.obtain/new/Message.obtain

      HttpUriConnection訪問網(wǎng)絡(luò)

      gride 異步任務(wù) 動畫

      抽象類和接口 反射 克隆 序列化 側(cè)滑的實現(xiàn) 數(shù)據(jù)庫 Socket:

      Gson解析

      異步任務(wù)和子線程區(qū)別 WebView 版本更新 照片的圓角化

      Collection與Collections Sql語句

      MVP框架與MVC: TCP與UDP的區(qū)別: 一鍵分享的流程: Http協(xié)議的理解: 不使用框架訪問網(wǎng)絡(luò): List集合與set集合: 自定義View的流程: 線性布局的特點: ViewPager的原理: 服務(wù)的啟動方式:

      Activity的啟動方式: Xml數(shù)據(jù)解析:

      下載Android數(shù)據(jù)共享之ContentProvider總結(jié)word格式文檔
      下載Android數(shù)據(jù)共享之ContentProvider總結(jié).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        Android學(xué)習(xí)之TextView屬性總結(jié)

        IT在線教育平臺———麥子學(xué)院:http://004km.cn TextView作為android開發(fā)中最簡單也最常用的控件,作為初學(xué)者,需要熟知其屬性并熟練掌握。如下例: android:autoLink:設(shè)......

        Android WebView總結(jié)(合集)

        Android WebView總結(jié) 1、添加權(quán)限:AndroidManifest.xml中必須使用許可"Android.permission.INTERNET",否則會出web page not available錯誤。 2、在要Activity中生成一個WebV......

        Android 課程總結(jié)

        一、 Android開發(fā)環(huán)境的搭建。 1、 Android SDK的安裝; 2、 ADT的安裝和配置; 3、 Android 模擬器的配置。 二、 編寫第一個Android程序───Hello World(1學(xué)時) 1、 創(chuàng)建一......

        Android方案總結(jié)

        一、硬件描述 如上圖,應(yīng)用程序的開發(fā)過程中我們使用了飛思卡爾的i.MX51 EVK Hardware。 設(shè)備提供的支持如下:多標(biāo)準(zhǔn)音頻回放;多標(biāo)準(zhǔn)視頻回放;開放的系統(tǒng)支持; 二、軟體結(jié)構(gòu) 1、An......

        Android面試總結(jié)

        1.activity的生命周期。 activity主要生命周期的方法說明: onCreate(Bundle savedInstanceState):創(chuàng)建activity時調(diào)用。設(shè)置在該方法中,還以Bundle的形式提供對以前儲存的任......

        Android培訓(xùn)總結(jié)(定稿)

        Android培訓(xùn)總結(jié) 非常高興能夠參加清華大學(xué)的Android暑期培訓(xùn),感謝老師們對我們的教導(dǎo)和關(guān)心,在短短一個月的時間里我學(xué)到了Java、數(shù)據(jù)庫、Android、JSP等知識。最重要的是通......

        Android 個人總結(jié)

        Android 個人總結(jié) 通過本學(xué)期的的學(xué)習(xí),我知道了android是由google開發(fā)的一款手機平臺,android的基本架構(gòu)是基于linux內(nèi)核,由內(nèi)核向外的反別為庫和應(yīng)用架構(gòu),然后就是我們手機上的......

        Android學(xué)習(xí)總結(jié)

        Android學(xué)習(xí)總結(jié) 零零碎碎的總結(jié):1.客戶端的功能邏輯不難,UI界面也不難,但寫UI花的時間是寫功能邏輯的兩倍. 2.寫代碼前的思考過程非常重要,即使在簡單的功能,也需要在本子......