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

собственно как поворачивать средствами xml или в коде я знаю. Проблема в другом при повороте textview по горизонтали он занимает место как будто без поворота. Хотя в xml указано wrap_content. на картинке слова будущее, настоящее, прошлое по горизонтали занимают много места.
Ответ: Alex_Fedor, Это не Дмитрия Петрова ли метод?
Вопрос: OpenGL на Android 4.4 и Android 5.0 - нет текстур

Всем доброго дня.
Пишу 2D игру с использование OpneGL.
На устройстве с версией Android 4.4.2 (HTC 626) все текстуры на месте, все крутиться бегает и прыгает, когда же пытаюсь запустить игру на устройстве с Android 5.х - в место текстур получаю белые квадраты.
Запуска на планшете (Asus и китайском MI) - текстур нет, в место них - белые квадраты, хотя они тоже летают и т.д.

Для эксперимента скопировал из код - на 4.4 - все норм, на 5.х - белый квадрат.

Подскажите, а лучше киньте ссылку на пример в котором все работает ) и желательно как со старым так и с новых Android.

За ранее спасибо.
Ответ:
Сообщение от joub
Пишу 2D игру с использование OpneGL
ссылка 2013-го года
не думайте что opengl не меняется
Вопрос: Недостаточно места на устройстве

Не подскажете почему после того как плей маркет автоматически обновляется и я пытаюсь через него установить приложение, то возникает ошибка "На устройстве не достаточно места", хотя места вроде достаточно судя по индикаторам памяти в настройках. А после того как удалю обновления плей маркета то установить приложение можно Почему так происходит??
Ответ: может быть все, что придумали разработчики телефона.
видел такие модели. но музыку или там фотки с карты Вы можете использовать?
еще раз тот же вопрос: если вытащить карту, то не отключается и Phone Storage и Internal Storage? Вы можете на них что-то скопировать и просмотреть структуру? или все же при вытаскивании карты, одна из них перестает работать?
Вопрос: Реализовать распознавание текста на фото и его сохранение

Доброго времени суток!
В своей профессиональной деятельности столкнулся с тем, что периодически приходится переписывать модели и серийные номера множества АРМов с последующим переводом в электронную таблицу. Занятие это, скажем так, время-затратное и весьма нудное. Появилась идея автоматизировать этот процесс. А именно написать программу для телефона/планшета которая выполняла примерно следующий алгоритм: 1.Сформировать таблицу (кол-во столбцов и их название); 2.Задать диапазон ячеек (в которые будет сохраняться текст); 3.Сделать фото; 4.Распознать в ячейку(возможно с прикрепленным фото, на всякий случай); 5.Повторение пункта(3) и (4) необходимое количество раз; 6.Вывод таблицы (например на гугл диск). Примерно так я вижу программную автоматизацию данного процесса, но это не точно. (: Опыта в программировании (тем более под мобильные платформы) кот наплакал, по-этому буду рад Вашей помощи! Спасибо!
Ответ: во первых вам нужно изучить что такое OCR, в кратце это библиотека которая умеет распознавать текст с фотографии и переводить его в стринг, из личного опыта работают они плохо, только если хорошо видно надпись и фотография четкая. вот тут есть пример аппликации с OCR :
дальше посмотрите что такое recyclerview, с его помощью вы сможете создать список.

как все это хранить если нет сервера, изучите SharedPreference, пример:

на счет драйва, я бы вам в начале не советовал, трудновато, попробуйте для начала переслать на имейл.

вообще , аппликация которую вы описали будет тяжеловата для начинающего, но потихоньку вполне возможно это сделать. удачи
Вопрос: Сброс запроса дескриптора устройства в режиме fastboot

Дело в чем. Однажды мой Google nexus 7 2013 wifi завис, и не отвисал. Я понятное дело держал кнопку выключения секунд десять, пока он окончательно не умер. При попытке включить его я с удивлением обнаружил, что он завис на заставке, и саму систему андроид не грузит (заставка с надписью Google и значок разлоченного бутлодера). Я перешел в фастбут и решил зайти в рекавери меню, но и это не помогло. Та же проблема. Висит на заставке. Ладно, решил прошиться просто через фастбут. Но вот беда - windows 8.1 x64 определяет устройство как "Неизвестное устройство(сброс запроса дескриптора устройства)". Код 43. И тут я схватился за лицо, тк раньше у меня была подобная проблема, но решилась она как-то сама собой.
Перерыл интернет, переставлял adb/fastboot драйвера, убирал галочки в меню с питанием usb портов, накатывал обновление kb2967917, выключал ноутбук так чтобы статическое электричество уходило. Ничего не помогает. В чем проблема то, понятия не имею.
1) USB кабель от lenovo p780, у которого 2A/ч ,блок питания, может в этом дело?
2) Возможно коряво стоят adb/fastboot драйвера, как узнать, в них ли дело?
3) Подключаю планшет в режиме фастбут, тк иначе никак. USB debugging вроде выключен был до казуса, может в этом дело?
Сам очень плохо в этом деле разбираюсь, поэтому прошу совета у вас.
Ответ: Нет, фастбут не видит его, как и сам компьютер.
Дело в том что я буквально позавчера уже отчаялся, тк мне многие сулили то что память умерла, и решил его разобрать, посмотреть как что внутри случилось.
Открыл, прошелся по шлейфам пальцем, чтобы поплотней сидели, и О ЧУДО! он после этого включился.
Видимо отошел шлейф от памяти, я не знаю что и как там внутри устроено.
Примечательно, что пару лет назад встречался с проблемой фантомных нажатий при нагреве устройства от тяжелых приложений. Также его разобрал, пальцем потыкал на шлейфы и фантомки исчезли.
Вопрос: Взаимодействие устройств (Wi-Fi)

