㈠ 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();
}
```