Изучаю ActionScript3

Предыстория.
Появилась острая необходимость в ускоренных темпах обучится ActionScript3, в качестве тестового задания решили c дизайнером написать простенькое, но полезное приложение для vkontakte.ru.

Далее вы сможете узнать, как все это происходило…

День 1.

Посидели над заменой курсора с Дизайнером. Разобрались с эвентами, оказывается событие on () это AS2, немного огорчились, но в итоге разобрались с реализацией событий через AS3 — AddEventListener().

День 2.

Целый день просидел над созданием взаимодействия приложения с api вконтакте. Более менее разобрался с ООП в AS3, подключил пакеты для использования шифрования. В тестовых приложениях контакта нашел пакет взаимодействия с api DataProvider, разобраться, как правильно работает, до конца не смог.

День 3.

Немножко усовершенствовали бызовый функционал приложения. В основном работал дизайнер, я изучал работу c классом XML в AS3.  Потом рабирался с отправкой запроса на сервер через класс URLRequest.  Буду пробовать писать свой класс для взаимодействия с api vkontakte.

День 4.

Пришел с работы и сразу решил заняться нащим приложением. Надо было все таки «добить» взаимодействие с api. Решил пока не париться с использованием класса DataProvider от готового api, а попробовать взаимодействовать прямо в лоб. Так как библиотека для шифрования md5 была уже прикручена, оставалось дело за малым, составить правильный запрос, отправить его и получить ответ. С составлением запроса мне помогло тестового приложение вконтакте, любезно предоставленное видимо таким же, как я, познователем. Итак запрос составлен, выяснею в хелпе как же все таки его отправить, ага класс URLRequest у нас его отправляет, а получает значит URLLoader. Да чуть не забыл, а ответ то в XML, значит надо еще xml класс, как он у нас называется? Угу, XML, просто и со вкусом. 🙂  Связываем все, разбираемся с методами и вуаля, получаем.

import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
var externalXML:XML;
var loader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest("http://api.vkontakte.ru/api.php?api_id=" + api_id + "&method=getFriends&sig=" + sig);
loader.load(request);
loader.addEventListener(Event.COMPLETE, onComplete);
function onComplete(event:Event):void
{
var loader:URLLoader = event.target as URLLoader;
if (loader != null)
{
externalXML = new XML(loader.data);
trace(externalXML.toXMLString());
}
else
{
trace("loader is not a URLLoader!");
}
}

День 5.

Была успешно написана библиотека для взаимодействия с api vkontakte. Начал на ее основе писать класс «прелоадер», который будет делать следующее:

  1. Подгружать переменные из массива flashvars.
  2. Проверять добавлено ли приложение на страницу пользователя.
  3. Разрешен ли доступ к друзьям, аудиозаписям, видеозаписям пользователей.
  4. Выгружать информацию о текущем пользователе приложения.
  5. Выгружать информацию о друзьях пользователя и выбирать друзей, которые уже добавили приложение к себе на страницу.

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