導航:首頁 > 操作系統 > android庫

android庫

發布時間:2022-01-22 08:33:46

『壹』 系統運行庫android主要包含哪些庫

* Bionic系統 C 庫:C語言標准庫,系統最底層的庫,C庫通過Linux系統來調用。
* 多媒體庫(MediaFramework):Android系統多媒體庫,基於 PacketVideo OpenCORE,該庫支持多種常見格式的音頻、視頻的回放和錄制,以及圖片,比如MPEG4、MP3、AAC、AMR、JPG、PNG等。
* SGL:2D圖形引擎庫。
* SSL:位於TCP/IP協議與各種應用層協議之間,為數據通信提供支持。
* OpenGL ES 1.0:3D效果的支持。
* SQLite:關系資料庫。
* Webkit:Web瀏覽器引擎。
* FreeType:點陣圖(bitmap)及矢量(vector)。

『貳』 android庫文件文檔在哪個文件夾

Android SDK 目錄下有很多文件夾,主要都是干什麼的呢?

1. add-ons 這裡面保存著附加庫,比如google Maps,當然你如果安裝了OPhone SDK,這里也會有一些類庫在裡面。

2. docs 這裡面是Android SDK API參考文檔,所有的API都可以在這里查到。

3. market_licensing 作為Android Market版權保護組件,一般發布付費應用到電子市場可以用它來反盜版。

4. platforms 是每個平台的SDK真正的文件,裡面會根據API Level劃分的SDK版本, 這里就以Android 2.2來說,進入後有一個android-8的文件夾,android-8進入後是Android 2.2 SDK的主要文件,其中ant為ant編譯腳本,data保存著一些系統資源,images是模擬器映像文件,skins則是Android模擬器的皮膚,templates是工程創建的默認模板,android.jar則是該版本的主要framework文件,tools目錄裡麵包含了重要的編譯工具,比如aapt、aidl、逆向調試工具dexmp和編譯腳本dx。

5. platform-tools 保存著一些通用工具,比如adb、和aapt、aidl、dx等文件,Android123提示,這里和platforms目錄中tools文件夾有些重復,主要是從android 2.3開始這些工具被劃分為通用了。

6. samples 是Android SDK自帶的默認示例工程,裡面的apidemos強烈推薦初學者運行學習,對於SQLite資料庫操作可以查看NotePad這個例子,對於游戲開發 Snake、LunarLander都是不錯的例子,對於Android主題開發Home則是android m5時代的主題設計原理。

『叄』 Android中靜態庫和共享庫的區別

簡單來講:
靜態庫是在連接階段直接拷貝到代碼中使用的,而共享庫是由載入器載入到內存,在運行時使用的。
編譯出來的靜態庫(這里指jar包)里每個java文件對應的class文件都單獨存在,可以直接導入Eclipse等IDE使用
而編譯出來的共享庫(jar包),內部是Android位元組碼Dex格式的文件,一般無法導入Eclipse等IDE使用。Android.mk中由BUILD_JAVA_LIBRARY指定生成共享BUILD_STATIC_JAVA_LIBRARY指定生成靜態庫。

『肆』 android studio中插件和依賴庫的區別

簡答的說插件是給android studio這個開發IDE用的,依賴庫是給你的項目用的。下面詳細解釋下。


插件:(Plug-in,又稱addin、add-in、addon或add-on,又譯外掛)是一種遵循一定規范的應用程序介面編寫出來的程序。其只能運行在程序規定的系統平台下(可能同時支持多個平台),而不能脫離指定的平台單獨運行。android studio中插件就是其平台下幫助開發的小程序,比如:


『伍』 Android一般採用什麼資料庫

用的Eclipse,數據量的話還可以把,因為是初學,所以就打算先少弄幾個景點先試試,我想的是能不能做到應用去鏈接一個遠端的資料庫,就是比方說點開一個景點信息,它是從資料庫中下載出來的。。額。。專業的我也不會說。。

『陸』 android開發中常用的資料庫是

