㈠ android glide只能緩沖縮略圖嗎
lide是一個快速高效的Android媒體管理框架,將媒體解碼、內存和硬碟緩存、資源池包裝成簡單和易於使用的介面。Glide支持獲取、解碼和顯示視頻文件、圖片和動畫GIF文件。包含了一個靈活的API,藉助以API開發者能夠將Glide應用到大多數的網路協議棧中。
㈡ Android開發Glide用過的人多嗎
不清楚沒人統計,應該比較多,因為網上講的是一個大的框架
另外常用的是:
Universal-Image-Loader
Picasso
xtuils
fresco
㈢ android glide 使用什麼緩存
Android的Glide在載入圖片時候內部默認使用了緩存機制,Glide的緩存機制分為兩級,第一級是內存緩存,然後第二級是硬碟緩存。緩存的過程首先是在內存中緩存,然後將載入的圖片資源緩存到硬碟,這樣就可以在隨後的再次載入中使用緩存了,Glide使用緩存時候首先要檢查內存這一層級是否緩存了相應的緩存,如果有,則直接使用,如果沒有,則深入到硬碟緩存中檢查是否有,如果有,則載入之,如果到這一步驟還沒有,那麼就只能作為一個全新的資源載入了。
㈣ 安卓 glide可以在eclipse上使用嗎
主要通過以下幾個步驟:
1、手機通過數據線連接在電腦上
2、設置android手機為USB調試模式。步驟: menu—> 設置 —> 應用程序 —> 開發 , 選擇【USB調試】
3、如果是window系統,系統會提示安裝驅動:
選擇正確的android sdk安裝目錄,然後點擊下一步,系統就開始安裝驅動了
4、驅動安裝完成之後,重啟電腦(通常系統會有「安裝新驅動,重啟才能生效」的提示),這但應該明白吧
5、重復第1步和第2步,打開命令窗口,檢測手機設備是否已經被識別,如下所示:
「HT99YLG11834 device」就是檢測到得手機設備
6、接下來就開始在eclipse上調試android程序了,右擊android工程->Run as->Android Application,彈出如下窗口:(重新啟動系統之後才有這樣的效果)
7、選中手機設備,點擊OK之後,程序就開始在真機上安裝了,控制台輸出如下信息:
[2011-04-07 22:24:49 - HelloWorld] Uploading HelloWorld.apk onto device 『HT99YLG11834′
[2011-04-07 22:24:49 - HelloWorld] Installing HelloWorld.apk…
[2011-04-07 22:24:53 - HelloWorld] Success!
[2011-04-07 22:24:53 - HelloWorld] Starting activity com.eightqiu.activity.StatsResultActivity on device
[2011-04-07 22:24:57 - HelloWorld] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.eightqiu.activity/.StatsResultActivity }
8. 設置應用程序為調試模式。操作: 編輯AndroidManifest.xml 增加調試參數android:debuggable="true", 如下:
<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">
9. 執行真機調試操作:ECLIPSE調試對話框中,Target窗口中選擇Manual,點擊【debug】按鈕,選擇真機設備,開始調試。
註:不管是否啟用ECLIPSE環境,任何Android軟體只要在真機上運行發生異常,都可以在命令行窗口下查看具體異常信息:
執行:./adb logcat 可以查看到更多的系統異常消息。在這些消息中要注意查看Caused by:打 頭的行,這些行指明了在哪行代碼出的錯誤
10、運行這個應用程序,這樣就可以使用手機來測試了
㈤ 大神推薦一個好用的Android API!!
那方面的api????
------------------
軟體庫的存在使得Android編碼更方便快捷。在如此多 Android庫中,我們該如何尋找最合適的一款呢?下面我們做了一個列表供你參考。
動畫(Animation)
Android View Animations:強大的動畫庫,通過對它的使用,可以輕松創建各種動畫效果。
RecyclerView Animators:允許操作者使用含炫酷動畫效果的RecyclerView類。
APIs
CloudRail:幫助操作者更快地進行API集成服務。它將多個服務(例如Dropbox,Google Drive和OneDrive)捆綁成一個統一的API。此外,它可自動處理API更新,並保持API的代碼一致。其介面可用於雲存儲,社交,支付等。
Retrofit:Retrofit由Square公司開發,是Android的REST客戶端,其類型安全,可將http API轉換成java介面。
圖表(Charts)
MPAndroidChart:一款強大的圖表生成庫,可在Android上生成圖表,同時還提供8種不同的圖表類型和多種手勢。
AndroidCharts:一款簡單的圖表創建工具,具有自定義的功能。
資料庫(Database)
SQLBrite: 圍繞SQLiteOpenHelper和ContentResolver創建封裝,以在查詢中使用流式語義。
Sugar ORM:使用SQLite資料庫的簡單操作,優勢在於無需編寫SQL查詢。
數據架構(Data Structure)
Eclipse Collections:用於Java的Collections框架,可為容器類型附加迭代方法的操作等。
日期和時間(Date & Time)
TimesSquare for Android:簡單獨立的日歷小部件,可在日歷視圖中選擇日期。
Material Calendar View:移植到Material design的安卓CalendarView。
依賴(Dependencies)
Dagger:進行Android依賴注入的快捷方式。
文檔(Files)
Android-FilePicker:一款照片選擇器,可從列表中選擇圖片或文檔。
Material File Picker:Material design中的文件選擇器。
函數式編程(Functional Programing)
Retrolambda:在Java 7中使用Lambdas的一種操作。
手勢(Gestures)
Sensey:在Android應用程序中添加手勢的簡單操作。
Android 3D Touch – PeekView:類似於iOS上的3D Touch,用以「預覽」程序內容。
藍牙(Bluetooth)
Android-BluetoothSPPLibrary:使用序列化藍牙埠(Bluetooth Serial Port Profile)的簡單操作。
RxAndroidBle:藍牙低耗能處理工具。
相機(Camera)
CameraFilter:使用OpenGL著色器的實時相機濾鏡。
Material Camera:Android開發的快速簡易的相機框架。
位置(Location)
ReactiveLocation:Google Play API的小型但實用的封裝程序,用於獲取位置。
Smart Location Library:簡化位置提供項的庫。
布局(Layout)
Android Swipe Layout:為對象提供滑動布局,如,向左滑動即刪除的操作。
FlexboxLayout :為Android提供框布局,其內容可通過CSS了解。
日誌(Logging)
Logger:Android日誌記錄器。
Hugo:用觸發注釋的方法調用記錄。
地圖(Maps)
AirMapView :用以查看Google Maps API摘要,非常適合沒有Google Play服務的應用程式。
Google地圖的實用程序,如,熱點地圖或標記聚類。
音頻播放器(Audio)
Music Player:含UI的完整音樂播放器。
RxAndroidAudio :封裝帶有Rx支持的Android Audio API RxAndroid音頻播放器。
GIF
android-gif-drawable:使用視圖和可繪制的GIF動圖。
GifView :Android上使用View播放的GIF庫。
圖像(Image)
uCrop:對Android上的圖片進行裁剪的庫。
Glide:Android的媒體管理和圖片載入庫。
視頻播放器(Video)
VideoPlayerManager:對Android MediaPlayer類的使用進行幫助說明的庫。
Easy Video Player:易於操作的視頻播放器,可通過視圖使用。
信息(Messaging)
Chateau:在Android應用中提供聊天功能的框架。
網路(Networking)
OkHttp:Android的HTTP客戶端。
AndroidAsync:基礎級網路協議庫。
消息推送(Push Notifications)
PubNub:用於處理推送通知的商業服務。
Gandalf:用於發送更新或維護相關的通知。
支付(Payments)
Android In-App Billing v3 Library:通過Android v3 API輕松處理應用內置付款的庫。
Checkout:處理應用內購買操作的庫。
安全(Security)
Sodium:輕松做加密,解密,簽名和散列操作的工具。
PiracyChecker:通過使用Google的LVL,防止應用程式被盜用的工具。
文本(Text)
Ticker:顯示滾動文本的UI組件。
MaterialEditText:Material Design的文本輸入器。
字體(Font)
fontbinding:使用數據綁定的XML自定義字體的操作。
Calligraphy:在Android應用程式上使用傳統字體的簡易操作。
用戶界面(User Interface)
Material Design Android Library:在Android中使用Google的Material Design(Android 2.2版)的庫。
Material:將Material Design導入原有應用程序的庫。
指示器(Activity Indicator)
AppIntro:為應用程序創建炫酷簡介,類似於Google原始應用中的。
LolliPin:為應用程序提供pin密碼。
操作按鈕(Buttons)
Android-Bootstrap:通過使用Bootstrape規則,進行諸如在APP中創建按鈕的操作。
Android Morphing Button:Android的操作按鈕,其形狀大小可更改。
表格(Form)
Vertical Stepper Form Library:在Material Design中創建表單的庫。
鍵盤(Keyboard)
KeyboardVisibilityEvent:顯示與隱藏鍵盤的簡單操作。
AndroidKeyboardWatcher:追蹤鍵盤開啟/關閉操作情況的庫。
菜單(Menu)
BottomBar:在Material Design中提供底部導航欄的視圖組件。
Side Menu:為應用程序添加側邊菜單欄的工具。
評分(Rating)
Android-Rate:提醒用戶對應用程序進行評價的簡易庫。
SimpleRatingBar:用於星級評分的UI組件。
滑屏(Slider)
SlidingMenu:輕松為應用程序創建滑動式菜單項。
MaterialDrawer:Android中輕便靈活的抽屜布局式庫。
英語原文:Best Android Libraries for Developers
編譯:開源中國
本站文章除註明轉載外,均為本站原創或編譯。歡迎任何形式的轉載,但請務必註明出處,尊重他人勞動共創開源社區。
轉載請註明:文章轉載自 開源中國社區 [http://www.oschina.net]
本文標題:面向開發者的最佳 Android 庫列表
本文地址:https://www.oschina.net/news/78857/best-android-libraries-for-developers
㈥ android glide 怎麼設置只有一個圓角
附錄1簡單介紹了android開源的圖片載入框架。在實際的開發中,雖然Glide解決了快速載入圖片的問題,但還有一個問題懸而未決:比如用戶的頭像,往往用戶的頭像是從伺服器端讀出的一個普通矩形圖片,但是現在的設計一般要求在APP端的用戶頭像顯示成圓形頭像,那麼此時雖然Glide可以載入,但載入出來的是一個矩形,如果要Glide在載入過程中就把矩形圖轉換成圓形的,則需要在Glide之上引入一個開源項目:glide-transformations
glide-transformations在github上的項目主頁是:https://github.com/wasabeef/glide-transformations
寫一個例子說明。
[java] view plain
package zhangphil.app;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import jp.wasabeef.glide.transformations.BlurTransformation;
import jp.wasabeef.glide.transformations.CropCircleTransformation;
import jp.wasabeef.glide.transformations.RoundedCornersTransformation;
public class MainActivity extends AppCompatActivity {
//我csdn博客頭像
String url = "http://avatar.csdn.net/9/7/A/1_zhangphil.jpg";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//原圖,是我博客的頭像
ImageView image1 = (ImageView) findViewById(R.id.image1);
Glide.with(this).load(url).crossFade(1000).into(image1);
//原圖 -> 圓圖
ImageView image2 = (ImageView) findViewById(R.id.image2);
Glide.with(this).load(url).bitmapTransform(new CropCircleTransformation(this)).crossFade(1000).into(image2);
//原圖的毛玻璃、高斯模糊效果
ImageView image3 = (ImageView) findViewById(R.id.image3);
Glide.with(this).load(url).bitmapTransform(new BlurTransformation(this, 25)).crossFade(1000).into(image3);
//原圖基礎上復合變換成圓圖 +毛玻璃(高斯模糊)
ImageView image4 = (ImageView) findViewById(R.id.image4);
Glide.with(this).load(url).bitmapTransform(new BlurTransformation(this, 25), new CropCircleTransformation(this)).crossFade(1000).into(image4);
//原圖處理成圓角,如果是四周都是圓角則是RoundedCornersTransformation.CornerType.ALL
ImageView image5 = (ImageView) findViewById(R.id.image5);
Glide.with(this).load(url).bitmapTransform(new RoundedCornersTransformation(this, 30, 0, RoundedCornersTransformation.CornerType.BOTTOM)).crossFade(1000).into(image5);
}
}
布局則比較簡單,是一個垂直方向的線性布局布局了5個ImageView,不再贅述。
代碼運行結果。
附錄:
1,《Android圖片載入與緩存開源框架:Android Glide》鏈接:http://blog.csdn.net/zhangphil/article/details/45535693
㈦ android中怎麼使用glide載入動態圖
由於前段時間項目需要,需要在一個頁面上載入根據不同的按鈕載入不同的布局頁面,當時想到用 tabhot 。不過美工提供的界面圖完全用不上tabhot ,所以想到了動態載入的方法來解決這一需求。在這里我整理了一下,寫了一個 DEMO 希望大家以後少走點...
㈧ Android開發Glide用過的人多嗎
Glide載入圖片很強大,使用方便,用的人很多
㈨ android 如何獲得pdf文件的頁數
分頁方法:
打開網路pdf 思路整體還是來源與圖片的載入。
android中載入網路圖片的框架有很多個。如image-laoder, fresco、glide等,首先都是從內存中找圖片,如果內存中沒有,接著從本地找,本地沒有在從網路下載。
android中載入pdf也是類似,首先從本地找pdf文件,如果本地存在該pdf文件,直接打開,如果本地不存在,將該pdf文件下載到本地在打開。
下載文件用到了retrofit2的庫,已經封裝到android_pdf中了。
2.依賴android_pdf庫方法
2.1 在項目的gradle中增加如下代碼:
compile 'com.lidong.pdf:android_pdf:1.0.1'
2.2 一句代碼就可以載入網路pdf。
```
pdfView.fileFromLocalStorage(this,this,this,fileUrl,fileName); //設置pdf文件地址
```
2.3對fileFromLocalStorage(this,this,this,fileUrl,fileName)的解析
/**
```
* 載入pdf文件
* @param onPageChangeListener
* @param onLoadCompleteListener
* @param onDrawListener
* @param fileUrl
* @param fileName
*/
public void fileFromLocalStorage(
final OnPageChangeListener onPageChangeListener,
final OnLoadCompleteListener onLoadCompleteListener,
final OnDrawListener onDrawListener,
String fileUrl,
final String fileName)
```
1. OnPageChangeListener onPageChangeListener :翻頁回調
2. OnLoadCompleteListener onLoadCompleteListener:載入完成的回調
3. OnDrawListener:頁面繪制的回調
4. String fileUrl : 文件的網路地址
5. String fileName 文件名稱
3.使用android_pdf庫方法
3.1寫一個布局文件
```
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.lidong.pdf.androidpdf.MainActivity">
<com.lidong.pdf.PDFView
android:id="@+id/pdfView"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</RelativeLayout>
```
3.2在MainActivity中載入
```
import android.graphics.Canvas;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
import com.lidong.pdf.PDFView;
import com.lidong.pdf.api.ApiManager;
import com.lidong.pdf.listener.OnDrawListener;
import com.lidong.pdf.listener.OnLoadCompleteListener;
import com.lidong.pdf.listener.OnPageChangeListener;
import com.lidong.pdf.util.FileUtils;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import okhttp3.ResponseBody;
import rx.android.schelers.AndroidSchelers;
import rx.functions.Action1;
import rx.schelers.Schelers;
public class MainActivity extends AppCompatActivity implements OnPageChangeListener
,OnLoadCompleteListener, OnDrawListener {
private PDFView pdfView ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pdfView = (PDFView) findViewById( R.id.pdfView );
displayFromFile1("http://file.chmsp.com.cn/colligate/file/00100000224821.pdf", "00100000224821.pdf");
}
/**
* 獲取打開網路的pdf文件
* @param fileUrl
* @param fileName
*/
private void displayFromFile1( String fileUrl ,String fileName) {
pdfView.fileFromLocalStorage(this,this,this,fileUrl,fileName); //設置pdf文件地址
}
/**
* 翻頁回調
* @param page
* @param pageCount
*/
@Override
public void onPageChanged(int page, int pageCount) {
Toast.makeText( MainActivity.this , "page= " + page +
" pageCount= " + pageCount , Toast.LENGTH_SHORT).show();
}
/**
* 載入完成回調
* @param nbPages 總共的頁數
*/
@Override
public void loadComplete(int nbPages) {
Toast.makeText( MainActivity.this , "載入完成" + nbPages , Toast.LENGTH_SHORT).show();
}
@Override
public void onLayerDrawn(Canvas canvas, float pageWidth, float pageHeight, int displayedPage) {
// Toast.makeText( MainActivity.this , "pageWidth= " + pageWidth + "
// pageHeight= " + pageHeight + " displayedPage=" + displayedPage , Toast.LENGTH_SHORT).show();
}
```