AIDE (Android Java IDE)

Собственный перевод оригинальной статьи by Fabian Cook. Сразу примечу, что там, где текст выделен курсивом – я не уверен в точности перевода. Синий мелкий курсив – мои замечания.

UPDATED 18.06.12 3:10 – исправлено море ошибок и форматирование, теперь текст должен быть читаемым.

AIDE, также известный как Android Java IDE, был оценён 5-ю звёздами 1,437/1656 раз, установлено более чем 100,000 раз и имеет все основные функции и возможности, которые необходимы разработчикам приложений под Android.

По-моему, эта программа должна быть одной из самых полезных для разработчиков в Андроид Маркете, которым даже не требуются root-права.

Скачать её вы можете, нажав на картинку:

AIDE on Google Play

Теперь, когда мы немного сказали о программе, пора с ней познакомиться поближе?

Этот экран должен появиться после первого запуска программы, давайте не будем отвлекаться и сразу начнём строить свой Hello Android?

Сначала нам надо указать название своего приложения, укажите его в строке “App Name:”. Мы назовём наше приложение “HelloAndroid” (учтите, что в названии у нас нет пробелов и, кажется, быть их не должно. Впрочем, его можно изменить в файле res > values > strings.xml путём изменения параметра app_name). Также нам надо ввести имя пакета. Для формирования имени пакета у нас есть простой шаблон: <код страны>.<разработчик>.<название приложения>. Например, я живу в Новой Зеландии, там код страны – “NZ”. И моё название разработчика “SmartLemon”, но в пакете у меня это как мое первоначальное название “TheSmartLemon”. Поэтому имя пакета должно выглядеть как “nz.thesmartlemon.helloandroid”. Можете оставить в комментариях свои варианты того, каким должно быть имя пакета.

Можно выбрать то, чем будет наше приложение – Активностью или Сервисом, но поскольку мы делаем Hello Android мы оставим выбор как есть (Activity).

Как только всё будет готово, просто нажмите кнопку “Создать” и можете приступать к работе.

Теперь вы должы увидеть этот экран, означающий, что среда разработки подгатавливает для вас файлы проекта. Это происходит также, как на компьютере, большинство смартфонов имеют на борту как минимум половину мощности вашего ПК (только если он не достаточно старый).

Перед вами должен появиться редактор кода Java. Это то, где описывается вся логика приложения.

Под всем этим текстом находится файловый менеджер, чтобы выйти из него просто нажмите на маленькую иконку “компьютера” в верхнем правом углу или нажмите на поле текстового редактора – он должен скрыться. Чтобы снова вернуться в файловый менеджер нажмите ещё раз на ту кнопку c “компьютером”.

Итак, давайте кликнем в редакторе кода и откроем клавиатуру (должно произойти автоматически). Там находится Java-код, как я уже говорил, это логика всего приложения, описание того, что оно должно делать и какие команды выполнять. В большинстве Java-документов есть часть кода, которая называется Классом. Это то, где находится большая часть кода. Заметьте, что Класс расширяет функции Активности – это потому, что мы хотим, чтобы класс вёл себя как Активность.

Все приложения построены из Активностей и Сервисов. Активность – то, что вы видите на экране при работе с приложением, например, браузер или меню приложений домашнего экрана. Сервисы – то, что не видимо, но работает в фоновом режиме – скачивание файла из интернета или mp3-плеер.

Удалите эту строчку кода, мы ведь хотим создать что-то покруче:

setContentView(R.layout.main);

Теперь нам надо вывести какой-то текст. Чтобы это сделать, необходимо сначала понять чего мы хотим чтобы это сделать [ух как!]. Объявляем переменную (или держатель, как я люблю её называть [кто из нас упоротый, я не пойму?] ) и говорим Андроиду, что это будет TextView. Для этого нам надо написать следующую строчку. “text” – имя этого самого TextView.

TextView text;

Заметили, что в конце строки есть точка с запятой? Это означает, что мы закончили текущую команду и можно выполнять следующую. На андроидной клавиатуре вы можете перейти к спец. символам и найти этот знак около % или | .

После нам надо создать новый TextView, для этого скопируйте следующий код:

text = new TextView(this);

Я поставил this в скобках для того, чтобы андроид понял, что этот TextView будет контекстом [родителем, грубо говоря] для других элементов.

