Нет, в MonoDevelop скрипты редактируются и компилируются а apk можно создать выбрав пункт меню file > build. Вроде того. Поищите руководства. Их немало.
Вам надо вынести код парсинга в onPostExecute. Вам ведь сначала надо скачать текст и только потом начинать его разбор. А вы устанавливаете соединение и тут же запускаете парсинг. Соответственно, InputStream in вам надо вынести в поля класса.
Мне кажется что это скорее пожелания, а не требования: множество приложений им не следуют. Я думаю вам нужно упростить саму логику и не обрабатывать все ситуации. Можно поставить четкое условие: приложение должно быть активным (видно на экране) и после того как пользователь нажал кнопку он ничего делать не должен. Иначе разрыв соединения.
Можно и поподробнее.
Допустим, есть простой java-проект. В нем пара классов. Если используете Eclipse, то надо просто щелкнуть правой кнопкой мыши на проекте и выбрать Export > Java > JAR file. Получившийся jar-файл надо скопировать в папку своего проекта. Затем щелкаете ПКМ на проекте > Properties > Java Build Path > Libraries > Add JAR's или Add External JAR's. Библиотека подключена. Допустим, класс Code библиотеки упакован в пакет com.lib Тогда в нужном файле пишете: import com.lib.Code; Вот все тоже самое только в командной строке: habrahabr.ru/post/125210
А я скажу почему.
"Запускаю таск и следующей строкой парсинг."
А теперь смотрим описание метода get
"Waits if necessary for the computation to complete, and then retrieves its result."
Вы запускаете AsyncTask и ждете что поток остановится и будет ждать его завершения, а он не ждет и сразу же после запуска начинает парсить. Естественно, он парсит пустоту. А метод get останавливает основной поток и ждет пока завершится AsyncTask и только потом начинает парсинг.