Как сохранить изображение в хранилище одним нажатием кнопки с помощью Picasso? - PullRequest
0 голосов
/ 14 декабря 2018

Я действительно занимаюсь разработкой на Java и Android, и я пытаюсь создать простое приложение, которое отображало бы случайные изображения и загружало то, что вам нравится.Я реализовал часть дисплея и добавил кнопку загрузки, но не могу понять, как загрузить изображение, используя целевую функцию для Пикассо.Попытка поиска в Интернете, но не смог найти актуальное объяснение.Я был бы очень признателен, если бы кто-нибудь смог ELI5 это сделать.

Код, который у меня есть, следующий:

public class MainActivity extends AppCompatActivity {
    ImageView imageView ;
    Button button ;
    Button button2;
    String[] arr = {"https://i.redd.it/pyge7os0xr321.jpg", "https://i.redd.it/lzm6coywrp321.jpg",
                    "https://i.redd.it/l85mmi9c6p321.jpg","https://i.redd.it/vm25lg6umn321.jpg","https://i.redd.it/ca7o63wzpn321.jpg"};


    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        imageView = (ImageView)findViewById(R.id.imageView);
        button = (Button)findViewById(R.id.button);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                Picasso.get()
                        .load(arr[ThreadLocalRandom.current().nextInt(0, 4 + 1)])
                        .error(R.mipmap.ic_launcher)
                        .resize(300,300)
                        .into(imageView);

            }}




        );

        button2 = (Button)findViewById(R.id.button2);

        button2.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view) {

                String imageUrl = arr[ThreadLocalRandom.current().nextInt(0, 4 + 1)];

                Picasso.get()
                        .load(arr[ThreadLocalRandom.current().nextInt(0, 4 + 1)])
                        .error(R.mipmap.ic_launcher)
                        .resize(300,300)
                        .into(new Target() {
                    @Override
                    public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
                        // Bitmap is loaded, use image here
                        imageView.setImageBitmap(bitmap);
                    }
                    public void onBitmapFailed() {
                        // Fires if bitmap couldn't be loaded.
                    }
                });

            }}



        );
    }
}
...