Теперь мы можем назначить желаемый текст, который отобразится в TextView. Например, фраза “Hello Android User” – это то, что я хочу показать, вы можете выбрать совершенно любой другой текст по вашему желанию, поместив его в двойные кавычки “.

Для показа текста я использую этот код:

text.setText(“Hello Android User!”);

Итак, у нас есть новый TextView и текст, который там будет отображён. Дело за малым – собственно, отобразить текст.

Начните печатать команду setContentView и вы увидите классное окошко, где вы можете просто тапнув на setContentView автоматически вставить эту команду. Также вы можете долгим удержанием на команде [команда может быть любой] вызвать контекстное меню и получить помощь по функции на странице Android Developers Resources [кнопка Help].

Как только вы написали setContentView надо указать андроиду на то, что, собственно, показывать. Вы можете использовать этот код чтобы вывести текст:

setContentView(text);

Обратили внимание что мы поставили в скобках? В следующих мануалах я расскажу для чего это ;D Теперь всё должно выглядеть как-то так, прикольно?

Теперь всё готово для запуска, но перед этим необходимо, чтобы андроид мог устанавливать приложения не из Маркета. Для этого зайдите в меню настроек вашего девайса, выберите пункт “Приложения” и удостоверьтесь, что отмечен пункт “Неизвестные источники”. Если всё в порядке, возвращайтесь в AIDE, жмите кнопку меню и пункт “Run” [Запуск], если у вас андроид версии ниже 2.3, или жмите кнопку с тремя линиями в верхнем правом углу и тот же пункт “Run” на андроидах версии старше 3.0.

Сейчас AIDE скомпилирует ваше приложение. Потом будет стандартный запрос на установку приложения, в последующем, вы можете его включить как и другие – через меню приложений.

И примерно так это всё должно выглядеть 😀 Вернитесь в AIDE, измените текст в кавычках, снова нажмите “Run” и посмотрите что произойдёт 😀

Поздравляю с твоим первым приложением, построенным на AIDE, и наверняка не последним 😀 Заглядывайте почаще на этот сайт, в дальнейшем я буду выкладывать мануалы как для Eclipse, так и для AIDE.

Я отвечу на все комментарии и вопросы ниже 😀
Спасибо за внимание

Опубликовано
В рубрике blog Отмечено

Конфиг для первой кваки

Вот, дорогие мои. То, что изменялось с 98 года и последний месяц. Что долго настраивалось, вырезалось и возвращалось на место. Параметры кофигурации клавиш и настройки производительности игры. Той самой — Quake 1.

Весь конфиг я недавно систематизировал и визуально разделил на отдельные части для наглядности. То, что ты видишь на месте букв Э, Ю и Я –  в кваке есть специальные графические символы и должны отобразиться иначе. Если у тебя показывается в 2 и 4 строчках какая-то хрень, то проще удалить их.

Как применить конфиг? Копипастишь нижеуказанное в файл, например, myconfig.rc или myconfig.cfg, в файл autoexec.cfg (если его нет – создаёшь) пишешь exec myconfig.rc или exec myconfig.cfg соответственно. Эти файлы должны быть в папке ID1.

clear
Echo “ЭЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЯ”
Echo    “Config Enabled”
Echo “ЭЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЯ”
Echo;
Echo;
unbindall //отключает предыдущие установки клавиш
Echo “All keys has been unbinded, rebinding…”

