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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Приложение на Android (дипломный проект) http://www.cyberforum.ru/android-dev/thread1403631.html
Всем доброго времени суток! Друзья, помогите с идеей приложения под Android. Предыдущую тему диплома запороли,теперь в свободном плавание, есть знания и не большой опыт в программировании на java. Какое приложение можно создать, достойное для дипломного проекта?Всем спасибо за внимание.
Программирование Android Растянуть TableLayout на всю часть родителя Всех приветствую, котятки! На повестке дня снова вопрос... Мучаюсь здесь с TableLayout, но всё никак не могу растянуть его на всю часть парента. Помогите, пожалуйста! Такой вот кодец. gameSquare = new TableLayout(this); gameSquare.setBackgroundColor(Color.BLUE); for (int i = 0; i < rows; ++i) { TableRow row = new TableRow(this); for (int j = 0; j... 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
16 / 16 / 1
Регистрация: 20.03.2012
Сообщений: 450

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

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