A. android怎麼使用開源的庫
作者:哈達
鏈接:https://www.hu.com/question/23177262/answer/25291724
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
不確定你已經到哪一步了,我就以PullToRefresh為例,從頭開始說吧。下載zip,解壓到桌面打開eclipse,File-Import-Existing Android Code Into Workspace選中library文件,導入到eclipse中打開此library,右鍵library,properties-Android-Library-勾選Is Library打開你的程序後,右鍵你的主程序圓族畢,properties-Android-Library-Add,選擇library文件導入的基本步驟就這樣,接下來是如何使用找到你的程序-layout-xml添加一個<com.handmark.pulltorefresh.library.PullToRefreshListView android:id="@+id/pull_to_refresh_listView" android:layout_width="fill_parent" android:layout_height="fill_parent"/>回到MainActivity中,穗瞎頭文件中添加一段代碼import com.handmark.pulltorefresh.library.PullToRefreshListView; 之後把你需要用到的listview全部改為PullToRefreshListView,例如private PullToRefreshListView mPullRefreshListView; 接著就像橘芹listview一樣使用吧
B. 在android開發中,不能導入開源的庫是什麼原因
前言
--project //項目目錄
|
build.gradle //項目的gradle配置文件
|
settings.gradle//gradle設置,會保存所有的mole
|
app //mole目錄
|__build.gradlemole的配置
|
mole2 //mole2目錄
|__build.gradlemole的配置
同eclipse中的項目一樣,gradle/android studio 構建也可以有mole,將moudle放到項目目錄下面,然後在settings.gradle中增加該mole,最簡單的方法是用文件夾名。比如我們上面的結構,build.gradle文件應該如下:
include ':app', ':mole2'
更多關於gralde的知識可以看我以前的文章:
使用gradle構建android項目(續) 使用Gradle構建Android項目
導入Jar文件
這種可能很常見,可以下載到別人搞好的jar包,這樣可以直接在自己州基的主mole下創建libs文件夾(我這里這樣,只是為了兼容eclipse方式),然後把jar文件放進去,然後在mole的build.gradle文件中的dependecies{}添加如下代碼:
compile files('libs/name.jar')
當libs文件夾下面有多個文件時,可以用一句代碼包含這些包:
compile fileTree(dir: 'libs', include: ['*.jar'])
當有文件不需要被包含時,可以這樣:
compile fileTree(dir: 'libs', exclude: ['android-support*.jar'], include: ['*.jar'])
從上面的代碼中可以看到我們可以使用通配符, +表示一個字元,*表示0到多個字元。
導入maven中的庫
如果開源庫作者有將代碼放到Maven庫中,我們可以在gradle配置中直接引入,類似如下:
compile 'com.github.dmytrodanylyk.android-process-button:library:1.0.1'
一般我們可以在開源庫的github頁面上面看有沒有這樣一個地址,或者到maven庫中根據包名搜索有沒有,我們前面這個引入的項目分三個部分 group:name:version,我們引入其他的包也有遵守這個規則。
導入gradle構建的開源庫
這種情況的比較少用到扮跡仔,因為這張的開源庫,作者一般都有放到maven庫中,但是偶爾也會用到這里也提一下。
首先下載文件,將我們需要的這個庫的mole文件夾拷貝到我們的項目的目錄下面,然後在setting.gradle文件中增加文件夾名稱, 然後在我們需要依賴這個模塊的mole中的build.gradle文件中廳汪加入如下代碼:
compile project(':libmole')
這樣就可以了。
導入基於Eclipse構建的開源庫
基於Eclipse構建的項目,和基於Android Studio構建的項目的很大區別是目錄結構不同。我們首先將mole文件夾拷貝到我們的項目目錄下面,然後在settings.gradle文件中增加這個mole,然後在要使用的mole中的build.gradle文件中引入依賴,這樣看的話,似乎和引入基於gradle構建的沒什麼不同。但是,基於Eclipse構建的項目中,沒有build.gradle文件,所以我們需要自己新建一個放到mole下面,下面是一個模版:
apply plugin: 'android-library'
repositories {
mavenCentral()
}
android {
compileSdkVersion 19
buildToolsVersion "20.0.0"
defaultConfig {
minSdkVersion 9
targetSdkVersion 19
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
jniLibs.srcDirs = ['libs']
}
}
lintOptions {
abortOnError false
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
當然,根據各自的sdk和buildtools版本等等,以及其他,配置會有變化,可以看我之前的文章。
其他
以上就是主要的集中導入場景,自己可以根據自己的實際情況然後改變配置等等。
另外,我們導入的倉庫可能不是maven中心倉庫,或者可能是我們自己搭建的倉庫,我們可以自定義倉庫地址的,修改build.gradle文件中的repositories就可以了,例如:
buildscript {
repositories {
jcenter()
mavenCentral()
maven {
url "https://oss.sonatype.org/content/repositories/snapshots"
}
}
}
另外,project層的buildscript在mole層也是會生效的,所以不用在每個mole都配置。
C. 開源了幾個Android實用的庫
有悉友顫關界面的開源ui庫: GreenDroid , ActionbarSherlock,,以及商業UI庫DroidUX.當告敗然還有一些開源UI組件,這些可在github上面找到睜敗的。
D. 有哪些 Android 的開源界面庫
比較火爆的Android開源庫有以下:
1、volley
主要有以下模塊:
(1) JSON,圖像等的非同步下載;
(2) 網路請求的排序(scheling)
(3) 網路請求的優先順序處理
(4) 緩存
(5) 多級別取消請求
(6) 和Activity和生命周期的聯動(Activity結束時同時取消所有網路請求)2、android-async-http
主要有以下模塊:
(1) 在匿名回調中處理請求結果
(2) 在UI線程外進行
(3) 文件斷點上傳
(4) 智能重試
(5) 默認gzip壓縮
(6) 支持解析成Json格式
(7) 可將Cookies持久化到SharedPreferences 3、Afinal框架
主要有四大模塊:
(1) 資料庫模塊:android中的
,使用了線程池對sqlite進行操作。
(2) 註解模塊:android中的ioc框架,完全註解方式就可以進行UI綁定和事件綁定。無需findViewById和setClickListener等。
(3) 網路模塊:通過httpclient進行封裝http數據請求,支持ajax方式載入,支持下載、上傳文件功能。
(4) 圖片緩存模塊:通過FinalBitmap,imageview載入bitmap的時候無需考慮bitmap載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象。4、xUtils框架
主要有四大模塊:
(1) 資料庫模塊:android中的
,一行代碼就可以進行增刪改查;
(2) 註解模塊:android中的ioc框架,完全註解方式就可以進行UI,資源和事件綁定;
(3) 網路模塊:支持同步,非同步方式的請求;
(4) 圖片緩存模塊:載入bitmap的時候無需考慮bitmap載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象;5、ThinkAndroid主要有以下模塊:(1) MVC模塊:實現視圖與模型的分離。
(2) ioc模塊:android中的ioc模塊,完全註解方式就可以進行UI綁定、res中的資源的讀取、以及對象的初始化。
(3) 資料庫模塊:android中的
,使用了線程池對sqlite進行操作。
(4) http模塊:通過httpclient進行封裝http數據請求,支持非同步及同步方式載入。
(5) 緩存模塊:通過簡單的配置及設計可以很好的實現緩存,對緩存可以隨意的配置
(6) 圖片緩存模塊:imageview載入圖片的時候無需考慮圖片載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象。
(7) 配置器模塊:可以對簡易的實現配對配置的操作,目前配置文件可以支持Preference、Properties對配置進行存取。
(8) 日誌列印模塊:可以較快的輕易的是實現日誌列印,支持日誌列印的擴展,目前支持對sdcard寫入本地列印、以及控制台列印
(9) 下載器模塊:可以簡單的實現
、後台下載、
、對下載進行控制、如開始、暫停、刪除等等。
(10) 網路狀態檢測模塊:當網路狀態改變時,對其進行檢6、LoonAndroid 主要有以下模塊:
(1) 自動注入框架(只需要繼承框架內的application既可)
(2) 圖片載入框架(多重緩存,自動回收,最大限度保證內存的安全性)
(3) 網路請求模塊(繼承了基本上現在所有的
)
(4) eventbus(集成一個開源的框架)
(5) 驗證框架(集成開源框架)
(6) json解析(支持解析成集合或者對象)
(7) 資料庫(不知道是哪位寫的 忘記了)
(8) 多線程斷點下載(自動判斷是否支持多線程,判斷是否是重定向)
(9) 自動更新模塊
(10) 一系列工具類
E. 谷歌推薦android開源庫有哪些
ActionBarSherlock : Action Bar是Android 3.0後才開始支持的,ActionBarSherlock是讓Action Bar功能支持2.X後的所有平台,而且他會自動的判斷是調用原生Action Bar還是使用擴展ActionBar。
Android-ViewPagerIndicator : 這是與ViewPager兼容的一個分頁指示器庫。分頁指示器(Friends 和 Suggested就是分頁,而下面藍色的小條就是指示器,ViewPagerIndicator支持多種樣式的指示器。)
NineOldAndroids : NineOldAndroids 將 Honeycomb (Android 3.0) 的動畫 API 擴展到了Android 1.0以上。這個庫的作者即是 ActionBarSherlock 的作者,也是Android-ViewPagerIndicator 的作者
F. android系統是開源去哪裡下載源代碼
他這不是編程原代碼對外公開,而是系統外部介面對外公開,簡單說,開源就好比是,英特爾生產一個CPU 然後告訴你所有的腳都是干嗎用的,這個告訴你干嗎用的就等於是安桌的開源了, 你知道CPU那些腳干嗎用的後,然後再根據這些腳的功能生產主板,針對這些腳所生產出來的主板就好比那些為因安桌開源後,別人針對安桌所編寫出來的軟體了,
G. 平常收藏的酷炫的Android開源特效庫
現在github上面越來越多大神,開源了各種特效庫出來,真的很炫很贊呀,經常看到一些,收藏了不少,項目中總用得著的,統一記錄一下,嘖嘖嘖~作為我在上的第一篇文章,哇咔咔咔~很喜歡的UI,小清新,給人一種干凈舒服的感覺,哈哈。
1. AndroidViewAnimations 動畫效果,提供了各種類型的動畫效果
2. material-ripple 點擊波紋效果,讓指定View顯示Material Ripple 效果的控制項,適用於所有的view
3. MaterialEditText Material Design風格的輸入框控制項,可以設置圖標,支持懸浮文字提示
4. MaterialViewPager Material 風格的ViewPager庫
5. Android圓形進度按鈕,有時候項目中經常有一些圓形的按鈕啊,還要自己在drawable中寫個xml文件來給自己的按鈕設置背景,有了這個真的是方便很多耶
6. MaterialDateTimePicker 日期選擇器,Material風格,很漂亮,包括日歷選擇器和時間選擇器,很強大
7. SCViewPager 引導頁,每個應用都有引導頁吧,很方便,很好用
8. AndroidImageSlider Android的圖像滑塊 ,一個多姿勢的輪播組件
9. MaterialSearchView 非常漂亮的Material搜索視圖
10. material-dialogs
11. material-calendarview 日歷視圖
12. NiftyDialogEffects 高顏值的動畫效果的Dialog
13. Android-PickerView 仿iOS的PickerView控制項,有時間選擇和選項選擇並支持一二三級聯動效果
14. BottomNavigation 底部導航欄,很酷炫喲~
15. InfiniteCycleViewPager 一個有趣的ViewPager,超級酷炫
16. RecyclerViewCardGallery RecyclerView實現Card Gallery效果,替代ViewPager方案。能夠快速滑動並最終定位到居中位置
17. WaveSideBar 一個效果非常酷炫的索引側邊欄
18. 3dTagCloudAndroid 一個完全基於Android ViewGroup編寫的控制項,支持將一組View展示為一個3D球形集合,並支持全方向滾動
19. AndroidTagView
20. VideoListPlayer 實現了在列表控制項(ListView, RecyclerView)中載入並播放視頻,並支持滑動時自動播放/暫停的功能, 利用該項目,可以輕松實現類似Instagram的視頻播放功能
21. EditTextFirework-Demo 一個絢麗易用的輸入框煙花效果,模仿網頁360搜索框
22. Android-SpinKit Android 載入動畫庫