Ребята, помогите пожалуйста разобраться с проблемой.
Как реализовать взаимодействие устройств в локальной сети (Wi-Fi)? Пытался реализовать с помощью JmDNS, P2P. Но не могу найти нормальной информации по данной теме.
Ответ: kqu, одно устройство зная IP-адрес или может быть имя другого устройства создает сокет и шлет ему все что хочет... или нет?
Вопрос: Сделать приветственное окно при раздачи wifi с устройства

Всем привет!
Можете мне помочь?

Как можно сделать приветственное окно при раздачи wifi с Android?

Ну т.е чтобы когда раздал wifi с android, надо было бы сначала нажать подключиться через браузер (пример: когда подключаешь к бесплатному wifi в общественных местах)

Может кто может предложить какие-то идеи?
Ответ: 1. Получаешь Root-права в android'е
2. Устанавливаешь сервер на телефон
3. Превращаешь этот сервер в свой прокси-сервер
4. Устанавливаешь ProxyDroid
5. В ProxyDroid указываешь свой локальный прокси-сервер
6. В своем прокси-сервере делаешь подмену веб станиц

Ну или что то типа того

Добавлено через 18 минут
...хотя прокси сервер наверное не сможет различить устройства, подключенные по вифи, даже тебе, в твоем же телефоне будет показывать страничку приветствия. Один клиент или ты авторизируется, а остальные будут подключатся уже, авторизироваными.
В телефонах авторизация на вай-фай происходит на аппаратном уровне. Его как роутер не перепрошьешь. Единственный способ, наверное, ставить пароль на раздачу, это и будет своего рода приветствие
Вопрос: Портится ли батарея при разработке на реальном устройстве?

Добрый жень. Хочу спросить тех людей, которые при разработке приложений под андроид часто используют не виртуальное, а реальное устройство. У вас со временем аккумулятор портится или нет? Все таки он будет постоянно на подзарядке ....
Ответ: Фарад, на батарее и на устройстве стоят контроллеры, они делают всё, чтобы батарея жила долго, контроллер на батарее ограничивает ток, и если что-то не так просто рубит питание. На устройстве контроллер меняет зарядной ток в зависимости от разряженности батареи тем самым увеличивая существенно срок службы. Там стоят умные железки, можешь об этом не париться.
Вопрос: Сохранить анимацию при повороте устройства

Доброго времени суток!!!
Возникла проблема о которой не подозревал, при повороте устройства анимация пропадает, но через установленный интервал выполнения анимации, фрагмент заменяется как надо.
Вопрос как это фиксить?
И еще один момент, стоит ли (декларативно ли) запрещать смену ориентации экрана?

