• Под чем писать мобильное кроссплатформенное приложение с поддержкой QT?

    Ktulhy
    @Ktulhy
    Программирую на Python, C, Coffee Script
    Под ЛСД.
    Ответ написан
    Комментировать
  • Способы хранения и чтения больших объемов данных в Java-приложении под Android

    SabMakc
    @SabMakc
    Какая скорость в SQLite?
    Вставки идут в рамках одной транзакции?

    Использовался ли prepared statements? Он позволяет 1 раз распарсить ваш запрос, а потом только данные для вставки меняются.

    P.S. странное решение — парсить XML в тех случаях, когда мало SQLite.
    XPath на мой взгляд будет гораздо дольше + может памяти не хватить.

    В каких целях будете использовать эти данные?
    Если в выборке нужны условия, то от SQLite не уйти.
    Вообще SQLite — специализированное хранилище, т.е. его скорость вряд ли удастся обойти.
    Только если использование этих данных специфическое, то только тогда есть шанс построения специального хранилища, которое по скорости обойдет SQLite.

    В одном проекте использовал protobuf, но не в целях ускорения выборки, в целях прототипирования — можно сразу генерировать классы для работы с данными. В результате так и остался на protobuf — скорость оказалась вполне приемлемая.
    Ответ написан
    7 комментариев
  • Система деплоя на множество девайсов для тестирования?

    serso
    @serso
    Если через Google Play распространяете, то у них появилась поддержка бета и альфа apk — просто заливаете бету/альфу и всем тестировщикам обновление придёт через Google Play App.
    Ответ написан
    1 комментарий
  • Размер картинки на фон в Android-приложении?

    VYakushev
    @VYakushev
    Разработчик Android в Nowtaxi
    Один из возможных вариантов — это вариант предложенный Ivnika. Другой вариант — подготовить две квадратных картинки залитых фоном и шириной стороны в максимальную ширину для hdpi и xhdpi. При этом само изображение должно помещаться в минимальную ширину для hdpi и xhdpi. Но этот вариант сильно проигрывает, когда для фона используется одно изображение, а для картинки другое. Все равно на каких-то устройствах не избежать растяжения фона, а также на устройствах с максимальным разрешением для xhdpi и hdpi главная картинка на фоне будет меньше чем требуется. При использовании же раздельных изображений для фона можно выбрать хорошо ужатый JPEG (или PNG, который можно замостить), а для картинки сделать для каждого из разрешений в хорошем качестве PNG.
    Ответ написан
    Комментировать
  • Размер картинки на фон в Android-приложении?

    Ivnika
    @Ivnika
    В подобных случаях я старался разбить изображение на фон и непосредственно картинку, тогда фоном заполняем весь экран а картинку вписываем в центр. В этом случае все достаточно корректно на любых экранах (опять же у вас вектор- удобно). В зависимости от картинки возможны другие варианты- фон и картинка выравненная по низу экрана и ширине.
    Ответ написан
    3 комментария
  • Android: ListView — разноцветные items?

    Allesad
    @Allesad
    PVOID задал справедливый вопрос — зачем хранить в адаптере вьюшки? Это совершенно не рациональное использование ресурсов. По сути, все что вам нужно знать — тип текущего элемента листа. По этому типу вы можете устанавливать фон нужного цвета.

    Пример:
    1) Создаем статичный класс (опционально статичный, можно куда-нибудь запихать в нагрузку) со всеми цветами — скажем, ListColors.

    public class ListColors {
        public static final Integer RED      = 0;
        public static final Integer GREEN    = 1;
        public static final Integer BLUE     = 2;
        public static final Integer YELLOW   = 3;
        public static final Integer PURPLE   = 4;
    }
    


    2) Создаем класс, описывающий элемент списка — ListItem. Тут важно свойство type, которое будет хранить тип элемента. А типом элемента будет любая из констант класса ListColors.

    class ListItem {
        private Long id;
        private Integer type;
    
        public ListItem(Long id, Integer type){
            this.id     = id;
            this.type   = type;
        }
    
        public Long getId(){
            return id;
        }
    
        public Integer getType(){
            return type;
        }
    }
    


    3) Далее пишем сам адаптер, в конструктор которого будет передаваться Context (никогда не помешает) и список элементов в формате List<ListItem>.

    class TestAdapter extends BaseAdapter implements ListAdapter {
    
        private Context context;
        private List<ListItem> items;
    
        public TestAdapter(Context context, List<ListItem> items){
            this.context    = context;
            this.items      = items;
        }
    
        @Override
        public int getCount() {
            return items.size();
        }
    
        @Override
        public ListItem getItem(int position) {
            return items.get(position);
        }
    
        @Override
        public long getItemId(int position) {
            return items.get(position).getId();
        }
    
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            ListItem item = getItem(position);
            convertView = LayoutInflater.from(context).inflate(R.layout.list_row_item, null);
    
            LinearLayout layout = (LinearLayout) convertView.findViewById(R.id.view_background);
    
            Integer colorRes;
            switch (item.getType())
            {
                default:
                case ListColors.RED:
                    colorRes = context.getResources().getColor(R.id.red);
                    break;
                case ListColors.GREEN:
                    colorRes = context.getResources().getColor(R.id.green);
                    break;
                case ListColors.BLUE:
                    colorRes = context.getResources().getColor(R.id.blue);
                    break;
                case ListColors.YELLOW:
                    colorRes = context.getResources().getColor(R.id.yellow);
                    break;
                case ListColors.PURPLE:
                    colorRes = context.getResources().getColor(R.id.purple);
                    break;
            }
            layout.setBackgroundColor(colorRes);
            return convertView;
        }
    }
    


    В методе getView() мы получаем элемент списка, получаем базовый layot элемента списка (в данном случае типа LinearLayout), затем проверяем тип элемента и присваиваем layout'y нужный цвет. Можно еще хранить view элемента списка в holder'e, чтобы не создавать его каждый раз, но это частности.
    Ответ написан
    2 комментария
  • Network Thread?

    FanKiLL
    @FanKiLL
    Сетевой поток будет постоянным, или его будут запускать по нажатию кнопки или его надо запускать через какой то интервал времени?
    Если постоянно в фоне должен быть то делайте Service. В него можно передавать что-то из UI потока и наоборот получать назад.
    Подробней про сервисы хорошая статья — читайте тут

    Если по нажатию кнопки — то используйте AsyncTask. Важно, вы не сможете обновлять UI элементы из других тредов, так что как получите какие то данные, например нужно обновить список твитов используйте метод runOnUiThread (Runnable action) этот метод есть у всех активити.

    Но AsyncTask подходит для маленьких операций, забрать пачку твиттов или забрать rss — не долгие операции.

    Используя ExecutorService можно например реализрвать
    Producer — Consumer. Сотрите в этом скринкасте как.

    Если активити будет несколько, как вы будете шарить между ними очередь? Тут или делать сервис в фоне или инициализировать очередь в Application классе, он будет доступен для всех активити, правда я не могу точно сказать если это хорошая идея хранить там очередь, самому интересно.
    Ответ написан
    2 комментария
  • Оптимизация addView/removeAllChildren для кастомного компонента в Android?

    Vlad911
    @Vlad911 Автор вопроса
    Между тем я кажется нашел решение.

    Надо на каждое состояние создать по отдельной View'хе и уже в самом Adapter'е в зависимости от данных инстанцировать нужную View, пропихивать обработчик изменения состояния туда. При изменении состояния обновлять элемент данных и дергать обновление ListView.
    Ответ написан
    1 комментарий
  • Обновляются ли приложения, установленные вручную?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    Не скажу точно но у меня обновляются.
    Единственное что большинство приложений я раньше ставил из плэй-я но последние версии как правило сливаю с 4пда, может как-то и повлияло.
    Ответ написан
    Комментировать
  • Программу для изучения английского языка под Андроид?

    vkolotov
    @vkolotov
    Для изучения слов советую Anki.
    Пользовался Anki когда готовился к IELTS экзамену.
    Возможности широкие, и десктопные версии есть под все платформы. Оч удобно автоматически синхронизировать колоды между приложениями.
    А главное бесплатно!
    Ответ написан
    2 комментария
  • Android 4: Параметры разработчика: Не сохранять операции?

    @vovkab
    Это означает — не держать activity активными, а сразу прибивать.

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

    Вы как разработчик должны активировать эту опцию у себя и удостоверится, что программа работает нормально.
    Ответ написан
    5 комментариев
  • Является ли должность менеджера следующим этапом развития карьеры программиста?

    Wott
    @Wott
    Худшее что может сделать хороший программист — это стать посредственным менеджером

    Да, когда человек упирается в потолок по зарплате и доходит до ведущего программера, то конечно — стать каким-нить менеджером ему выгодно, с точки зрения денег. Но при этом статистически хорошим менеджером ему не стать, через 2-3 года он потеряет свою квалификацию и обратно ему вернуться будет крайне сложно. При этом сменить место работы ему будет намного сложнее — хорошему программеру везде рады, а посредственных манагеров везде пруд пруди. Единственное что ему остается — это делать карьеру в своей конторе и унылое бесполезное существование до конца времен…
    Ответ написан
    Комментировать
  • Является ли должность менеджера следующим этапом развития карьеры программиста?

    XaBoK
    @XaBoK
    Я думаю, что «следующей должностью» программиста должно быть что то типа архитектора. А переход в менеджмент — смена сферы деятельности.
    Ответ написан
    Комментировать
  • Плавное переключение вкладок?

    serso
    @serso
    Если я правильно понял, то вам просто нужно использовать ViewPager. Вот, например, хорошая реализация:
    github.com/JakeWharton/Android-ViewPagerIndicator
    Ответ написан
    3 комментария
  • Есть ли официальная инструкция по обновлению Galaxy Nexus до 4.1?

    walkmanake
    @walkmanake
    Официальной инструкции я не находил и мне кажется, что таковой нет вообще.
    На 4pda есть инструкция по прошивке этого образа при помощи утилиты fastboot, которая есть в Android SDK.
    Ответ написан
    1 комментарий
  • О стиле программирования: Переносить ли скобку?

    cypok
    @cypok
    Нету «правильного» варианта, есть принятый в рамках данной группы разработчиков.
    Ответ написан
    3 комментария
  • Альтернатива PowerPoint для технических презентаций?

    @Rome
    Не знаю, подойдет ли вам, есть функция презентаций у docs.google.com
    Там же можно рисовать, насчет анимации, сложно сказать. Мои знакомые там делают презентации и потом расшаривают, дают линк на эту презентацию, удобно, что носить с собой ее не надо и презентацию можно посмотреть в любой момент.
    Ответ написан
    Комментировать
  • Кастомизация ползунка в android?

    anmipo
    @anmipo
    <SeekBar ...
    	android:thumb="@drawable/seekbar_thumb"
    	android:progressDrawable="@drawable/seekbar">
    </SeekBar>

    Если будут проблемы с несоответствием центра ползунка текущему значению SeekBar'а — поиграйтесь со свойством android:thumbOffset.
    Ответ написан
    Комментировать
  • Кастомизация ползунка в android?

    trollface
    @trollface Автор вопроса
    А есть что-нибудь попроще? =)
    Ответ написан
    1 комментарий