package { import flash.display.Loader; import flash.display.MovieClip; import flash.events.Event; import flash.events.MouseEvent; import flash.net.URLRequest; import flash.text.TextField; import flash.text.TextFormat; import flash.external.ExternalInterface; import com.adobe.serialization.json.JSON; public class App extends MovieClip { private var _currentUserName:String; private var _currentUserID:String; private var _avatar:Loader; private var _nameField:TextField; private var _controls:MovieClip; public function App() { debug("App constructor"); _currentUserName = loaderInfo.parameters.userName || "Krasimir Stefanov Tsonev"; _currentUserID = loaderInfo.parameters.userID || "617578836"; loadCurrentUserAvatar(); showCurrentUserName(); addControls(); ExternalInterface.addCallback("onGetFriends", onGetFriends); } private function loadCurrentUserAvatar():void { var url:String = "http://graph.facebook.com/" + _currentUserID + "/picture"; _avatar = new Loader(); _avatar.load(new URLRequest(url)); _avatar.x = _avatar.y = 20; addChild(_avatar); } private function showCurrentUserName():void { var tf:TextFormat = new TextFormat(); tf.font = "Verdana"; tf.size = 12; tf.color = 0x000000; _nameField = new TextField(); _nameField.defaultTextFormat = tf; _nameField.text = _currentUserName; _nameField.x = 80; _nameField.y = 20; _nameField.width = 300; _nameField.height = 30; addChild(_nameField); } private function addControls():void { _controls = new AppControls(); _controls.x = 20; _controls.y = 83; _controls.b1.addEventListener(MouseEvent.CLICK, getFriends); addChild(_controls); } private function getFriends(e:Event):void { ExternalInterface.call("F.getFriends"); } private function onGetFriends(result:String):void { var friends:Array = JSON.decode(result).data; var text:String = ""; if(friends && friends.length > 0) { var numOfFriends:int = friends.length; for(var i:int=0; iview profile
"; } } else { text = "Problem reading friends' list."; } _controls.area.htmlText = text; } public function debug(str:*):void { trace(str.toString()); } } }