Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Непонятная смена названия директории.

Программ с библиотекой Qt, простенький браузер. Переход по файловой системе «вверх». Наблюдаю такую последовательность.
Начало с SD карты. Читаю текущую директорию
"/storage/sdcard0"
Далее вызываю процедуру cdUp, получаю
"/storage"
Следующий вход в процедуру перехода «на верх» получаю, читая текущую директорию
"/mnt"
Почему "/storage" без видимых причин преобразуется в "/mnt"? И одна и другая директория есть и они разные.

Ответ:
Цитата
Почему "/storage" без видимых причин преобразуется в "/mnt"

потому что корневой каталог носителей в андроиде всегда и был mnt, а работая с другими ссылками Вы имели дело с симлинками и Ваш код честно делает свое дело, выбираясь на папку выше.
Код

while( substr( myStr, 0, 4 ) == "/sto" )
что Вам стоит проверять примерно так? это избавит от проблем выхода за симлинк
Вопрос: PagerAdapter, как сделать, чтобы у каждого итема было свое название и свой вид?

В этом новичек. Подскажите.
Код Java(TM) 2 Platform Standard Edition 5.0
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
class SamplePagerAdapter extends PagerAdapter {
 
 
        @Override
        public int getCount() {
            return 3;  - ЭТО ОТВЕЧАЕТ ЗА КОЛИЧЕСТВО ИТЕМОВ НА ЭКРАНЕ, ТАК ВЕДЬ?
        }
 
       @Override
        public boolean isViewFromObject(View view, Object o) {
            return o == view;
        }
 
        @Override
        public CharSequence getPageTitle(int position) {
            return "Item " + (position + 1); -ЭТО ЗА НАЗВАНИЕ?
        }
 
        @Override
        public Object instantiateItem(ViewGroup container, int position) {
            
            View view = getActivity().getLayoutInflater().inflate(R.layout.pager_item,
                    container, false);  // ЭТО ФАЙЛ ГДЕ ОБОЛОЧКА ЭКРАНА ПО ВЫБОРУ КАЖДОГО ИЗ ИТЕМОВ (ВЕЗДЕ БУДЕТ ОДИНАКОВОЕ)?
           
            container.addView(view); 
            TextView title = (TextView) view.findViewById(R.id.item_title);
            title.setText(String.valueOf(position + 1));
            return view;
        }
А что это?
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
@Override
        public boolean isViewFromObject(View view, Object o) {
            return o == view;
        } 
Как сделать, что бы у каждого итема было свое название и свой вид?
Подскажите хорошие примеры. Спасибо
Ответ:
Сообщение от LIONDIANA
Как сделать, что бы у каждого итема было свое название и свой вид?
Название изменяется методом getPageTitle(int position). Создай массив title[], тогда смена названий будет return title[position].
Вид меняется аналогично, создай массив вьюх views[] (например R.layout.pager_item0, R.layout.pager_item1, R.layout.pager_item2), тогда будет так
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
View view = getActivity().getLayoutInflater().inflate(views[position],
   container, false);
Вопрос: Непонятная ошибка

Error:Error: Duplicate resources: D:\Education\Программы\passwordgenerator\app\src\main\res\drawable\yandex.png:drawable/yandex, D:\Education\Программы\passwordgenerator\app\src\main\res\drawable\yandex.jpg:drawable/yandex

абсолютно непонятная ошибка... быть может, вы что-то знаете о ней?..

Заранее спасибо!
Ответ: по тексту ошибки очевидно что не должно быть ресурсов с одинакомыми названиями, даже если у них разные расширения
один из файлов надо переименовать
Вопрос: Бесшовное проигрывание видео при смене ориентации

Предложите пример или подскажите каким образом можно организовать бесшовное проигрывание видео при смене ориентации устройства?
Ответ:
Сообщение от Tester64
А что оно делает?
В данном случае смены ориентации не происходит

Добавлено через 1 минуту
Сообщение от Stylish2013
каким образом можно организовать бесшовное проигрывание видео при смене ориентации устройства?
Если только на 180 градусов, и то не факт. Если же вы хотите при любом повороте, то тогда надо запоминать позицию (время), ставить на паузу, затем при восстановлении переводить на позицию и включать проигрывание. Естественно, грузиться снова будет долго.
Вопрос: SQlite и названия колонок

Вопрос в том, а можно ли использовать русские символы в названиях колонок?
Ответ: ну хотя бы сделать 2 таблицы, одна содержит названия групп и их ид, и другая таблица содержащая контент всех групп... связка по ид группы

тут кароч тебе надо не в андроид ветку писать тогда, и гуглить, много гуглить
Вопрос: Смена языка для своего приложения

Доброго времени суток. Как мне реализовать смену языка у своего приложения? При загрузки у меня есть Активити где я выбираю язык 1 из 3. Я попытался передать главному Активити строку с названием языка пример:
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
Intent intent;
intent = new Intent(this,MainActivity.class);
intent.putExtra("language","english");
startActivity(intent);
Обработка полученных данных.
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
Intent intent = getIntent();
 
        String language = intent.getStringExtra("language");
 