//—————————————————————————————————
//Ракетный прыжок
alias superjump “quicklookdown;+jump;wait;-jump;impulse 7;+attack;wait;-attack;quicklookcenter”
alias quicklookdown “cl_pitchspeed 20000;+lookdown;wait;-lookdown;cl_pitchspeed 150”
alias quicklookcenter “cl_pitchspeed 2800;+lookup;wait;-lookup;cl_pitchspeed 150”
//—————————————————————————————————
// Прицел
alias +zoom “fov 35;m_pitch 0.005;m_yaw 0.005;play zoom01.wav”
alias -zoom “fov 90;m_pitch 0.022;m_yaw 0.022;play zoom02.wav”
//—————————————————————————————————
// Яркость
alias br1 “bf;b3;gamma .35;echo bright ON;bind p br0”
alias br0 “bf;b3;gamma .60;echo bright OFF;bind p br1”
// Детализация
alias dt1 “it;d_mipcap 0;d_mipscale 0;d_subdiv16 0;echo MAX detail;bind i dt2”
alias dt2 “it;d_mipcap 0;d_mipscale 0;d_subdiv16 1;echo HIGH detail;bind i dt3”
alias dt3 “it;d_mipcap 0;d_mipscale 1;d_subdiv16 1;echo MEDIUM detail;bind i dt4”
alias dt4 “it;d_mipcap 1;d_mipscale 1;d_subdiv16 1;echo LOW detail;bind i dt5”
alias dt5 “it;d_mipcap 0;d_mipscale 1;d_subdiv16 1;echo MEDIUM detail;bind i dt6”
alias dt6 “it;d_mipcap 0;d_mipscale 0;d_subdiv16 1;echo HIGH detail;bind i dt1”
// Гамма
alias gm1 “mc;gamma 1.0;echo 1.0;bind o gm2”
alias gm2 “mc;gamma .90;echo .90;bind o gm3”
alias gm3 “mc;gamma .85;echo .85;bind o gm4”
alias gm4 “mc;gamma .80;echo .80;bind o gm5”
alias gm5 “mc;gamma .75;echo .75;bind o gm6”
alias gm6 “mc;gamma .70;echo .70;bind o gm7”
alias gm7 “mc;gamma .65;echo .65;bind o gm8”
alias gm8 “mc;gamma .60;echo .60;bind o gm9”
alias gm9 “mc;gamma .55;echo .55;bind o gma”
alias gma “mc;gamma .50;echo .50;bind o gmb”
alias gmb “mc;gamma .45;echo .45;bind o gmc”
alias gmc “mc;gamma .40;echo .40;bind o gmd”
alias gmd “mc;gamma .35;echo .35;bind o gme”
alias gme “mc;gamma .30;echo .30;bind o gm1”
// Привязка
bind p br1 // Яркость
bind i dt1 // Детализация
bind o gm1 // Гамма
//—————————————————————————————————
// Кнопки мыши
bind “MOUSE1” “+attack” // огонь – ЛКМ
bind “MOUSE2” “+zoom” // прицел – ПКМ
bind “MOUSE3” “superjump” // ракетный прыжок – СКМ
//—————————————————————————————————
// Настройки мыши
+mlook //глядеть мышью “-mlook” откл
bind “m” “echo MOUSE LOOK mouse look MOUSE LOOK; wait; +mlook”
m_side “0.8”
m_forward “1”
m_yaw “0.022”   //чувствительность мыши по оси X (0.022 по умолчанию)
m_pitch “0.022” //чувствительность мыши по оси Y (0.022 по умолчанию)
m_filter “1” //включ плавн.движение мыши
sv_aim 1 //включает автоприцел
//sv_aim 2 //выкл автоприцел для стрельбы в пол
sensitivity “17” //скорость мыши
//—————————————————————————————————
// Перемещения
bind “w” “+forward”
bind “s” “+back”
bind “a” “+moveleft”
bind “d” “+moveright”
bind “q” “impulse 12” // Предыдущее оружие
bind “e” “impulse 10” // Следующее оружие
bind “LEFTARROW” “+left”
bind “RIGHTARROW” “+right”
bind “UPARROW” “+forward”
bind “DOWNARROW” “+back”
bind “PGUP” “centerview”
bind “HOME” “+lookup”
bind “END” “+lookdown”
bind “ALT” “+strafe”
//bind “CTRL” “+attack”
bind “SHIFT” “+speed”
bind “SPACE” “+jump”
cl_forwardspeed “350” //скорость движения вперед
cl_backspeed “350” //назад
cl_sidespeed “350” //в стороны
cl_bob “0” //от качания оружия при ходьбе
cl_rollangle “0” //от качания при ходьбе боком
//sv_maxspeed “700”         //максимальная скорость +speed увеличивает обычную
r_waterwarp “0” //от качания экрана в воде
viewsize “100.000000”   //величина экрана
gamma “0.600000”         //освещенность
//—————————————————————————————————
// Оружие
bind “1” “impulse 1” //топор
bind “2” “impulse 2” //винчестер
bind “3” “impulse 3” //двустволка
bind “4” “impulse 4” //гвоздемет
bind “5” “impulse 5” //супергвоздемет
bind “6” “impulse 6” //гранатомет
bind “7” “impulse 7” //ракетница
bind “8” “impulse 8” //молния
bind “0” “impulse 9” //все оружие (в мультеплейере не работает)
// Все патроны
bind “DEL” “give s 255; give n 255; give r 255; give c 255; give p 255; give m 255; give l 255”
//—————————————————————————————————
// Служебные клавиши
bind “t” “messagemode”
bind “`” “toggleconsole”
bind “~” “toggleconsole”
bind “*” “toggleconsole”
bind “=” “sizeup”
bind “+” “sizeup”
bind “-” “sizedown”
bind “_” “sizedown”
bind “ESCAPE” “togglemenu”
bind “TAB”  “+showscores”
bind “PAUSE”  “pause”
bind “F1” “help”
bind “F2” “menu_save”
bind “F3” “menu_load”
bind “F4” “menu_options”
bind “F5” “menu_multiplayer”
bind “F6” “god”
bind “F7” “noclip”
bind “F8” “echo Quick save……; wait; save quick”
bind “F9” “echo Quick load……; wait; load quick”
bind “F10” “screenshot”
bind “F11” “zoom_in”
bind “F12” “quit”
//—————————————————————————————————
// Боты (работает в спец. дополнениях)
//bind “b” “impulse 252; wait; impulse 205” // Add single reaper bot
//bind “n” “impulse 252; wait; impulse 208” // Add 4 reaper bots
//bind “k” “impulse 252; wait; impulse 101” // Добавить 1 bot`а к играющим
//bind “p” “impulse 211”    // Game SemiPause all bots removed
alias addbot “impulse 205”
alias add4bots “impulse 208”
bind “b” addbot
bind “n” add4bots
//—————————————————————————————————
// Служебные настройки
scr_conspeed “32700” //ускоряет движение консоли
lookstrafe “0.000000” //переключатели из меню
lookspring “0.000000”
_cl_color “54.000000” //цвет костюма
_cl_name “TONY” //имя игрока
volume “0.300000” //громкость
bgmvolume “0.000000” 
//—————————————————————————————————
// Видео
vid_nopageflip “0”
_vid_default_mode “0”
_vid_wait_override “0”
v_kicktime “0”   //
v_kickpitch “0” //  – v_kick-предохран экран от дерганья
v_kickroll “0”   // /
d_mipcap “0” 
d_mipscale 1 //проработка текстур
vid_config_y “600” //ширина экрана
vid_config_x “800” //высота экрана
//_vid_default_mode “8”
vid_mode “8”
//—————————————————————————————————
// Модем
_config_modem_hangup “AT H”
_config_modem_init “”
_config_modem_clear “ATZ”
_config_modem_dialtype “T”
_config_com_modem “1.000000”
_config_com_baud “57600.000000”
_config_com_irq “4.000000”
_config_com_port “1016.000000”
//—————————————————————————————————
// Разное
crosshair 1 //вкл прицел
//bind “c” “crosshair 1” // Включ прицел
//bind “v” “crosshair 0” // Выключ прицел
//—————————————————————————————————
Echo “All keys has been rebinded!”
//   EOF    —————————————————————————————–

