• Объясните некурящему про графические свойства компонентов?

    LeoCcoder
    @LeoCcoder
    У вас какой-то косяк с 9-patch. Если картинки делали не сами, то удалите старый SDK и скачайте последний с сайта гугля, создайте эмулятор с версией андроида 2.3 например, обновите плагин в эклипсе и должно все заработать.
    Ответ написан
    Комментировать
  • Смещение координаты Y при передаче из UI потока?

    LeoCcoder
    @LeoCcoder
    Для начала сделайте передеменные xx и yy volatile. Стало лучше? Потом почитайте про многопоковость в java.
    Ответ написан
  • Боковая навигация с оттягиванием?

    LeoCcoder
    @LeoCcoder
    гуглите android side navigation
    на гитхабе есть парочка проектов, но те которые я видел, хоть и работали, но были сыроваты
    тут в конце есть парочка: www.androiduipatterns.com/2012/06/emerging-ui-pattern-side-navigation.html
    Ответ написан
    1 комментарий
  • Схема подключающаяся по USB к ПК имеющая N аналоговых входов и выходов

    LeoCcoder
    @LeoCcoder
    ЦАП не обязательно ставить, используйте ШИМ с соответствующим фильтром.
    Готового решения я не знаю, но я бы купил что-то от atmel'а c USB, поднял бы на нем виртуальный com-port (есть готовый пример на сайте), килогерц точно пролезет. Для ШИМ, АЦП тоже есть куча примеров. Работа с виртуальным последовательным портом довольно простая с обеих сторон.
    Ответ написан
    3 комментария
  • Не понимаю, как применить TDD в проекте

    LeoCcoder
    @LeoCcoder
    я так понимаю проект уже готов? поэтому применять TDD уже поздно, потому что основной девелопинг уже закончился.
    Как бы я поступил:
    Вы нашли баг, разобрались в каком компоненте системы он происходит, поняли какие входные данные нужно подсунуть компоненту, чтобы произошле баг, поняли какие данные должны получится на выходе компонента, если бы бага не было, пишете тест:
    берете тестовые данные, запускаете на них ваш компонент, смотрите что получилось на выходе.

    testData =…
    expectedResult =…
    result = youtSytemComponent.superProcessor(testData);
    if (result == expectedResult) return TestSucces;
    else return TestFail;

    так постепенно у вас будут накапливаться тесты и вы уже не испортите, то что уже исправляли.
    Базу данных настоящую использовать не обязательно, можно для тестов написать обманку, которая будет притворяться базой. Компоненты системы желательно выбирать как можно меньше, например, компонент обычно это какойто класс, созданные для определенных целей, нужно проверить правильно ли он их решает.

    не все можно провестировать с помощью TDD, BDD тоже полезная вещь.
    Ответ написан
  • Как изменить разрешение экрана на Android 2.3?

    LeoCcoder
    @LeoCcoder
    ИМХО, простого способа для смертных нет. Максимум, что вы можете сделать с экраном — это изменить его плотность (сделать все крупнее или мельче), но вам это не поможет.
    Ответ написан
  • Можно ли разбить столбец на 2 столбца

    LeoCcoder
    @LeoCcoder
    у вас символы… и их 13…
    1. разбить их можно без проблем, встроенными средствами работы со строками или внешним скриптом
    2. оптимизировать?
    а) добавлять сложное условие по этому полю в последнюю очередь
    б) можно добавить идекс по этому полю, тогда запросы вида where field = '01%' будут выполяняться быстро. можно например делать where field = '01%' AND substr(field, 3,3) = '000', в первой части условия у вас сработает индекс, что сократит выборку, на которой будет выполняться медленная вторая часть условия.
    3. перейти от символов к числам, если возможно. Это даст НЕБОЛЬШОЙ прирост.

    ПС: многое зависит от природы запросов к базе и количества данных, универсальнее конечно разбить и поля сделать не символьными, а числовыми
    ППС: возможно вам нужно сделать кеширование и до базы будут доходить совсем мало запросов и тогда скорость их выполненеия может стать не критичной
    Ответ написан
    1 комментарий
  • Подпись приложения для Android

    LeoCcoder
    @LeoCcoder
    keystore — это файл-хранилище, в котором может быть несколько пар приватных и публичных ключей, каждая пара идентифицируется alias'ом. Сам keystore, а так же каждый alias может защищаться паролем, чтобы получить к нему доступ.

    соответствуенно вам нужен только keystore.

    а дальше нужно смотреть параметры jarsigner, возможно вы указали неправильный пароль к хранилищу…
    Ответ написан
    Комментировать
  • SurfaceView в layout?

    LeoCcoder
    @LeoCcoder
    Понятное дело, что так работать не будет. Тут рассказано как делать правильно: stackoverflow.com/questions/5203547/draw-surfaceview-from-layout-xml
    Ответ написан
    1 комментарий
  • Будет ли работать винчестер 3,5 в боксе от 2,5

    LeoCcoder
    @LeoCcoder
    не заработает, даже от двух usb 2.0 не заработает.
    Ему банально не хватает тока, в спокойном состоянии большие диски жрут больше ампера, а во время раскрутки около 2+ ампер, юсб вам столько не даст.
    все боксы для 3.5hdd с внешнем питанием идут. тут даже usb 3.0 не поможет
    Ответ написан
    4 комментария
  • Аппаратная платформа аналогичная роутеру d-link 320?

    LeoCcoder
    @LeoCcoder
    25 долларов дорого? Мне кажется доску под линукс дешевле вы не найдете. Можно сэкономить, если перейдете на более дешевые процессоры, но линукса там не будет, придется переписывать софт, да и юсб в дешевых процессорах редко бывает.
    Разве что если вам нужна 1000+ штук, можно закать у китайцев платы, ну будут они по 17-20 долларов, зато гемороя сколько…
    Ответ написан
    4 комментария
  • Название приложение в лаунчере?

    LeoCcoder
    @LeoCcoder
    потому что так устроен андроид
    ланчер запускает не приложение, а активити, поэтому там и отображается имя активити, которую запустит ланчер.
    в ланчер попадают все активити вашего приложения, у которых указано <category android:name=«android.intent.category.LAUNCHER» />, то есть одно приложение может поместить в ланчер несколько ативити и все они будут со своим именем.
    Ответ написан
    Комментировать
  • Проблемы с публикацией в Google Play?

    LeoCcoder
    @LeoCcoder
    А знаю из-за чего это =) сам первый раз был удивлен.
    У вас на телефоне стоит это же приложение, но подписанное отладочным ключем (или любым другим), поэтому, когда вы станавливаете это же приложение из маркета, подписанное настоящим ключем, установка не проходит с такой вот ошибкой.
    Удалите со смартфона отладочную версию вашего приложения и установка из маркета пройдет гладко.
    Ответ написан
    6 комментариев
  • Изучение Android?

    LeoCcoder
    @LeoCcoder
    зависит от вашего стиля обучения, если нравится читать — купите любую свежею книжку и прочитайте. Все книжки почти одинаковые, читал штуки 2 на русском и шкути 4 на английском, в принципе одно и тоже, ничего нового, контент немного отличается. Хорошо бы. чтобы в книжке были главы про фрагменты и c2dm.

    а вообще придумайте приложение и начните его делать, в сети полно инфомации, как делать списки, создавать активити, работать с сестью, в том числе и на русском.

    как сделаете приложение выложте его в маркет. почитайте разгневаных пользователей и правьте баги.

    Учите Java и английский ) Простые вещи получится сделать и не зная особо java и английского, а вот как начнете делать чтото серьезное сразу поймете, что эти два языка нужно знать на очень хорошем уровне.
    Ответ написан
    3 комментария
  • Canvas или OpenGL

    LeoCcoder
    @LeoCcoder
    1. если графика не тривиальная, на весь экран, и там кадров 20 и работает без тормозов на втором андроиде (с третьего появилась вожножность аппаратно ускорять канву), то однозначто OpenGL.
    2. посмотреть, что лежит в apk, разархивировав его обычным манагером архивов, возможно сразу станет понятно
    3. декомпилировать яву и смотреть, что там происходит )
    Ответ написан
    Комментировать
  • Google play — обновление игр

    LeoCcoder
    @LeoCcoder
    я так понимаю вы создали игру (приложение).

    Первый раз заходите в девелопер.гугль_плей.ком со своей учетки девелопера и размещаете там свое приложение. Когда приложение пришло время обновить, заходите в тудаже, загружаете новый apk, делаете его активным и жмете кнопку сохранить.

    Все. У пользователей со временем появится уведомление и они зайдут в гугль плей, нажмут кнопку обновить и старое приложение удалится и установится новое.

    smart updates это технология для экономии трафика. пользователю из маркета передадут по возможности не весь новый apk, а только части, которые изменились. происходит это прозрачно для девелоперов (специально делать ничего не надо, гугль сам все сделает если получится)
    Ответ написан
    1 комментарий
  • Проверка вызываемой активности?

    LeoCcoder
    @LeoCcoder
    1. самому вручную следить за стеком активностей — не хорошо
    2. убивать активити перед переходом на другую. Например: открыли О приложении, послали интент на новую активити, убили О приложении
    3. почитать про флаги запуска активити, можно сделать чтобы активи О приложении всегда была одна в стеке. Не все флаги доступны во всех версиях андроида.

    А вам точно нужны активити? Можно в рамках одной активити работать с фрагментами или страницами… тогда там уже другие механизмы будут работать.
    Ответ написан
  • Скорость работы оперативной памяти?

    LeoCcoder
    @LeoCcoder
    1) смотря, как мерить. если мерить максимальную пропускную способность между контроллером памяти и памятью, то да (теоритически). Будет работать аналогично.
    2) если вы обычный пользователь (а иначе бы вы не спрашивали такого вопроса), то вы не заметите ничего, главное чтобы памяти было достаточно (где-то от 8Гб) и она соответствовала уровню процессора.
    Ответ написан
    Комментировать
  • Как добавить Custom Components Preview?

    LeoCcoder
    @LeoCcoder
    Обновить SDK, если есть куда )
    Посмотреть error лог и выяснить на что ругается визаульный редактор, должен писать почему не удалось создать инстанс вашей вьюшки…

    Только что создал кастомный текствью и он отлично отображается в редакторе… возможно у вас проблемы с загрузкой шрифта…
    Ответ написан
    Комментировать
  • Найти закономерность между числами?

    LeoCcoder
    @LeoCcoder
    невозможно решить в вашей постановки задачи.

    Вы говорите, что есть 5 чисел, то есть нам известены x1, x2, x3, x4, x5. Есть незвестная произвольная функция F, которая вычисляет x6 = F(x1, x2, x3, x4, x5).

    Задача: Угадайте F и значение x6.

    xDDD
    Ответ написан
    2 комментария