        Toast.makeText(this, "Chosen Language  is " + language, Toast.LENGTH_SHORT).show();
В зависимости от выбранного языка переименовать вручную все компоненты View методом setText("");
Мне кажется это неправильным, да и к тому же у меня много Фрагментов со своими layout, а так же Табы в ToolBar. Должен же быть какой то принцип мульти-язычного приложения.
Ответ: Да,я вот тоже только что догнал,откуда берётся язык. Спасибо за помощь.
Вопрос: Android label меняет размер текста при смене ориентации

Я заметил что текст названия приложения меняет свой размер при смене ориентации.
Но в большинстве приложений нет такого.
Где находится конфигурация этого текста?
И как сделать так чтобы этот текст не менял свой размер?
Ответ: где доказательства?
Вопрос: Непонятное поведение программы!

есть счетчик, который выводит цифры в TextView (подобие секундомера)

есть кнопка запуска, она же остановки счетчика.

Кнопка остановки счетчика должна также обнулять его значение (т.е вписывать в исходный TextView начальное значение, а именно "0")

Реализация кнопки стоп условно такова:

Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
                       mTimer.cancel(); //останавливаем таймер
            txt.setText("0"); //вписываем начальное значение
            btn.setText("СТАРТ"); //меняем название кнопки обратно на СТАРТ
Так вот в чем проблема - при большой скорости вывода цифр - раз в 10ms (mTimer.schedule(mtt, 10, 10), вторая строка кода не срабатывает! При том, что таймер останавливается и название кнопки также сменяется.

При скорости таймера в 100ms (mTimer.schedule(mtt, 100, 100) все работает нормально.

Не могу понять причин такого поведения.

Пока единственный выход который нашел, запускать тут же новый таймер, который будет исполнять txt.setText("0");, но это уже нагораживание.

Как выйти из положения и сделать чтобы все работало нормально?
Ответ: 10мс это 100 кадров в секунду, не жирно?
Вопрос: Возможность смены темы/стиля приложения в рантайме

Привет всем!
Помогите разобраться.
Хочу в рантайме иметь возможность смены стиля приложения. Сделал кучу стилей для элементов. На примере
XML
1
2
3
    <style name="CardStyle" parent="CardView">
        <item name="android:background">#000000</item>
    </style>
XML
1
2
3
    <style name="CardStyle" parent="CardView">
        <item name="android:background">#FFFFFF</item>
    </style>
Теперь я хочу при смене темы например с А, подтягивать стиль из первого примера кода, а при смене темы на B из второго.
Как такое реализуется? Никак не могу понять.

Я понимаю, что в теме могу указать бэкграунд, но он тогда будет применяться для всех элементов, что мне не нужно.
Как подменять стили в зависимости от темы?
Ответ: shavuz,
Я прекрасно знаю, как поменять тему.
Меня интересует, как к конкретной теме подцепить конкретные стили.
Например вот для CardView

Добавлено через 1 час 1 минуту
Идеальное решение описано тут.


Правда есть одно но, поддерживаются устройства только от API 17;
Кто-то знает, как сделать что-то похожее на версии от 15?
Вопрос: Как сохранить фото с камеры напрямую во внутреннюю директорию приложения?

Стартую Intent камеры, добавляю Extra с Uri файла, куда надо сохранить снимок:

Java
1
2
3
4
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        Uri uriFotoFile = Uri.fromFile(getInternalFotoPath());
        intent.putExtra(MediaStore.EXTRA_OUTPUT,uriFotoFile);
        startActivityForResult(intent,REQUEST_TAKE_PHOTO);
Методом getInternalFotoPath() формирую файл куда надо записать результат:
Java
1
2
3
4
5
private File getInternalFotoPath(){
        File internalFilesDir = getFilesDir();
        File file = new File(internalFilesDir,"test_foto.jpg");
        return file;
    }
В onActivityResult смотрю что там вообще есть, во внутренней деректории приложения:
Java
1
2
3
4
5
6
7
8
9
10
11
12
@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        switch (requestCode){
            case REQUEST_TAKE_PHOTO:
                toLog("Получили фото. Содержимое внутренней директории приложения");
                for (File file : getFilesDir().listFiles()) {
                 toLog(file.getName());
                }
                break;
        }
    }
И всё, зависаю на камере. Т.е. камера стартует, делаю снимок и далее по нажатию "Ок" так и остаюсь висеть в камере. Могу вернуться назад и всё.

Если заменить Uri файла на сам файл, т.е. добавлять Extras так:
Java
1
intent.putExtra(MediaStore.EXTRA_OUTPUT,getInternalFotoPath());
Никакой ошибки не происходит, из фото нормально выхожу, но файла во внутренней директории нет.

Могу получить снимок в External Storage и потом уже перекинуть файл в Internal. Но это кажется таким велосипедом. Если Intent на получения фотографии может легко писать в getExternalFilesDir(Environment.DIRECTORY_PICTURES) (в ту часть, куда так же не нужны права в манифесте
XML
1
 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
то и сразу в Internal наверное как-то же можно?
Ответ: arvalon, в интернал камера не может писать - сам пробовал это провернуть и где-то читал что не может - где к сожалению не запомнил