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

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

Войти
Регистрация
Восстановить пароль
 
znseday
16 / 16 / 1
Регистрация: 20.03.2012
Сообщений: 456
#1

Загрузка изображений из интернета на реальном устройстве - Программирование Android

26.03.2015, 00:15. Просмотров 362. Ответов 0
Метки нет (Все метки)

По мотивам одной книжки написал такую вот программу, которая загружает и показывает изображение из интернета:
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
27
28
29
30
31
32
33
34
35
36
37
38
public class MainActivity extends ActionBarActivity {
 
    private static final String DEBUG_TAG = "TestBitmapURL";
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        ImageSwitcher questionImageSwitcher = (ImageSwitcher) findViewById(R.id.imageSwitcher1);
        questionImageSwitcher.setFactory(new MyImageSwitcherFactory());
        
        Drawable image = null;
        URL imageUrl;
        
        try {
            // Create a Drawable by decoding a stream from a remote URL
 
                imageUrl = new URL("http://www.perlgurl.org/Android/BeenThereDoneThat/Questions/q4.png");
                Bitmap bitmap = BitmapFactory.decodeStream(imageUrl.openStream()); // Эта строчка НЕ работает на реальном устройстве
                image = new BitmapDrawable(bitmap);
                
                questionImageSwitcher.setImageDrawable(image);
            
                } catch (Exception e) {
                   Log.e(DEBUG_TAG, "Decoding Bitmap stream failed.");
                }   
    }
    
    private class MyImageSwitcherFactory implements ViewSwitcher.ViewFactory {
        public View makeView() {
            ImageView imageView = new ImageView(MainActivity.this);
            imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
            imageView.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
            return imageView;
        }
    }
}
На всякий случай - манифест:
XML
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
27
28
29
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.qwerty.testbitmapurl"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk
        android:minSdkVersion="7"
        android:targetSdkVersion="21" />
    
    <uses-permission
        android:name="android.permission.INTERNET">
    </uses-permission>
    
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
Программа без ошибок (и даже быстро) работает на эмуляторе. Но на реальном устройстве загрузка изображения работать не хочет. В чем может быть дело? (интернет на реальном устройстве включен)

Добавлено через 7 часов 20 минут
Немного включив мозг, я посмотрел в логе описание ошибки. Это android.os.NetworkOnMainThreadException.
Погуглив, оказалось, что начиная с ОС 3.0 нельзя загружать данные в главном потоке.
Сейчас разбираюсь с потоками...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2015, 00:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Загрузка изображений из интернета на реальном устройстве (Программирование Android):

Отладка на реальном устройстве - Программирование Android
Добрый день, возникла следующая проблема: на одном устройстве приложение запускается и работает как задумано. На другом сразу после запуска...

Тестирование на реальном устройстве - Программирование Android
Появилась такая проблема. То, что написано в ней - сделал - ошибка осталась. Возникает со всеми созданными приложениями. Буквально...

Debugging на реальном устройстве - Программирование Android
на днях решил занятся Android Studio и появился вопрос: у меня телефон Cubot note s, Android 5.1,а комп Hp pavilion g6, никак не могу...

Как добраться до файлов на реальном устройстве - Программирование Android
Делаю проект в Эклипсе. Приложение запускаю на реальном устройстве. Как мне добраться до файлов моего приложения на реальном устройстве....

Не получается запустить приложение на реальном устройстве - Программирование Android
Я новичок в разработке ПО под данную ось сразу отмечу... Вообщем учусь и пытаюсь разобраться что и как кодить для андройд... впринципе...

Не отображается на реальном устройстве текст кнопок - Программирование Android
Здравствуйте, меня беспокоит одна проблема, при тесте на реальном устройстве кнопки &quot;MAKE A PHOTO&quot; и &quot;OPEN IMAGE&quot; не отображаются а...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2015, 00:15
Привет! Вот еще темы с ответами:

Портится ли батарея при разработке на реальном устройстве? - Программирование Android
Добрый жень. Хочу спросить тех людей, которые при разработке приложений под андроид часто используют не виртуальное, а реальное...

Почему ошибка didn't find class мейн при запуске на реальном устройстве? - Программирование Android
Здравствуйте, начинаю осваивать андроид. В андроид студии создал проект, он прекрасно запускается на эмуляторе. Пробую перенести его на...

Слайдер изображений из интернета - Программирование Android
Добрый день. К примеру, есть массив ссылок на картинки в интернете. Каким образом я могу отобразить эти картинки в каком-то удобном и...

Слайд шоу изображений из интернета - Программирование Android
Вообщем задача передо мной такая. Сделать слайд шоу из изображений. Ссылки на изображения у меня хранятся в массиве. 1)Какой лучше...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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