Опубликовано
В рубрике blog Отмечено

Холивары. А есть ли повод?

Привет, мой друг. Если ты не слышал слова “холивар”, то, скорее всего, тебе этого и не надо было. Значит ты не блуждаешь по интернету с целью поиска ответа на свой вопрос, не задаёшь этот вопрос на специальных тематических форумах, не вступал в дискуссию с пользователями Интернета по какой-нибудь занимательной теме.

Проще говоря, холивар – это спор. Спор ни о чём, ни к чему не приводящий. Спор, в котором все стороны (участники) имеют неоспоримые, веские, и в то же время, в большинстве своём, до безумия наитупейшие аргументы. Можешь глянуть тут, если есть желание.

Самые популярные холивары по компьютерной теме – “винда/линукс круче линукса/винды”, “delphi мёртв”, “мой браузер круче твоего”, ну и всё в таком манере.

Сегодня я на досуге начитался ITHappens.ru, где что ни история – очередное мнение о каком-то явлении, содержащее кучу аргументов и вопросов невидимой стороне невидимого холивара, а-ля, “У меня это работает так, а у вас так это не будет работать – у вас винда” и т.п. Собственно, это меня и сподвигло к этому посту.

Хочу задать вопрос всем-всем жителям рунета и не только: Нахрена вы холиварите?

 

