Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从字符串列表/Url设置为墙纸_Java_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Java 如何从字符串列表/Url设置为墙纸

Java 如何从字符串列表/Url设置为墙纸,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,大家好,我正在创建一个墙纸应用程序,从Firebase数据库中获取字符串格式的所有图像 现在我被设置为壁纸,因为图像是Url格式的,WallperManager.setResource(int)只支持int格式 我也曾尝试将Url转换为位图,但它也不适合我 fabSetWallpaper.setOnClickListener(new View.OnClickListener() { @Override public void onC

大家好,我正在创建一个墙纸应用程序,从Firebase数据库中获取字符串格式的所有图像

现在我被设置为壁纸,因为图像是Url格式的,WallperManager.setResource(int)只支持int格式

我也曾尝试将Url转换为位图,但它也不适合我

fabSetWallpaper.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    String urldisplay = list.get(position).getImageURL();
                    Bitmap bmp = null;

                    try {
                        URL ulrn = new URL(urldisplay);
                        HttpURLConnection con = (HttpURLConnection) ulrn
                                .openConnection();
                        InputStream is = con.getInputStream();
                        bmp = BitmapFactory.decodeStream(is);

                        int widthPx = getWindowManager().getDefaultDisplay()
                                .getWidth();
                        int heightPx = getWindowManager().getDefaultDisplay()
                                .getHeight();
                        bmp = Bitmap.createScaledBitmap(bmp, widthPx, heightPx,
                                true);

                    } catch (Exception ex) {

                    }

                    WallpaperManager myWallpaperManager = WallpaperManager
                            .getInstance(getApplicationContext());
                    try {
                        myWallpaperManager
                                .setBitmap(bmp);
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

                    Toast.makeText(SecondTest2Activity.this, "Wallpaper Successfully Set On Screen ", Toast.LENGTH_LONG).show();
                }
            });
我已经尝试了上面的代码,但没有工作…可能这个问题将重复的人,但我已经在网上搜索了很多,但没有找到任何解决方案

我找到了解决办法


我能想到的最简单的方法是在Android上使用
load()
方法传递
url
,它应该是字符串类型。如果您有一个
Url
对象列表,那么只需获取该对象的字符串表示形式并使用以下代码行即可:

GlideApp
    .with(myFragment)
    .load(url)
    .centerCrop()
    .into(yourImageView);

为什么设置位图不适合你?不客气!在这种情况下,请考虑通过点击投票箭头上的复选标记接受我的答案,应该改变绿色中的颜色。谢谢
GlideApp
    .with(myFragment)
    .load(url)
    .centerCrop()
    .into(yourImageView);