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

Темы только для ознакомления. Уроки по использованию старой версии ВКонтакте API и устаревших методов.

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

Сообщение Александр » 27 сен 2009, 17:01

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

Простое приложение без использования дополнительных классов для взаимодействия с 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. Пишем код.

  1. package {
  2.     import flash.net.URLLoader;
  3.     import flash.net.URLRequest;
  4.     import flash.display.*;
  5.     import flash.events.*;
  6.     import flash.text.*;
  7.  
  8.     public class Main extends Sprite {
  9.         private var api_id:Number=743131; // id вашего приложения
  10.         private var api_secret:String="sE4VlnFfSQ"; // секретный ключ
  11.         private var externalXML:XML;
  12.         private var loader:URLLoader = new URLLoader();
  13.         private var photoLoader:Loader = new Loader();
  14.         private var viewer_id:Number;
  15.         private var sig:String;
  16.         private var uid:String;
  17.         private var bdate_txt:TextField = new TextField();
  18.         private var name_txt:TextField = new TextField();
  19.  
  20.         public function Main():void {
  21.             // узнаём id пользователя, который просматривает приложение
  22.             var params:Object=LoaderInfo(root.loaderInfo).parameters;
  23.             viewer_id = (params['viewer_id']) ? parseInt(params['viewer_id']) : 1;
  24.             // получаем профиль этого пользователя
  25.             getProfile(viewer_id);
  26.         }
  27.  
  28.         private function getProfile(uid):void { // функция получения профиля
  29.             sig=MD5.encrypt(viewer_id+'api_id='+api_id+'fields=bdate,photo_bigmethod=getProfilesuids='+uid+'v=2.0'+api_secret);
  30.             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);
  31.             loader.load(request);
  32.             loader.addEventListener(Event.COMPLETE, onComplete);
  33.         }
  34.  
  35.         private function onComplete(event:Event):void { // функция выполняется когда профиль был загружен
  36.             bdate_txt.text='';
  37.             if (loader!=null) {
  38.                 externalXML=new XML(loader.data);
  39.                 // отображаем дату рождения
  40.                 var bdate = externalXML..bdate;
  41.                 bdate_txt.text=bdate;
  42.                 bdate_txt.x=490;
  43.                 bdate_txt.y=380;
  44.                 addChild(bdate_txt);
  45.                
  46.                 // отображаем имя и фамилию
  47.                 var uname = externalXML..first_name + ' ' + externalXML..last_name;
  48.                 name_txt.text=uname;
  49.                 name_txt.x=410;
  50.                 name_txt.y=360;
  51.                 addChild(name_txt);
  52.                
  53.                 // загружаем аватар
  54.                 var photo = externalXML..photo_big;
  55.                 var request2:URLRequest=new URLRequest(photo);
  56.                 photoLoader.load(request2);
  57.                 photoLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);
  58.  
  59.             } else {
  60.                 trace("Error!");
  61.             }
  62.         }
  63.  
  64.         private function onLoaded(e:Event):void {
  65.             // отображаем загруженный аватар
  66.             photoLoader.x = (550-photoLoader.width)/2;
  67.             photoLoader.y = (400-photoLoader.height)/2;
  68.             addChild(photoLoader);
  69.         }
  70.  
  71.     }
  72. }


5. Сохраняем as файл.
File -> Save
Сохраняем в ту же папку, в которую сохраняли fla файл.
Назовём его "Main.as".

Скачиваем файл Чтобы увидеть ссылку - зарегистрируйтесь. Копируем его в папку с Main.as.

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

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

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

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

Исходник Чтобы увидеть ссылку - зарегистрируйтесь

Если есть какие-то вопросы касаемые этого приложения, задавайте их в этой теме. Для вопросов, не относящихся к этому приложению, создавайте новые темы.

За это сообщение автора Александр поблагодарили - 7:
catamount5, D_Koff, DArno, demy, Garrat, sesera, SoftAng
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



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

Сообщение Alexander » 15 окт 2009, 20:14

Александр, немогли бы вы дать исходники для CS3 или расписать поподробней .

За это сообщение автора Alexander поблагодарил:
hameneff
Alexander
FL Team
FL Team
 
Сообщения: 186
Зарегистрирован: 15 окт 2009, 20:08
Благодарил (а): 0 раз.
Поблагодарили: 14 раз.

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

Сообщение Александр » 15 окт 2009, 21:15

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

Примерно так:
Изображение
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

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

Сообщение Alexander » 16 окт 2009, 16:40

Понятно спасибо, тока поля текста и т.д. не надо ли привинчивать?
Alexander
FL Team
FL Team
 
Сообщения: 186
Зарегистрирован: 15 окт 2009, 20:08
Благодарил (а): 0 раз.
Поблагодарили: 14 раз.

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

Сообщение Александр » 16 окт 2009, 18:51

Нет, в этом приложении все поля создаются программно.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

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

Сообщение Alexander » 16 окт 2009, 20:37

:( Я Main привинтил а поля не создались ):
Alexander
FL Team
FL Team
 
Сообщения: 186
Зарегистрирован: 15 окт 2009, 20:08
Благодарил (а): 0 раз.
Поблагодарили: 14 раз.

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

Сообщение Александр » 16 окт 2009, 21:59

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

Например:
  1.  
  2. var bdate_txt:TextField = new TextField();
  3. bdate_txt.text='Дата';
  4. bdate_txt.x=490;
  5. bdate_txt.y=380;
  6. addChild(bdate_txt);

Создает поле с тексом "Дата", в координатах 490х380.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

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

Сообщение Alexander » 25 окт 2009, 10:02

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);


При компиляции на это ругается.
Alexander
FL Team
FL Team
 
Сообщения: 186
Зарегистрирован: 15 окт 2009, 20:08
Благодарил (а): 0 раз.
Поблагодарили: 14 раз.

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

Сообщение Александр » 25 окт 2009, 15:15

В папке с сохраненным fla есть MD5.as?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

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

Сообщение Alexander » 25 окт 2009, 15:40

Я уже его сделал, но приложение всё равно не работает ):
Alexander
FL Team
FL Team
 
Сообщения: 186
Зарегистрирован: 15 окт 2009, 20:08
Благодарил (а): 0 раз.
Поблагодарили: 14 раз.

След.

Вернуться в Неактуальные уроки (API 2.0 и устаревшие методы)



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0