суббота, 9 ноября 2013 г.

Как подключить Google Nexus 7 по USB-кабелю к Windows XP/Windows 7-компьютеру для копирования

Счастливые обладатели Google Nexus7
не всегда имеют доступ к Wi-Fi соединению,
поэтому хочется скопировать файлы с планшета на компьютер и наоборот без участия в этом процессе интернета (с помощью имеющегося в комплекте USB-кабеля).

В Windows XP эта задача решается так:

  1. Включаем "режим разработчика" на планшете:
    Settings -> About tablet -> Build number - жмём 7 раз (таким образом включается режим разработчика)
    Теперь станут доступны Settings -> Developer Options.

    Включаем режим "отладки через USB":
    Settings -> Developer Options -> Debugging -> USB debugging
  2. Качаем USB-driver:  https://dl-ssl.google.com//android/repository/latest_usb_driver_windows.zip
    Распаковываем в любую папку.
  3. Ищем файл C:\WINDOWS\inf\wpdmtp.inf  (если его нету, это может свидетельствовать о том, что не установлен Windows Media Player 11, как ни странно, но для подключения Google Nexus 7 по Media Transfer Protocol он нужен - тогда бежим качать Windows Media Player...)
  4. В файле C:\WINDOWS\inf\wpdmtp.inf после строк
    [Generic.NTx86]%GenericMTP.DeviceDesc%=MTP, USB\MS_COMP_MTPдописываем строку
    %GenericMTP.DeviceDesc%=MTP, USB\VID_18D1&PID_4E42&MI_00
  5. Сохраняемся.
  6. Присоединяем Nexus7 кабелем к USB-порту (рекомендуется порт НЕ на передней панели системного блока).
  7. Windows спросит откуда брать драйвер, выбираем вариант не из Windows Update а из указанной папки, выбираем ту папку, куда распаковали драйвер на 1 шаге (подпапку usb_driver).
  8. После этого всё должно заработать! Зайдя в Мой компьютер можно увидеть новое устройство Nexus 7, у которого есть диск "внутренняя память", где представлены все папки и файлы планшета с возможностью копирования в обе стороны, создания папок и файлов на планшете, удаления их оттуда.


На Windows 7 работает тот же алгоритм, только без пунктов 3, 4, 5.

Удачного подключения!

UPD: Есть альтернативы - программы типа
http://www.wondershare.com/android-manager/ (платная, с бесплатным триал-периодом)
http://www.moborobo.com/ (бесплатная),
которые предоставляют красивый юзер-интерфейс для работы с устройством.

Впрочем надёжнее и очевиднее выглядит работа с файловой системой напрямую.

UPD 22.03.2014: Для удобной работы с файловой системой по протоколу MTP в Far Manager
используем плагин PortaDev http://plugring.farmanager.com/plugin.php?pid=933
Благодаря ему Nexus7 будет отображаться как обычный диск по Alt+F1/Alt+F2:
как WPD: Внутренняя память

UPD 05.04.2014: алгоритм расширен информацией о USB debugging параметре планшета

понедельник, 22 апреля 2013 г.

Как генерировать тест-кейсы в TDD

Интересную тему поднял СанЁк с Виталиком на недавнем тренинге Coding Dojo.

Есть пара программистов, работают по TDD, реализуют фичу. Вроде и тесты зелёные, и простая реализации кода. Но что-то беспокоит - ощущение, что что-то не сделано. Как же создать новые тесты, и чтобы красные они были?...

По идее напарник должен был бы помочь. Но может случиться что у пары нет идей?

Позвать третьего? Тоже вариант. Но тогда ему надо вникнуть в таск хорошенько) желательно с предысторией. Подвариант: ничего ему не рассказывать, только дать условия задачи и код с тестами. Пусть сам разберётся, без тех констрейнтов которые у пары уже сформировались и которые возможно мешают увидеть картинку с высоты птичьего полёта.

Сделать перерыв и вернуться к этому позже? Вполне может быть... У меня по дороге домой столько идей роилось по поводу того как можно улучшить мой алгоритм игры в бомбермена и даже баги мысленно нашёл) Но что сделать, если таск надо сделать здесь и сейчас и значит перерыв не покатит?

5 минут по-любому надо выкроить. И отойти от компа подальше...

А может удалить парочку тестов (или все)? Вдруг их наличие давит на подсознание и мешает генерировать что-то новое?

Пойти в крайности? Попытаться понять что является крайним случаем для этой задачи. А может "крайность" эта относительная, зависит не от задачи, а от текущей реализации? Т.е. попытаться почувствовать для каких диапазонов входных эта реализация рулит, а для каких чувствуется, что не будет работать.

Задокументировать реализацию, не меняя сам код. Например отжавадокировать/прокомментировать свою реализацию. Вот представь что тесты твои читать никто не будет. Объясни читателю кода почему твои магические 3 и 5 будут работать хорошо для этой задачи.

Отрефакторить реализацию. Магию констант обозвать... Даже переменные переименовать. Повыносить методы итд. Что угодно чтобы реализация преобразилась и можно было взглянуть на неё под другим углом.

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

вторник, 1 января 2013 г.