如果是本地數據的需求用SQlite,如果像登陸有用驗證或者網路間共享數據的話,就需要調用WebService與後台伺服器數據交互,這兩種數據是沒有聯系的。一個是本地資料庫,一個是伺服器端資料庫。本地用資料庫就是SQlite,別的不太可能,終端沒有那麼高的性能,再說甲骨文公司也沒出手機端oracle啊。
如果你的數據是已知的,靜態的,沒有太多的變化,滿可以在本地SQlite中存儲、讀取。這樣不會因網路問題而降低效率和成功率。如果數據未知、有實時的變化或者有與其他用戶交互、共享的數據必然需要後台伺服器數據。

『柒』 android底層庫包含哪些

Android的本地實現層次具有基本的庫和程序,這些庫和程序是Android基本系統運行的基礎,主要包含以下內容:
l 標准C/C++庫Bionic;
l C語言工具庫libcutils;
l init進程;
l shell工具;
l C++工具庫libutils。

『捌』 如何對 Android 庫進行依賴管理

Android 開發人員為項目選擇庫的時候,考慮的因素不僅僅是功能、可用性、性能、文檔豐富度和技術支持情況。他們還關心庫的大小,以及要添加的方法數量。因為項目越大,依賴也越多,要把應用的方法數量控制在65k 以下,開發人員感覺很有壓力。另外,對於非發行版項目而言,Proguard 使用起來效率太低,而且開發人員視 multidex 如瘟疫,避之唯恐不及。因此,編寫庫的作者必須特別注意項目的大小。
為了減少庫的方法數量,最簡單的途徑就是不包含任何多餘的依賴。因為你包含的所有依賴,都會被傳遞並添加至用戶的項目里。舉個例子,如果你只需要幾個簡單的工具方法,比如默默地關閉一個資源,那就沒必要為此添加 Guava 。自己編寫方法,或者從一個現有的庫中提取(但是務必做出說明)就可以了。用戶肯定會感激你去除了多餘的14k方法。
但是,這並不是說你不該使用外部庫,而是你要做出明智的選擇。比如,像 HTTP 客戶端這樣的庫已經有了,你若再去重寫一個,最終結果只能是浪費時間,倒不如用這些時間改進自己的庫。
除了有選擇地使用庫以外,還有幾個策略也可以幫助你保持庫的精簡。其中一個策略就是使用 provided scope(已提供范圍)來聲明依賴。 這是 gradle 中 Android build system(Android 構建系統)的一部分。與 compile scope(編譯范圍)不同,provided scope 僅在編譯時包含依賴。這就意味著,用戶在構建項目時,該依賴不會隨著 APK 文件打包。如果想在運行時使用該依賴,用戶需要在應用的 build.gradle 里顯式聲明。
注意: 還有一種與 provided scope 相反的機制叫 package scope(包范圍)。這種依賴會隨 APK 文件打包,但是在編譯時不可用。
你可能還想在庫中使用可選擇性依賴。其中一個原因是,某些功能可能只有部分用戶使用。例如 Retrofit 1.x ,該庫可以使用 REST 調用來響應,而不使用回調。那些想使用 RxJava 的用戶可以添加之,而不想使用它的用戶也可以不添加,以免加重負擔。自從 Retrofit 使用 maven build system (maven 構建系統)以後,其配置稍有更改,但理念還是相似的。
在此筆者要提醒大家,如果你發現自己庫中的某些功能只對少數用戶有用,你應該認真考慮一下是否還要保留這些功能。關於這一點,後文中還會講到。
在庫里包含可選擇性依賴的另一個原因,是Android 框架已經提供了一種解決方案,但是某個外部庫提供的解決方案性能更好。如果用戶本就依賴於該外部庫,或者願意增加方法數量以獲得更好的性能,就可以添加可選擇性依賴。
我最近看到的 PlacesAutocompleteTextView 庫,就屬於這種情況。該庫使用的內部 HTTP 客戶端,既可以是 OkHttpClient,也可以是 HttpURLConnection。通常,前者的性能更好,但是需要添加 OkHttp 作為依賴。 如果用戶不想包含該依賴,可以自動從標准庫回退到 HttpURLConnection。
為此,需要一個「resolver」 類以確定運行時要使用的依賴。 例如,以下的類就用於選擇 HTTP 客戶端:
public final class PlacesHttpClientResolver {
public static final PlacesHttpClient PLACES_HTTP_CLIENT;

static {
boolean hasOkHttp;

try {
Class.forName("com.squareup.okhttp.OkHttpClient");
hasOkHttp = true;
} catch (ClassNotFoundException e) {
hasOkHttp = false;
}

PlacesApiJsonParser parser = JsonParserResolver.JSON_PARSER;

PLACES_HTTP_CLIENT = hasOkHttp ? new OkHttpPlacesHttpClient(parser) : new (parser);
}

private PlacesHttpClientResolver() {
throw new RuntimeException("No Instances!");
}
}

