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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Приложение на Android (дипломный проект) http://www.cyberforum.ru/android-dev/thread1403631.html
Всем доброго времени суток! Друзья, помогите с идеей приложения под Android. Предыдущую тему диплома запороли,теперь в свободном плавание, есть знания и не большой опыт в программировании на java....
Программирование Android Растянуть TableLayout на всю часть родителя Всех приветствую, котятки! На повестке дня снова вопрос... Мучаюсь здесь с TableLayout, но всё никак не могу растянуть его на всю часть парента. Помогите, пожалуйста! Такой вот кодец. ... http://www.cyberforum.ru/android-dev/thread1403386.html
Как можно сделать в Gridview или BaseAdapter кнопки ToggleButton? Программирование Android
Всем привет,у меня такой вопрос как можно сделать в Gridview или BaseAdapter кнопки togglebutton,чтоб вкл и выкл на кнопки были ,смысл такой ,есть два массива с картинками в выключенном режиме один...
Как масштабировать нарисованное на холсте по размеру экрана? android.graphics.Canvas Программирование Android
Здравствуйте. Помогите, пожалуйста, разобраться. Изучаю рисование на андроид. Допустим, я что-то нарисовал, а нарисованное вышло за пределы экрана устройства. Как мне сделать так, чтобы нарисованное...
Программирование Android Графика, анимация в приложении http://www.cyberforum.ru/android-dev/thread1403241.html
Я новичек в этом деле. ) Поскажите куда копать и что использовать лучше всего. Допустим я хочу нарисовать животное в центре экрана(котэ например). Затем хочу сделать из него анимацию для фоновой...
Программирование Android В каких случаях, по вашему, C++ (NDK) лучше, чем Java (SDK)? Можно ли готовое приложение Android написать в одном лишь NDK? подробнее

Показать сообщение отдельно
znseday
18 / 18 / 1
Регистрация: 20.03.2012
Сообщений: 483

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

26.03.2015, 00:15. Просмотров 396. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru