Приложение, показывающее имя, фамилию, дату рождения, аватар

Темы только для ознакомления. Уроки по использованию старой версии ВКонтакте API и устаревших методов.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Приложение, показывающее имя, фамилию, дату рождения, аватар

Сообщение Александр »

Приложение, показывающее имя, фамилию, дату рождения, аватар пользователя

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

Этот урок по использованию старой версии ВКонтакте API 2.0. Текущая версия API 3.0.
Аналогичный урок по ВКонтакте API 3.0.

Описываю действия для программирования на Action Script 3, в среде Adobe Flash CS4.

1. Создаём Новый документ.

File -> New -> Flash File (ActionScript 3.0)
Изображение

2. Сохраняем документ.

File -> Save

Создаем новую папку и сохраняем в неё fla файл. Можно изменить имя, например example.fla.

3. Создаем Новый as-файл, в котором будем писать код.

File -> New -> ActionScript File
Изображение

4. Пишем код.

Код: Выделить всё

package {    import flash.net.URLLoader;    import flash.net.URLRequest;    import flash.display.*;    import flash.events.*;    import flash.text.*;     public class Main extends Sprite {        private var api_id:Number=743131; // id вашего приложения        private var api_secret:String="sE4VlnFfSQ"; // секретный ключ        private var externalXML:XML;        private var loader:URLLoader = new URLLoader();        private var photoLoader:Loader = new Loader();        private var viewer_id:Number;        private var sig:String;        private var uid:String;        private var bdate_txt:TextField = new TextField();        private var name_txt:TextField = new TextField();         public function Main():void {            // узнаём id пользователя, который просматривает приложение            var params:Object=LoaderInfo(root.loaderInfo).parameters;            viewer_id = (params['viewer_id']) ? parseInt(params['viewer_id']) : 1;            // получаем профиль этого пользователя            getProfile(viewer_id);        }         private function getProfile(uid):void { // функция получения профиля            sig=MD5.encrypt(viewer_id+'api_id='+api_id+'fields=bdate,photo_bigmethod=getProfilesuids='+uid+'v=2.0'+api_secret);            var request:URLRequest=new URLRequest("http://api.vkontakte.ru/api.php?api_id="+api_id+"&method=getProfiles&uids="+uid+"&fields=bdate,photo_big&v=2.0&sig="+sig);            loader.load(request);            loader.addEventListener(Event.COMPLETE, onComplete);        }         private function onComplete(event:Event):void { // функция выполняется когда профиль был загружен            bdate_txt.text='';            if (loader!=null) {                externalXML=new XML(loader.data);                // отображаем дату рождения                var bdate = externalXML..bdate;                bdate_txt.text=bdate;                bdate_txt.x=490;                bdate_txt.y=380;                addChild(bdate_txt);                                // отображаем имя и фамилию                var uname = externalXML..first_name + ' ' + externalXML..last_name;                name_txt.text=uname;                name_txt.x=410;                name_txt.y=360;                addChild(name_txt);                                // загружаем аватар                var photo = externalXML..photo_big;                var request2:URLRequest=new URLRequest(photo);                photoLoader.load(request2);                photoLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);             } else {                trace("Error!");            }        }         private function onLoaded(e:Event):void {            // отображаем загруженный аватар            photoLoader.x = (550-photoLoader.width)/2;            photoLoader.y = (400-photoLoader.height)/2;            addChild(photoLoader);        }     }}
5. Сохраняем as файл.
File -> Save
Сохраняем в ту же папку, в которую сохраняли fla файл.
Назовём его "Main.as".

Скачиваем файл MD5.as. Копируем его в папку с Main.as.

6. Подключаем Main.as к проекту.
Выбираем вкладку с первым созданным документом, кликаем на пустом месте, чтобы снять выделение с текстового поля, и в PROPERTIES устанавливаем Class "Main" - созданный ранее as файл с кодом.
Изображение

7. Экспортируем приложение.
Нажимаем Ctrl + Enter. Запускается созданное приложение. Чтобы увидеть результат, его нужно загрузить в контакт.
В папке с fla файлом появляется swf файл. Его то и нужно загрузить в контакт.

8. Загружаем приложение в контакт.
- Заходим на сайт вконтакте.
- Переходим на страницу "Приложения".
- Кликаем на "все приложения".
- Кликаем на "создать приложение", вверху страницы.
- Заполняем данные, нажимаем "Перейти к загрузке приложения".
- Нажимаем "Обзор...", выбираем созданный swf файл и нажимаем "Начать загрузку".
- Приложение должно быть включено и доступно всем.
- Если включен контейнер, то выключаем: Без использования контейнера.

Теперь можно проверить работу приложения.

Исходник https://flapps.ru/example/source.rar

Если есть какие-то вопросы касаемые этого приложения, задавайте их в этой теме. Для вопросов, не относящихся к этому приложению, создавайте новые темы.
Alexander
FL Team
FL Team
Сообщения: 186
Зарегистрирован: 15 окт 2009, 20:08

Re: Приложение показывающее имя, фамилию, дату рождения и аватар

Сообщение Alexander »

Александр, немогли бы вы дать исходники для CS3 или расписать поподробней .
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Приложение показывающее имя, фамилию, дату рождения и аватар

Сообщение Александр »

Можно создать новый пустой Flash (AS3) файл в CS3, сохранить *.fla в ту же папку и подключить к нему Main.as.

Примерно так:
Изображение
Alexander
FL Team
FL Team
Сообщения: 186
Зарегистрирован: 15 окт 2009, 20:08

Re: Приложение показывающее имя, фамилию, дату рождения и аватар

Сообщение Alexander »

Понятно спасибо, тока поля текста и т.д. не надо ли привинчивать?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Приложение показывающее имя, фамилию, дату рождения и аватар

Сообщение Александр »

Нет, в этом приложении все поля создаются программно.
Alexander
FL Team
FL Team
Сообщения: 186
Зарегистрирован: 15 окт 2009, 20:08

Re: Приложение показывающее имя, фамилию, дату рождения и аватар

Сообщение Alexander »

:( Я Main привинтил а поля не создались ):
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Приложение показывающее имя, фамилию, дату рождения и аватар

Сообщение Александр »

Странно. Размер приложения не меньше чем 550х400? Появляются какие-то ошибки?

Например:

Код: Выделить всё

 var bdate_txt:TextField = new TextField();bdate_txt.text='Дата';bdate_txt.x=490;bdate_txt.y=380;addChild(bdate_txt);
Создает поле с тексом "Дата", в координатах 490х380.
Alexander
FL Team
FL Team
Сообщения: 186
Зарегистрирован: 15 окт 2009, 20:08

Re: Приложение, показывающее имя, фамилию, дату рождения, аватар

Сообщение Alexander »

1120: Access of undefined property MD5. sig=MD5.encrypt(viewer_id+'api_id='+api_id+'fields=bdate,photo_bigmethod=getProfilesuids='+uid+'v=2.0'+api_secret);


При компиляции на это ругается.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Приложение, показывающее имя, фамилию, дату рождения, аватар

Сообщение Александр »

В папке с сохраненным fla есть MD5.as?
Alexander
FL Team
FL Team
Сообщения: 186
Зарегистрирован: 15 окт 2009, 20:08

Re: Приложение, показывающее имя, фамилию, дату рождения, аватар

Сообщение Alexander »

Я уже его сделал, но приложение всё равно не работает ):
Ответить