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

Обработка Uri.getPath() - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Android Studio не запускается AVD Manager http://www.cyberforum.ru/android-dev/thread1532766.html
Помогите пожалуйста установил андроид студио но AVD Manager не запускается на доли секунды вылазит косольное окно и исчезает но AVD Manager не запускает в чём проблема?
Android Java.lang.NoSuchFieldError: org.apache.http.message.BasicHeaderValueFormatter.INSTANCE Что означает ошибка java.lang.NoSuchFieldError: org.apache.http.message.BasicHeaderValueFormatter.INSTANCE Выходит касательно кода, строка 22 class RequestTask extends AsyncTask<String, String, String> { @Override protected String doInBackground(String... params) { try { int i = 1; http://www.cyberforum.ru/android-dev/thread1532765.html
Что сейчас спрашивают на собеседованиях на вакансию Junior Android Developer? Какой уровень требуется? Android
может кто в теме
Android Работа с аккаунтами
делаю что то типа клиента вконтакте и хотелось бы создать аккаунт на андройд через приложение, чтобы потом просто запросил данные и все, а вот найти не могу, ни здесь, ни в яндексе/гугле... может поможете, сталкивались возможно? может ссыль на статью про это кините какую нибудь?
Android Ошибка при импорте проекта gradle http://www.cyberforum.ru/android-dev/thread1532643.html
Здравствуйте, скачал проект с гитхаба, при импорте он мне выдает ошибку: Gradle version 2.1 is required. Current version is 2.4. If using the gradle wrapper, try editing the distributionUrl in D:\android\android-listview\gradle\wrapper\gradle-wrapper.properties to gradle-2.1-all.zip. Please fix the project's Gradle settings, Подскажите как исправить
Android Как добавить ютуб видео в приложение VideoFragment f = VideoFragment.newInstance(VIDEO_ID); FrameLayout frameLayout = new FrameLayout(NewsContent.this); frameLayout.setId(R.id.fragment); linearLayout.addView(frameLayout); getSupportFragmentManager().beginTransaction().replace(R.id.fragment, f).commit(); Так я добавляю видео в свое приложение. Но этот способ не... подробнее

Показать сообщение отдельно
Kadagor
12 / 12 / 4
Регистрация: 17.09.2015
Сообщений: 47

Обработка Uri.getPath() - Android

17.09.2015, 21:27. Просмотров 215. Ответов 0
Метки (Все метки)

Есть две активности.
Первая активность служит для выбора аватарки пользователя.
Структура: ImageView(1) для отображения фотки пользователя, ImageView(2) в качестве кнопки для запуска камеры, ImageView(3) в качестве кнопки для открытия галереи.
Принцип работы:
Вариант 1. По нажатию на картинку 2 запускается приложение камеры. Снимок сохраняется в файл. Путь к снимку сохраняется в настройках в переменную userAvaPath. Изображение картинки 1 меняется на сохранённый снимок.
Вариант 2. По нажатию на картинку 3 открывается приложение галереи. Пользователь выбирает изображение. Путь к изображению сохраняется в настройках в переменную userAvaPath. Изображение картинки 1 меняется на выбранное изображение.
Фрагмент кода обработки клика:
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
39
40
41
42
43
44
45
46
47
48
49
50
public void onClick(View v) {
        switch (v.getId()){
            case R.id.buttonFoto:
                File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)+"ava.jpg");
                fileUri = Uri.fromFile(file);
                if(fileUri!=null) {
                    try {
                        Intent captureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                        captureIntent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
                        startActivityForResult(captureIntent, CAMERA_CAPTURE);
                    } catch (ActivityNotFoundException e) {                     
                    }
                }else{
                }//file error;
                break;
            case R.id.buttonGaleri:
                Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
                photoPickerIntent.setType("image/*");
                startActivityForResult(photoPickerIntent, PICK_IMAGE);
                break;
        }
    }
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (resultCode == RESULT_OK) {
            switch (requestCode){
                case CAMERA_CAPTURE:
                    File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)+"ava.jpg");
                    fileUri = Uri.fromFile(file);
                    break;
                case PICK_IMAGE:
                    fileUri = data.getData();
                    break;
            }
            try {
                final InputStream imageStream = getContentResolver().openInputStream(fileUri);
                final Bitmap selectedImage = BitmapFactory.decodeStream(imageStream);
                userAva.setImageBitmap(selectedImage);
                int mode = Activity.MODE_PRIVATE;
                mySharedPreferences = getSharedPreferences(MainActivity.preferenseFile, mode);
                SharedPreferences.Editor editor = mySharedPreferences.edit();
                    editor.putBoolean("fViewUserAvaDialog", false)
                            .putString("userAvaPath", fileUri.getPath())
                            .apply();
                Toast toast = Toast.makeText(this, fileUri.getPath(), Toast.LENGTH_SHORT);
                toast.show();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
        }
    }
Вторая активность обрабатывает переменную userAvaPath и выводит изображение пользователя.
Фрагмент кода обработки переменной:
Java
1
2
3
4
5
6
7
8
9
try{
  File file = new File(userAvaPath);
  Uri fileUri = Uri.fromFile(file);
  final InputStream imageStream = getContentResolver().openInputStream(fileUri);
  final Bitmap selectedImage = BitmapFactory.decodeStream(imageStream);
  userFoto.setImageBitmap(selectedImage);
}catch (FileNotFoundException e) {
  e.printStackTrace();
}
Изменение картинки активности №1 происходит успешно в любом случае. В случае, когда userAvaPath хранит путь к снимку с камеры фото пользователя отображается корректно и на активности №2. Если userAvaPath хранит путь к картинке из галереи, вторая активность не отображает изображение картинки.
Подскажите пожалуйста в чем может быть причина и как ее можно устранить. Заранее спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru