- Сохранение данных на сервер ВК
- Как создать приложение ВК и подключить APIConection вы наверное уже знаете, так что сразу перейдём к сохранению данных на сервер ВК.
1. В скрипт добавим код для подключения к APIConection:Код: Выделить всё
import vk.APIConnection;//импорт класса в проект
К privateКод: Выделить всё
private var VK:APIConnection;//экземпляр класса
private var flashVars:Object; //Object для хранения настроек подключения
И в public function Main() , заменив настройки приложения на своиКод: Выделить всё
flashVars = stage.loaderInfo.parameters as Object; //метод настроек подключения
if (!flashVars.api_id)//если локально то далее настройки
{
flashVars['api_id'] = 516063;
flashVars['viewer_id'] = 4563415;
flashVars['sid'] = "9512208d82432dbb4dd024f2ea052ad5eff1be3f268116e3147b4a1021fcd96d569ac68980561a9f15f1";
flashVars['secret'] = "8cb951b6b";
}
VK = new APIConnection(flashVars);
2. В function Дейст_чтения_кнопки(event:Event):void добавим storage.set - сохранениеКод: Выделить всё
VK.api('storage.set', { key:'Pole1', value:Поле_ввода.text}, Запись, ошибка);
Теперь необходимо добавить две функции:Код: Выделить всё
function Запись(response:Object):void{
//Если запись прошла удачно, то....
trace("Записали на сервер ВК в ячейку Pole1 - то что ввели в поле ввода");
}
иКод: Выделить всё
function ошибка(data:Object):void //"ошибка"
{
trace(data.error_msg);
trace("Ошибка");
}
В итоге у нас получится вот такой код:Код: Выделить всё
package
{
import flash.display.Sprite;
import flash.display.Stage;
import flash.text.*;
import flash.events.*;
import flash.events.MouseEvent;//клики мыши
import vk.APIConnection;//импорт класса в проект
public class Main extends Sprite
{
private var VK:APIConnection;//экземпляр класса
private var flashVars:Object; //Object для хранения настроек подкллючения
public function Main()
{
flashVars = stage.loaderInfo.parameters as Object; //метод настроек подключения
if (!flashVars.api_id)//если локально то далее настройки
{
flashVars['api_id'] = 516063;
flashVars['viewer_id'] = 4563415;
flashVars['sid'] = "9512208d82432dbb4dd024f2ea052ad5eff1be3f268116e3147b4a1021fcd96d569ac68980561a9f15f1";
flashVars['secret'] = "8cb951b6b";
}
VK = new APIConnection(flashVars);
Кнопка_ввода.addEventListener(MouseEvent.CLICK ,Дейст_чтения_кнопки);//Вызываем событие нажатия кнопки Кнопка_ввода
}
function Дейст_чтения_кнопки(event:Event):void //Обрабатываем событие нажатия кнопки Кнопка_ввода
{
var str:String = Поле_ввода.text; //захват строки введенного текста и присваивание к ней переменной str
Поле_вывода.text = str;//выводим текст
VK.api('storage.set', { key:'Pole1', value:Поле_ввода.text}, Запись, ошибка);
}
function Запись(response:Object):void{
//Если запись прошла удачно, то....
Поле_ввода.text="";//очищение поля ввода
}
function ошибка(data:Object):void //"ошибка"
{
trace(data.error_msg);
trace("Ошибка");
}
}
}Вот и всё, данные успешно записались на сервер ВК. Теперь на сервере ВК в ячейке Pole1 - то что ввели в поле ввода, но нам нужно ещё и прочитать их. Переходим далее...
- Чтение данных с сервера ВК
- 3. Для вывода сохранённой информации, создадим новое динамическое текстовое поле. И дадим имя экземпляру - "Поле_вывода_ВК"
4. И кнопку для вызова информации с ВК, дав имя экземпляру - "Кнопка_взять"
5. Переходим к скрипту - добавляем кнопку:Код: Выделить всё
Кнопка_взять.addEventListener(MouseEvent.CLICK ,Дейст_чтения_кнопки_С_ВК);//Обрабатываем событие нажатия кнопки Кнопка_взять
И две функции:Код: Выделить всё
function Дейст_чтения_кнопки_С_ВК(response:Object):void{
VK.api("storage.get" ,{key:'Pole1'}, Чтение, ошибка);//посылаем запрос на сервер ВК
}
function Чтение(response:Object):void{
Поле_вывода_ВК.text=String(response);
//Если чтение прошло удачно, то в Поле_вывода_ВК - выводится то что мы прочитали
}
6. В итоге у нас получился вот такой код:Код: Выделить всё
package
{
import flash.display.Sprite;
import flash.display.Stage;
import flash.text.*;
import flash.events.*;
import flash.events.MouseEvent;//клики мыши
import vk.APIConnection;//импорт класса в проект
public class Main extends Sprite
{
private var VK:APIConnection;//экземпляр класса
private var flashVars:Object; //Object для хранения настроек подкллючения
public function Main()
{
flashVars = stage.loaderInfo.parameters as Object; //метод настроек подключения
if (!flashVars.api_id)//если локально то далее настройки
{
flashVars['api_id'] = 5160631;
flashVars['viewer_id'] = 45634150;
flashVars['sid'] = "9512208d82432dbb4dd024f2ea052ad5eff1be3f268116e3147b4a1021fcd96d569ac68980561a9f15f1d";
flashVars['secret'] = "8cb951b6bc";
}
VK = new APIConnection(flashVars);
Кнопка_ввода.addEventListener(MouseEvent.CLICK ,Дейст_чтения_кнопки);//Вызываем событие нажатия кнопки Кнопка_ввода
Кнопка_взять.addEventListener(MouseEvent.CLICK ,Дейст_чтения_кнопки_С_ВК);//Обрабатываем событие нажатия кнопки Кнопка_взять
}
function Дейст_чтения_кнопки_С_ВК(response:Object):void{
VK.api("storage.get" ,{key:'Pole1'}, Чтение, ошибка);//посылаем запрос на сервер ВК
}
function Чтение(response:Object):void{
Поле_вывода_ВК.text=String(response);
//Если чтение прошло удачно, то в Поле_вывода_ВК - выводится то что мы прочитали
}
function Дейст_чтения_кнопки(event:Event):void //Обрабатываем событие нажатия кнопки Кнопка_ввода
{
var str:String = Поле_ввода.text; //захват строки введенного текста и присваивание к ней переменной str
Поле_вывода.text = str;//выводим текст
VK.api('storage.set', { key:'Pole1', value:Поле_ввода.text}, Запись, ошибка);
}
function Запись(response:Object):void{
//Если запись прошла удачно, то....
Поле_ввода.text="";//очищение поля ввода
}
function ошибка(data:Object):void //"ошибка"
{
trace(data.error_msg);
trace("Ошибка");
}
}
}
Вот и все, теперь протестировав должно все работать:
Даже если вы перезагрузили свой проект, то нажав на кнопку Взять, в поле отобразится то что вы написали ранее.
Исходник fla и скрипт as