欢迎回来Android入门教程的第十二期,本期来学习一个框架。在开发中,我们可能会需要加载一张网络图片或想要提升加载图片的性能,目前有许多图片加载框架,那么本期就来介绍其中的Glide。

上期传送门:#11 Android入门教程 – 多Activity与数据传输 – LovelyCat的小站 (lovelycatv.cn)

下期传送门:#13 Android入门教程 – values的使用 – LovelyCat的小站 (lovelycatv.cn)

Glide是一个快速又高效的图片加载框架,它提供了简单快捷的API,以便我们快速掌握它的用法。下面一起来学习一下吧。GitHub:bumptech/glide: An image loading and caching library for Android focused on smooth scrolling (github.com)

在项目结构中,找到app目录下的build.gradle(注意不是根目录下的build.gradle),打开它找到dependencies,在里面添加下面两行:

implementation 'com.github.bumptech.glide:glide:4.12.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'

然后点击Sync进行同步,稍等一会下载Glide库,构建完成即可。那么上一期学习了如何创建多个Activity并实现跳转(传送门:#11 Android入门教程 – 多Activity与数据传输 – LovelyCat的小站 (lovelycatv.cn)),那么现在我们随意创建一个Activity,在里面放上几个ImageView用于加载图片,然后在Activity类中获取这些ImageView,具体过程就不再演示了,需要的朋友看上一期。

我们可以直接使用Glide的load和into方法,直接将图片加载进ImageView,load方法的参数支持很多类型。

ImageView imageView1 = findViewById(R.id.img1);
ImageView imageView2 = findViewById(R.id.img2);

Glide.with(this).load(new File("/storage/emulated/0/Pictures/DownloadPicture/Landscape/0c2074c0ef9845b86c355a78a5f09479.png")).into(imageView1);
Glide.with(this).load("https://upload-images.jianshu.io/upload_images/15555141-db55fb969d455e26.png").into(imageView2);

像上面这样,就可以完成对两种图片的加载,现在我们可以来运行一下试试…?

还没有结束!APP现在还没有访问网络的权限呢,那么我们在项目结构中找到AndroidManifest.xml,在manifest下申请权限:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="cn.lovelycatv.androiddevelopment">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        tools:ignore="GoogleAppIndexingWarning">
        <activity android:name=".CratedActivity"></activity>
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

可以看到,uses-permission就是你要申请的权限,这些都会在APP运行时自动检查,若你有其他如读取/写入等敏感权限,会在APP第一次运行时询问是否允许,这里只介绍了网络权限和储存空间的获取,更多权限请前往此处寻找:Android权限大全_a451319296的博客-CSDN博客_android 权限大全

申请完权限,现在我们再来运行APP看一看效果:

如果你无法加载本地图片,请自行前往应用权限中打开读取本地图片权限。

那么本期教程就到此结束了,感谢观看!


0 条评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注