該類被載入時,會檢查 OkHttpClient 的完全限定類名是否可用。如果拋出 ClassNotFoundException,我們就知道用戶沒有添加 OkHttp,於是回退到 HttpURLConnection。PlacesHttpClient 是包裝以上兩種實現方式的公共介面,因此在整個代碼庫中,這兩種實現方式可以交換使用。JSON 解析也採用了同樣的方法,Gson 可選擇性地作為依賴包含在庫中。
如果性能表現與庫的大小之間的權衡系數很大,這個方法確實不錯。但是,如果回退的實現方式比較困難(比如 JSON 解析就是這種情況),筆者建議你先使用外部庫來節省時間,在後續的版本中再考慮添加回退實現。
筆者在前文中提到,你應該對庫中包含的功能做出明智的選擇。如果某個功能幾乎所有用戶都不需要,最好將其除去,而且這里也沒有必要使用前面提到的第一種可選擇性依賴。再次以 Retrofit 為例,在 2.x 版本 中,使用 REST 調用來響應這個功能,不再作為核心庫的一部分提供給用戶,而是移到一個單獨的模塊上,並作為 Retrofit 的 maven 構件發布 。
同樣地,不同的響應轉換器也被拆成了獨立的依賴。例如,Retrofit 用戶想要轉換一個 JSON 響應,而且已經依賴於 Gson,他們可以在 build.gradle 文件中添加以下依賴:
dependencies {
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
}

而那些使用其他 JSON 庫(比如 Jackson )的用戶,或者需要解析其他數據格式(比如 XML 或 protocol buffers)的用戶,也可以採用這種方式添加自己需要的依賴,而且避免通用型依賴帶來的額外負擔。與此同時,核心庫也不會被這些附加功能幹擾,可以專注於需要解決的主要問題。

『玖』 關於Android開發,現有一個引用庫和一個主工程,引用庫能使用主工程的類嗎

要麼就全部一個工程,要麼把公共的都放在單獨的庫里,activity也可以作為庫。

閱讀全文

與android庫相關的資料

熱點內容
安卓如何禁止手機自動降頻 瀏覽:695
一份加密不緊急的上行文 瀏覽:415
伺服器c5是什麼意思 瀏覽:440
基礎程序員證 瀏覽:423
如何防止伺服器被偷油 瀏覽:287
安卓導入存儲聯系人怎麼不見了 瀏覽:101
微信遮圖打賞源碼 瀏覽:171
安卓平板圖片照片徹底刪除了怎麼辦 瀏覽:442
怎樣查看指標源碼 瀏覽:529
貓和老鼠哪個app好玩 瀏覽:716
網易有愛登錄器在哪個文件夾 瀏覽:244
iis6壓縮 瀏覽:140
redisphp擴展mac 瀏覽:199
狀態鏈路演算法 瀏覽:316
毛豆app裡面購車合同在哪裡 瀏覽:563
程序員上臂式電腦 瀏覽:57
php檢測中文 瀏覽:101
壓縮性骨折半年 瀏覽:561
如何雲伺服器解壓文件 瀏覽:932
單片機93加9E的psw 瀏覽:723