1) У всех свои точки зрения. Это всем понятно и все это знают. Но продолжают как бараны упираться в свои/чужие ворота, блея, что что-то его лучше работает/выглядит или дешевле, чем у барана за воротами. Который, без сомнения, упёрся в те же ворота.

2) Нельзя сравнивать, по сути, подобные или одинаковые вещи. У одного барана ворота окрашены в зелёный цвет. Баран с этой стороны утвержает соседу, что зелёный цвет – это пик моды, это круть как афигенно, и это тупо лучше, чем синий цвет с другой стороны ворот. Хозяин синей стороны говорит, что синий цвет дополняет ворота новыми фишками, нечто вроде отпугивания соседских кошек, бабочек и невесть чего ещё. А так же бросаются в глаза алкашам, поэтому служит верным помощником в ориентации для оных в хмельном пространстве. А ворота-то одни! Их цель — закрыть/открыть доступ на территорию.

3) Глупые аргументы только подогревают холивар. Баран с зелёной стороны говорит, что его цвет лучше, потому что ворота открываются в его сторону и что замок у ворот тоже с его стороны. Синий, не находя лучшего аргумента, уверяет, что если замок повесить с его стороны, то синий цвет будет как никогда лучше смотреться вместе с уснувшим под ними алкашом.

А ворота одни. Они как были, так и есть. Да век ещё простоят.

С чего начинается холивар? По желанию его величества тролля.
Троллем может быть как первый баран, так и второй, а то и вообще мимо пробегавший. И вот на к-кой кто-то из них однажды крикнул: “О боже! Какой красивый цвет у этих ворот!”…..

Друг мой, обходи разноцветные ворота подальше.
Как понять, что они разноцветные? А там с одной стороны баран упёрся, будь уверен – с другой тоже.

Bur-IT работает

Сайт, о котором я говорил в предыдущем посте, находится в рабочем состоянии. С момента оформления заказа и до включения сайта прошло часов 5-6, но об этой задержке я был предупреждён во время оформления домена, оплата не задержалась, так что всё прошло отлично.

Поставил WordPress 3.3.1, сейчас ставлю плагины и подбираю тему. Вполне возможно, что поставлю BuddyPress, но мне так не охота искать совместимые с ним темы… Был бы рад любой ссылке в помощь.

О моей новой задумке

Ещё до моего признания N7Team провальной у меня копилось непреодолимое желание создать всё-таки что-то нечто, что было б связано с IT и являло собой место для обмена опытом и всякой полезной и интересной информацией.

Я выбрал региональный масштаб – Бурятию, и город Улан-Удэ в частности. Почему? Такой путь полегче, хоть и не намного. Фишка в возможности быстрее раскрутиться в одном регионе, чем во всём рунете. Пользователей будет гораздо меньше, соответственно, и нагрузка как на сам сайт, так и на меня.

Назову проектик неброско — Bur-IT. Толкуется как «Информационные технологии в Бурятии».

Цель: создать место для знакомства людей из IT-сферы, работодателей и потенциальных кандидатов на вакансии, заказчиков и покупателей с исполнителями и продавцами.

Главные фичи: обзор IT в республике, освещение ситуации с рабочими местами и перспективами IT в городе/республике, последние новости города/республики по теме и место для их обсуждения, площадка для знакомств “IT-людей”, взаимопомощь участников проекта, помощь студентам в выборе будущего направления и места работы, приобщение простых пользователей к IT-миру.

Рекламироваться буду в Google AdWords (мне недавно пришла подарочная карта на 1400 рублёных на эти цели ^_^ ), на местных городских порталах, через знакомых, может даже и в колледже (есть один способ…мог бы договорится…).

Размещаться будет по адресу http://bur-it.ru. Если очень повезёт и карта ляжет удачно, то через 3 четверти суток сайт я запущу.

Опубликовано
В рубрике blog Отмечено