Добавлено через 44 минуты
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        ObjectAnimator translationYCoordinates = ObjectAnimator
                .ofFloat(mImageButtonCoordinates, "translationY", y, -y)
                .setDuration(1000);
        translationYCoordinates.setInterpolator(new LinearOutSlowInInterpolator());
 
        ObjectAnimator translationYHistory = ObjectAnimator
                .ofFloat(mImageButtonHistory, "translationY", -y, y)
                .setDuration(1000);
        translationYHistory.setInterpolator(new LinearOutSlowInInterpolator());
 
        AnimatorSet animatorSet = new AnimatorSet();
        animatorSet
                .play(translationYCoordinates)
                .with(translationYHistory);
        animatorSet.start();
Использую в проекте фрагменты из библиотеки поддержки.
Ответ:
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
package ru.object941.keen.fragments;
 
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.view.animation.LinearOutSlowInInterpolator;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageButton;
 
import ru.object941.keen.R;
import ru.object941.keen.data.PasswordVerification;
import ru.object941.keen.system.StartElement;
 
 
public class MenuFragment extends Fragment{
 
    private ImageButton mImageButtonCoordinates;
    private ImageButton mImageButtonHistory;
 
    private StartElement mStartElement;
 
    private AnimatorSet mAnimatorSet;
 
    @SuppressWarnings("deprecation")
    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);
        if (activity instanceof StartElement) {
            mStartElement = (StartElement) activity;
        }
    }
 
    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        if (context instanceof StartElement) {
            mStartElement = (StartElement) context;
        }
    }
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_menu, container, false);
 
        mImageButtonCoordinates = view.findViewById(R.id.imageButtonCoordinates);
        mImageButtonHistory = view.findViewById(R.id.imageButtonHistory);
 
        mImageButtonCoordinates.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                startAnimator();
            }
        });
 
        mImageButtonHistory.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                startAnimator();
            }
        });
 
        return view;
    }
 
    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
 
        if (savedInstanceState == null){
            float y = PasswordVerification.getMetricY(getContext());
 
            ObjectAnimator translationYCoordinates = ObjectAnimator
                    .ofFloat(mImageButtonCoordinates, "translationY", -y, y * .1f)
                    .setDuration(5000);
            translationYCoordinates.setInterpolator(new LinearOutSlowInInterpolator());
 
            ObjectAnimator translationYHistory = ObjectAnimator
                    .ofFloat(mImageButtonHistory, "translationY", y, -y * .1f)
                    .setDuration(5000);
            translationYHistory.setInterpolator(new LinearOutSlowInInterpolator());
 
            mAnimatorSet = new AnimatorSet();
            mAnimatorSet
                    .play(translationYCoordinates)
                    .with(translationYHistory);
            mAnimatorSet.start();
        }
    }
 
    private void startAnimator(){
        float y = PasswordVerification.getMetricY(getContext());
 
        ObjectAnimator translationYCoordinates = ObjectAnimator
                .ofFloat(mImageButtonCoordinates, "translationY", y, -y)
                .setDuration(1000);
        translationYCoordinates.setInterpolator(new LinearOutSlowInInterpolator());
 
        ObjectAnimator translationYHistory = ObjectAnimator
                .ofFloat(mImageButtonHistory, "translationY", -y, y)
                .setDuration(1000);
        translationYHistory.setInterpolator(new LinearOutSlowInInterpolator());
 
        AnimatorSet animatorSet = new AnimatorSet();
        animatorSet
                .play(translationYCoordinates)
                .with(translationYHistory);
        animatorSet.start();
    }
 
    @Override
    public void onSaveInstanceState(Bundle outState) {
        if (mAnimatorSet != null){
            mAnimatorSet.cancel();
        }
        super.onSaveInstanceState(outState);
    }
}
Добавлено через 3 минуты
Мне так же необходимо продолжить анимацию, прерванную поворотом уст-ва, в новой ориентации с места прерывания.
Или я велосипед делаю? Может есть стандартное решение?
Сообщение от dedlovscky
Pablito
тоько на тебя надежда походу, выручай
Вопрос: Загрузить фото на сервер

Здравствуйте, подскажите как загрузить изображение, в данном случае фото, на сервер, как его передать обработчику в php файл? В процессе: камера у меня фоткает и сохраняет изображения на sd-карте, php на принятие изображения готов, как их связать? подскажите может библиотека какая есть или буду рада просто полезным ссылкам)
Сильно не ругайтесь, я только учусь)
Ответ: ILNAR_93, не надо так делать. Это допустимо только в том случае, если сервер использует формат RPC и нет возможности отправлять multipart данные