Java 从url将图像设置为壁纸(Glide+;json)

Java 从url将图像设置为壁纸(Glide+;json),java,android,set,android-glide,wallpaper,Java,Android,Set,Android Glide,Wallpaper,嗨,提前感谢那些指导我的人 我对设置的墙纸有一个问题,当我单击按钮时,出现以下错误: 2018-12-2822:36:02.80113030-13030/?E/AndroidRuntime:致命异常:主 java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“boolean android.graphics.Bitmap.compress(android.graphics.Bitmap$CompressFormat,int,java.io.OutputStr

嗨,提前感谢那些指导我的人

我对设置的墙纸有一个问题,当我单击按钮时,出现以下错误:

2018-12-2822:36:02.80113030-13030/?E/AndroidRuntime:致命异常:主 java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“boolean android.graphics.Bitmap.compress(android.graphics.Bitmap$CompressFormat,int,java.io.OutputStream)”

我把文件留着用

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:orientation="vertical"
    android:id="@+id/thumbnail2"
    android:padding="5dp">

    <TextView
        android:id="@+id/txtclose"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:layout_gravity="end"
        android:layout_marginTop="5dp"
        android:layout_marginEnd="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginBottom="5dp"
        android:background="@drawable/circulo"
        android:gravity="center"
        android:text="@string/equis"
        android:textColor="@android:color/background_light"
        android:textStyle="bold" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:orientation="vertical">
<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="end">

        <Button
                android:id="@+id/btn"
                android:layout_width="159dp"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom|center"
                android:layout_marginBottom="25dp"
                android:background="@drawable/borde_redondo"
                android:text="Establecer como Fondo de Pantalla"
                android:textColor="#ffffff" />

</FrameLayout>
    </LinearLayout>
</LinearLayout>

总之,我需要的是,当您单击按钮时,显示的图像被设置为墙纸,正如我所看到的,您没有使用完整路径解码位图。您需要获得完整的路径名,如:

String uri =  Environment.getExternalStorageDirectory().toString() + "/" + PHOTO_DIR  + "/test.jpg";
之后:

Bitmap bitmap = BitmapFactory.decodeFile(uri);

你好,艾库特。我做了您的更改,当我单击按钮时,应用程序关闭,日志显示以下内容:java.lang.NullPointerException:在空对象引用com.vinotintoplayer.wallperhd4k.infoanimales.setwallper(infoanimales.java:87)上尝试{manager.setBitmap(位图);
String uri =  Environment.getExternalStorageDirectory().toString() + "/" + PHOTO_DIR  + "/test.jpg";
Bitmap bitmap = BitmapFactory.decodeFile(uri);