Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.74
JS
1 / 1 / 0
Регистрация: 25.11.2011
Сообщений: 27
#1

Просмотр изображений - Android

23.05.2013, 19:16. Просмотров 3293. Ответов 16
Метки нет (Все метки)

Пытаюсь сделать просмотр изображений, но не знаю с чего начать)

Суть такая: на флешке есть папки с изображениями (sdcard/images1, sdcard/images2). Выбираем папку и смотрим изображения.

Проблемы такие:
1) как загружать изображения, чтобы они были на весь экран? Пробовал в ImageView, но изображение не получается растянуть на весь экран. В фон пробовал, отображает на весь экран, не знаю правильно ли так. Но зато на телефонах с разными экранами будет изображение на весь экран)
2) как сделать переход между изображениями?
3) как из ресурсов выбрать понятно, а как выбрать изображения из определенной папки?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.05.2013, 20:50     Просмотр изображений #2
Цитата Сообщение от JS Посмотреть сообщение
1) как загружать изображения, чтобы они были на весь экран? Пробовал в ImageView, но изображение не получается растянуть на весь экран. В фон пробовал, отображает на весь экран, не знаю правильно ли так. Но зато на телефонах с разными экранами будет изображение на весь экран)
http://developer.android.com/referen...roid:scaleType

Цитата Сообщение от JS Посмотреть сообщение
2) как сделать переход между изображениями?
http://developer.android.com/referen...ViewPager.html

Цитата Сообщение от JS Посмотреть сообщение
3) как из ресурсов выбрать понятно, а как выбрать изображения из определенной папки?
http://developer.android.com/referen...apFactory.html
JS
1 / 1 / 0
Регистрация: 25.11.2011
Сообщений: 27
24.05.2013, 19:39  [ТС]     Просмотр изображений #3
А можно пример про BitmapFactory? Никак не получается загрузить изображение с sdcard в ImageView.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.05.2013, 20:33     Просмотр изображений #4
Java
1
Bitmap bitmap = BitmapFactory.decodeFile("/sdcard/image.png");
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
24.05.2013, 22:34     Просмотр изображений #5
http://developer.android.com/trainin...aps/index.html
JS
1 / 1 / 0
Регистрация: 25.11.2011
Сообщений: 27
25.05.2013, 11:42  [ТС]     Просмотр изображений #6
Никак не получается загрузить. Все время пишет произошла неожиданная остановка приложения.

Java
1
2
3
4
5
6
7
8
9
    
    ImageView imgView ;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        Bitmap bitmap = BitmapFactory.decodeFile("/sdcard/img.png");
        imgView.setImageBitmap(bitmap) ;
    }
Пробовал загружать при нажатии на кнопку, но не грузит.
Java
1
2
3
4
5
    
    public void onClick(View v){
        Bitmap bitmap = BitmapFactory.decodeFile("/sdcard/img.png");
        imgView.setImageBitmap(bitmap) ;
    }
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.05.2013, 11:55     Просмотр изображений #7
а где инициализация imgView?
JIyrApy
32 / 32 / 1
Регистрация: 22.08.2010
Сообщений: 243
25.05.2013, 13:34     Просмотр изображений #8
Как вариант, можно поставить картинку с карты в ImageView так
Java
1
2
3
4
// imgView - инициализированный ImageView
String img="/sdcard/img.png";
String ingUri="file:/"+img;
imgView.setImageURI(Uri.parse(imgUri));
JS
1 / 1 / 0
Регистрация: 25.11.2011
Сообщений: 27
25.05.2013, 13:45  [ТС]     Просмотр изображений #9
V0v1k, вот весь код.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class SecondActivity extends Activity {
 
    ImageView imgView ;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
 
                Bitmap bitmap = BitmapFactory.decodeFile("/sdcard/img.png");
                imgView.setImageBitmap(bitmap) ;
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.second, menu);
        return true;
    }
 
 
    public void onClickImg(View v){
        Bitmap bitmap = BitmapFactory.decodeFile("/sdcard/img.png");
        imgView.setImageBitmap(bitmap) ;
    }
}



JIyrApy, не работает.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class SecondActivity extends Activity {
 
    ImageView imgView ;
    String img="/sdcard/img.png";
    String imgUri="file:/"+img;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
 
        imgView.setImageURI(Uri.parse(imgUri));
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.second, menu);
        return true;
    }
}
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.05.2013, 15:52     Просмотр изображений #10
я не вижу инициализации imgView
JS
1 / 1 / 0
Регистрация: 25.11.2011
Сообщений: 27
25.05.2013, 17:30  [ТС]     Просмотр изображений #11
Java
1
2
3
4
5
6
7
8
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        ImageView imgView = (ImageView)findViewById(R.id.imageView1) ;
        Bitmap bitmap = BitmapFactory.decodeFile("/sdcard/img.png");
        imgView.setImageBitmap(bitmap) ;
    }
Java
1
2
3
4
5
6
7
8
    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:scaleType="centerCrop" />
Цитата Сообщение от V0v1k Посмотреть сообщение
я не вижу инициализации imgView
А как инициализировать-то?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.05.2013, 17:50     Просмотр изображений #12
Цитата Сообщение от JS Посмотреть сообщение
А как инициализировать-то?
ну вот, как здесь:
Цитата Сообщение от JS Посмотреть сообщение
ImageView imgView = (ImageView)findViewById(R.id.imageView1) ;
JS
1 / 1 / 0
Регистрация: 25.11.2011
Сообщений: 27
25.05.2013, 18:03  [ТС]     Просмотр изображений #13
Но все равно не работает.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.05.2013, 18:10     Просмотр изображений #14
смотрите логи.

Добавлено через 2 минуты
пермишены есть? путь правильный?

Добавлено через 39 секунд
используйте getExternalFilesDir() чтобы получить путь к карте.

Добавлено через 58 секунд
http://developer.android.com/referen...a.lang.String)
JS
1 / 1 / 0
Регистрация: 25.11.2011
Сообщений: 27
25.05.2013, 18:16  [ТС]     Просмотр изображений #15
В логах пишет No such file or directory.

Пробовал так путь указать
Java
1
Bitmap bitmap = BitmapFactory.decodeFile("/mht/sdcard/img.png");
Все равно не отображает.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.05.2013, 18:32     Просмотр изображений #16
значит нет такого файла.

Добавлено через 16 секунд
и читайте выше про getExternalFilesDir
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2013, 18:41     Просмотр изображений
Еще ссылки по теме:

Android Кэширование изображений
Динамическое отображение изображений Android
Реверс-инжиниринг игры Clash of clans | разбор/просмотр .so/.sc/ зашифрованых .cvs Android
Android Просмотр элементов в ListView
Android Просмотр списка смс сообщений

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
JS
1 / 1 / 0
Регистрация: 25.11.2011
Сообщений: 27
25.05.2013, 18:41  [ТС]     Просмотр изображений #17
V0v1k, спасибо за помощь! Как всегда, пострадал из-за своей невнимательности) Вместо mht нужно было mnt)

Вот такой конструкцией это заметил.
Java
1
2
File extDir1 = Environment.getExternalStorageDirectory();
Log.d("Test", "External storage dir from Environment: " + extDir1);
Yandex
Объявления
25.05.2013, 18:41     Просмотр изображений
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru