Read the most frequently asked 100 top Adobe Flex Actionscript interview questions and answers for freshers and experienced job interview questions pdf
1. Is it possible to make httpService Requests synchronous in adobe flex?
No.
Basically, what we are about to do is creating XMLHttpRequest with Javascript in Flex, and calling a server data with the parameters we will give to the object.
e.g. xmlHttpRequest.open(“GET”,”http://localhost/Default.aspx”,false);
1. Request Type: GET or POST
2. Requested URL
3. Communication Type: true for asynchronous, false for synchronous.
2. I need to load an image from flickr into my application. Do I need a crossdomain.xml file on flickr?
File is already there , we need to register our ip address to flicker’s crossdomain.xml
Since the images are located on a flickr server like farm1.static.flickr.com and there is no crossdomain.xml file on that server (there is a crossdomain.xml for api.flickr.com so you can use the api) that means you can’t get access to the bitmapData of the loaded images when you load them from flickr.
This is dumb, but that’s the way it is. So you can load images just fine, but the reflection class copies the bitmapData of the image, so that doesn’t work if you load them straight from the flickr server. I also wanted to set bitmap smoothing to true on the images so the thumbnails don’t look as pixelated, and that also requires access to the bitmapData of the loaded image.
So the answer is to create a proxy that loads the flickr image so it appears to come from the same domain.
3. What is the difference between httpService and Data Service?
The services-config.xml configuration file is required at compile time if the Flex application uses Flex Data Services. In the case of RPC services, this applies to all applications that use RemoteObject or proxy-based WebService or HTTPService.
4. How do you generate random numbers within a given limit with actionscript?
Math.round(Math.random() * (high – low)) + low
5. Have you built any components with actionscript? If so explain how you did it?
CountryComboBox.as
package components
{ import mx.controls.ComboBox;
public class CountryComboBox extends ComboBox
{ public function CountryComboBox()
{ dataProvider = [ “United States”, “United Kingdom” ];
}
}
}
<?xml version=”1.0″ encoding=”utf-8″?>
<mx:Application
xmlns:mx=”http://www.adobe.com/2006/mxml”
xmlns:custom=”components.*”
width=”220″ height=”115″
>
<custom:CountryComboBox />
</mx:Application>
6. How do you implement push on a flex applications?
Using BlazeDS Server, LiveCycle Data Services
7. I am going to add images into a tag. How will it resize itself in adobe flex actionscript?
To let Flex resize the image as part of laying out your application, set the height or width properties to a percentage value. Flex attempts to resize components with percentage values for these properties to the specified percentage of their parent container.
Or by default, Flex does not resize the image. The scaleContent property has a default value of true, therefore, Flex scales the image as it resizes it to fit the specified height and width. The aspect ratio is maintained by default, so the image may not completely fill the designated space. Set the scaleContent property to false to disable scaling. Set the maintainAspectRatio property to false to allow an image to fill all available space regardless of its dimensions.
8. What is a resource Manager in flex actionscript?
The ResourceManager — now handles access to all localized resources in an application. Any components that extend UIComponent, Formatter, or Validator now have a new resourceManager property, which lets you easily access the singleton instance of this manager. If you’re writing some other kind of class that needs to use the ResourceManager, you can call ResourceManager.getInstance() to get a reference to it.
9. What are the similarities between java and flex?
Both can be used as client application, both have packages, OOP based , support XML , import external packages, up casting, support ArrayCollection ,almost same primitive data types, both support class library packaging( .jar , .swc).
10. What is the dynamic keyword used for in flex actionscript?
Specifies that instances of a class may possess dynamic properties added at runtime. If you use the dynamic attribute on a class, you can add properties to instances of that class at runtime. Classes that are not marked as dynamic are considered sealed, which means that properties cannot be added to instances of the class.
11. How do you implement push with flex data services?
Using Blaze DS Server & LCDS
12. What are the methods called when a UI component is intialized?
All components dispatch the following events that let you specify ActionScript to initialize a component:
preInitialize
Dispatched when a component has been created in a rough state, and no children have been created.
initialize
Dispatched when a component and all its children have been created, but before the component size has been determined.
creationComplete
Dispatched when the component has been laid out and the component is visible (if appropriate).
13. Can you write to the file system from flex?
Yes .
import flash.filesystem.*;
private var stream:FileStream;
private function saveFile():void{
var file:File = File.desktopDirectory.resolvePath(“HelloWorld.txt”);
var stream:FileStream = new FileStream()
stream.open(file, FileMode.WRITE);
var str:String = “Congratulations on your 1st file, Rich Tretola – EverythingFlex.com”;
stream.writeUTFBytes(str);
stream.close();
mx.controls.Alert.show(“File has been saved to \n” + file.nativePath, “Notice”);
14. What is a drag manager in adobe flex actionscript?
The Flex Drag and Drop Manager lets you select an object, such as an item in a List control, or a Flex control, such as an Image control, and then drag it over another component to add it to that component.
15. How do we call javascript from Flex actionscript?
Using the ExternalInterface API to access JavaScript from Flex and Using the navigateToURL() method in Flex. The navigateToURL() method is in the flash.net package
flash.external.ExternalInterface.call(function_name:String[, arg1, …]):Object;
navigateToURL(request:URLRequest, window:String):void
16. How do you use a repeater in actionscript?
mx:Application>
<mx:Script>
<![CDATA[
[Bindable]
public var myArray:Array=[1,2,3,4];
]]>
</mx:Script>
<mx:Panel title=”Repeater: emulating a for loop” paddingBottom=”10″ paddingLeft=”10″ paddingRight=”10″ paddingTop=”10″>
<mx:Repeater id=”myRep” dataProvider=”{myArray}”>
<mx:Label id=”myLabel” text=”This is loop #{myRep.currentIndex}”/>
</mx:Repeater>
</mx:Panel>
</mx:Application>
17. what are three ways to skin a component in flex?
Skinning is the process of changing the appearance of a component by modifying or replacing its visual elements. These elements can be made up of images, SWF files, or class files that contain drawing API methods.
There are several ways that you can define skins: inline, by using the setStyle() method, and by using Cascading Style Sheets (CSS).
18. How do we use css styles in flex?
External styles are defined in a separate file and can be used in any MXML file that references the CSS file. You reference a CSS file into an MXML file with the source property of the <mx:Style> tag, as follows:
<mx:Style source=”../siteStyles.css”/>
Embedded styles are defined in an MXML file and can only be used in that file. Embedded styles are defined with the <mx:Style> tag, as follows:
<mx:Style>
.myclass { background-color: xFF0000 }
TextInput { font-family: Helvetica; font-size: 12pt }
</mx:Style>
<mx:Canvas>
<mx:Button styleName=”myclass”>
</mx:Canvas>
Inline styles are defined in an MXML tag and can only be used in that tag. Inline styles are defined as follows:
<mx:Button color=”red”…>
<mx:TextInput fontFamily=”Helvetica” fontSize=”12″…>
19. What is the difference between sealed class and dynamic classes in flex?
Classes are sealed by default, i.e. properties cannot be added dynamically at runtime.
* Dynamic classes can add additional dynamic properties at runtime; sealed classes cannot.
* Sealed classes conserve memory because no internal hash table is needed to store dynamic properties, and the compiler can provide better error feedback.
20. What is MVC and how do you relate it to flex apps?
(Separation of concerns) The goal of the Model-View-Controller (MVC) architecture is that by creating components with a well-defined and limited scope in your application, you increase the reusability of the components and improve the maintainability of the overall system.
Using the MVC architecture, you can partition your system into three categories of components:
* Model components Encapsulates data and behaviors related to the data.
* View components Defines your application’s user interface.
* Controller components Handles the data interconnectivity in your application.
21. What is state? what is the difference between states and ViewStack in flex?
The State class defines a view state, a particular view of a component. For example, a product thumbnail could have two view states; a base view state with minimal information, and a rich view state with additional information. The overrides property specifies a set of child classes to add or remove from the base view state, and properties, styles, and event handlers to set when the view state is in effect.
You use the State class in the states property of Flex components. You can only specify a states property at the root of an application or a custom control, not on child controls.
Difference between states and ViewStack in flex:
* View Stack is to handle different MXML file eg TAB control and states is the transition within single MXML file.
* ViewStack should be used were there is complete change in the controls used and States should be used when you just want to add or remove a few components based on certain conditions.
* ViewStates are virtual state of an existing page apearing at an instance i.e. only one state can be shown at a time
while viewStack are collection of different view containers which can be shown at a time
22. How does item renderer work? How do we add item renderer at runtime in flex?
Each list control has a default mechanism for controlling the display of data, or view, and lets you override that default. To override the default view, you create a custom item renderer.
Note: With reusable inline item renderers you use data binding to bind to the item renderer. When you use a component as an item renderer, you do not use data binding but specify the name of the custom component to use as an item renderer.
Add item rendrer at run time:
Create the basic item renderer. One of the things I needed to accomplish with my item renderer was the ability to add it to different columns (ie the dataField was not always the same). This meant I needed a way from within the renderer to determine what column it was bound to so I could get and display the correct data. To do this the renderer needs to implement the IDropInListItemRenderer. This interface allows the renderer to have access to information about the list and column it is in via the BaseListData and DataGridListData classes. The DataGridListData gives you everything you need to get the data required to make a flexible, reusable renderer.
To Modify itemrenderer at runtime we Need to use mx.core.ClassFactory. Basically, in order to change a Flex itemRenderer at runtime, you need to cast it to a type ClassFactory.
23. What keyword allows you to refer to private variables of a class in flex?
Private keyword , this keyworld (? ) in flex
24. How polymorphism works on actionscript?
class UnpaidIntern extends Employee {
override public function receivePayment():Number {
return 0;
}
}
class Manager extends Employee {
override public function receivePayment():Number {
return baseSalary*3;
}
}
class Engineer extends Employee {
override public function receivePayment():Number {
return this.baseSalary*2;
}
}
class Employee {
internal var baseSalary:Number = 1000;
public function receivePayment():Number {
return this.baseSalary;
}
}
25. How do we overload functions in actionscript?
Method overloading using namespaces. (?)
26. What is dynamic keyword used for in actionscript?
Dynamic classes, which allow you to programmatically add new properties and behavior to classes during the run-time. Just add the magic keyword dynamic to the class definition:
dynamic class Person {
var name:String;
}
Now let’s add dynamically two variables name and age and the function printme() to the object of type Person:
Person p= new Person();
p.name=”Joe”;
p.age=25;
p.printMe = function () {
trace (p.name, p.age);
}
p.printMe(); // Joe 25
27. What are sealed classes in flex?
A sealed class possesses only the fixed set of properties and methods that were defined at compile-time; additional properties and methods cannot be added. This makes stricter compile-time checking possible, resulting in more robust programs.
28. What are runtime shared libraries in flex?
Macromedia Flex 1.5 you can build runtime shared libraries (RSLs) that can be individually loaded, cached, and used by multiple applications.
Use Flex 3 runtime-shared-libraries (RSLs) to reduce the size of your applications and thereby reduce the time required to download the application. RSLs are just SWF files whose code is used as a shared library between different application SWF files. There are two kinds of RSLs, signed and unsigned. Signed RSLs are libraries that are signed by Adobe and may be stored in the Flash Player Cache, which can be accessed by applications from any domain. This means if your application is using a signed RSL, the RSL may not even need to be downloaded if the RSL is already in the Flash Player Cache. The signed RSL may have been put into the Flash Player Cache by visiting another web site that was using the same signed RSL. Signed RSLs have a “swz” extension.
Unsigned RSLs are normal SWF files and are not loaded into the Flash Player Cache. Instead, these RSLs rely on the browser’s cache to keep them from being downloaded.
29. What is cairnghorm in flex? how do we use it?Have you worked with Cairnghorn in flex?
Cairngorm is the lightweight micro-architecture for Rich Internet Applications built in Flex or AIR. A collaboration of recognized design patterns, Cairngorm exemplifies and encourages best-practices for RIA development advocated by Adobe Consulting, encourages best-practice leverage of the underlying Flex framework, while making it easier for medium to large teams of software engineers deliver medium to large scale, mission-critical Rich Internet Applications.
The benefits of the Cairngorm architecture are realized when developing complex RIA applications with multiple use-cases and views, with a team of developers, and with a multi-disciplinary development team that includes designers as well as creative and technical developers.
How is the MVC pattern carried out in a Flex + Cairngorm application?
– Model:???? Role of the ModelLocator & Model Objects
– View:???? Role of View Components & Event Objects
– Controller: Role of the FrontController & Command Objects
30. What keyword allows us to implement abstraction better in flex?
Flex does not support abstart class directly.
31. What design patterns have you used? in Actionscript and java?
1. Creational Pattern
* Factory Method Pattern
* Singleton Pattern
2. Structural Patterns
* Decorator Pattern
* Adapter Pattern
* Coposite Pattern
3. Behavioral Patterns
* Command Pattern
* Observer Pattern
* Template Metod Pattern
* State Pattern
* Strategy Pattern
4. Multiple Patterns
* MVC Pattern
* Symetric Proxy Pattern
32. Explain how binding works in mxml components in flex?
Binding in MXML
Lets look at the following code…
<mx:TextInput id=”ti1?/>
<mx:Label id=”label1? text=”{ti1.text}”/>
Here you are binding the text property of the TextInput to the label. So whatever you type in the textInput automatically reflects in the label. That’s the power of Binding…
The best practice for defining components that return information back to the main application is to design the component to dispatch an event that contains the return data. In that way, the main application can define an event listener to handle the event and take the appropriate action. You also use events in data binding. The following example uses the Bindable metadata tag to make useShortNames a bindable property. The implicit setter for the useShortNames property dispatches the change event that is used internally by the Flex framework to make data binding work.
33. What is the difference between ChangeWatcher.watch, and BindingUtils.bindProperty?
ChangeWatcher:
Acts like the watch on AS2. It watches a variable for changes and when something happens fires an event. Make sure you call the canWatch to ensure that you can watch it!
There are 3 ways to specify the second parameter, the chain.
1. A String containing the name of a public bindable property of the host object.
ChangeWatcher.watch(this, “myvar”, handler)
2. An Object in the form: { name: property name, access: function(host) { return host[name] } }. The Object contains the name of a public bindable property, and a function which serves as a getter for that property.
ChangeWatcher.watch(this, { name:”myvar”, getter: function():String { return “something” }}, handler);
3. A non-empty Array containing any combination of the first two options. This represents a chain of bindable properties accessible from the host. For example, to watch the property host.a.b.c, call the method as: watch(host, [“a”,”b”,”c”]
BindingUtils.bindProperty
Works pretty much the same way as the watch, but instead of having to handle and event it allows you to immediately bind two properties one-way.
The first two parameters are for the the target, the second parameters are the triggers.
BindingUtils.bindProperty( this, “va1”, this, “var2″);
Note : Make sure you add the flex framework.swc to your project Library Path to have access to the mx.binding.util class.
34. Why would you want to keep a reference to a ChangeWatcher and call unwatch()?
So we can reattach the watcher again & We can change the source object (of changewatcher) by reset method.
The ChangeWatcher class defines utility methods that you can use with bindable Flex properties. These methods let you define an event handler that is executed whenever a bindable property is updated.
unwatch () method:
Detaches this ChangeWatcher instance, and its handler function, from the current host. You can use the reset() method to reattach the ChangeWatcher instance, or watch the same property or chain on a different host object.
public function unwatch():void
35. How do you add event listeners in mxml components. Now AS3 components?
*addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
* removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
* dispatchEvent(event:Event):Boolean
* hasEventListener(type:String):Boolean
* willTrigger(type:String):Boolean
36. What does calling preventDefault() on an event do? How is this enforced?
Cancels an event’s default behavior if that behavior can be canceled.. For example, the doubleClick event has an associated default behavior that highlights the word under the mouse pointer at the time of the event. Your event listener can cancel this behavior by calling the preventDefault() method.
You can use the Event.cancelable property to check whether you can prevent the default behavior associated with a particular event. If the value of Event.cancelable is true, then preventDefault() can be used to cancel the event; otherwise, preventDefault() has no effect.
37. What is the problem with calling setStyle()
Calling the setStyle() method can result in decreased performance. Use it only when necessary.
You should try to apply style sheets rather than use the setStyle() method because it is computationally expensive. This method should only be used when you are changing an object’s styles during run time.
You cannot get or set style properties directly on a component as you can with other properties. Instead, you set style properties at run time by using the getStyle() and setStyle() ActionScript methods.
38. Explain the difference between creating an effect and setting the target as opposed to adding an effectListener?
To create a behavior, you define a specific effect with a unique ID and bind it to the trigger.
For example, the following code creates two zoom effects: one for shrinking the component slightly, and one for reverting it to its original size. These effects are assigned, by using their unique IDs, to the mouseDownEffect and mouseUpEffect triggers on the Button component.
<mx:Application …>
<mx:Zoom id=”shrink” duration=”100″ zoomHeightTo=”.9″ zoomWidthTo=”.9″ />
<mx:Zoom id=”revert” duration=”50″ zoomHeightTo=”1″ zoomWidthTo=”1″ />
<mx:Panel title=”Bouncy Button” paddingTop=”10″ paddingBottom=”10″
paddingLeft=”10″ paddingRight=”10″ autoLayout=”false” left=”41″ top=”24″ right=”42″>
<mx:Button id=”bouncyButton” label=”Click me!”
mouseDownEffect=”{shrink}” mouseUpEffect=”{revert}”/>
</mx:Panel>
</mx:Application>
39. How do we identify a component created in a repeater using flex?
If currentIndex value is greater than startIndex value means a component is created in Repeater. We can use count property to find number of children.
A Repeater component executes initially when it is instantiated. If the Repeater component’s dataProvider property exists, it proceeds to instantiate its children, and they instantiate their children, recursively.
The Repeater component re-executes whenever its dataProvider, startingIndex, or count properties are set or modified either explicitly in ActionScript, or implicitly by data binding.
When a Repeater component re-executes, it destroys any children that it previously created (assuming the recycleChildren property is set to false), and then reinstantiates its children based on the current dataProvider property.
40. Differences between defining bindings in MXML and ActionScript?
There are a few differences between defining data bindings in MXML at compile time and in defining them at runtime in ActionScript:
* You cannot include ActionScript code in a data binding expression defined by the bindProperty() or bindSetter() method. Instead, use the bindSetter() method to specify a method to call when the binding occurs.
* You cannot include an E4X expression in a data binding expression defined in ActionScript.
* You cannot include functions or array elements in property chains in a data binding expression defined by the bindProperty() or bindSetter() method. For more information on property chains, see Working with bindable property chains.
* The MXML compiler has better warning and error detection support than runtime data bindings defined by the bindProperty() or bindSetter() method.
41. Can I dynamically instantiate a WebService or HTTPService in ActionScript?
Flex 1.5 does not support this. First declare the tags in MXML and then manipulate the URLs, request objects, and so forth using ActionScript.
42. Can I load CSS style sheets dynamically at runtime?
Dynamic loading of CSS files is not supported in Flex. CSS in Flex is processed on the server side during MXML compilation rather than on the client side at runtime. There is a trick though: A CSS file can be compiled into a separate SWF file and loaded dynamically into the application using the Loader component.
43. When I set visible=”false”, the component still takes up space and appears in the tab order. Why is that?
You can often achieve the “display=none” effect by setting the height/width to zero when you set it invisible, and then set it back to a fixed value or to undefined when you make it visible again.
44. Why are my ValueObject member variables undefined in the results from my RemoteObject requests?
Flash Player deserializes objects in a special order that can confuse developers used to object serialization from other RPC systems. When a strongly typed object is returned to the player, it first creates an instance from the prototype of the registered class without calling the constructor. It then populates the object with the properties sent in the result. Finally, it calls the constructor without arguments.
If your ValueObject constructor expects arguments to initialize an instance, be sure to check whether arguments were actually sent to the constructor before overriding member variable values.
45. Why do strongly typed objects appear as “undefined” in the NetConnection Debugger?
The NetConnection Debugger is an old utility from the early days of Flash Remoting that some developers still find useful. It has an issue, however, displaying types that have been registered with Object.registerClass(). If your Flex server is installed locally, we suggest enabling server-side “debug” level logging in /WEB-INF/flex/gateway-config.xml to watch the raw trace information in the Flex server console/logs from the AMF Gateway as it processes your RemoteObject requests.
Flex Builder also includes a Network Debugger that allows you to monitor AMF traffic.
46. How do I get access to the J2EE session from my RemoteObjects?
The AMF Gateway provides access to the current HttpServletRequest instance in a thread local variable. The session can be obtained from the request, as follows:
flashgateway.Gateway.getHttpRequest().getSession();
47. Can I resize the Internet Explorer browser window from Flex?
Use getURL() to communicate with JavaScript in the HTML wrapper:
getURL(‘javascript:window.resizeTo(1050,900)’);
48. Can Flex applications communicate with each other on the client?
See the LocalConnection API in the flex documentation.
49. Is double-clicking supported on various components?
Unfortunately, double-clicking is not supported by default. If you wish to add this functionality to, say, a List or DataGrid component, you will have to add the following ActionScript 2.0 code to your application:
var someTimestamp:Number;
public function doubleClickHandler( evt:Object ):Void {
var now = getTimer();
// we got a double-click
if( ( now – someTimestamp ) < 500 ) {
// do something here …
}
someTimestamp = now;
}
50. Why are there errors with the macromedia.css.LocatorParser class and WebLogic?
WebLogic ships with its own version of the fop.jar, which in turn includes the batik.jar, which is older and breaks Flex. To resolve this issue, remove the fop.jar from the CLASSPATH in the startWebLogic.cmd file. This may apply to non-WebLogic servers as well, where batik.jar was included.
51. Sometimes, if I do not move the mouse, “click” and “mouseDown” do not work. Why is that?
This is a focus issue with Flash Player; usually when the UI changes “underneath” the mouse pointer, as in a ViewStack navigation where the buttons are in the same screen location.
52. Why is myTreeNode.label or myTreeNode.attributes.label undefined?
Make sure you use the TreeDataProvider methods to modify a node. Do not rely on the node being XML. For example, the above should be myTreeNode.getProperty(“label”) instead.
53. When I add or modify an item in my dataProvider, why does not it show up in my DataGrid?
Low-level methods like Array.push() or myArray[0] = “whatever” do not cause the dataProvider’s modelChanged event to fire.
When you work with a dataProvider, it is always best to use the dataProvider API. In the above example, you might code: myDataProvider.addItem(myItemObject) to add an item or use editField() to modify a value programmatically.
Alternatively, you can call myDataProvider.modelChanged yourself or reassign dataProvider to the control, as follows: myDataGrid.dataProvider = myDataProvider;
54. myTree appears just fine but why ca not I access the node attributes?
Select a node in your myTree. In ActionScript, you can reference this node by using the following code: myTree.selectedNode;
To access the attributes of the node, use the tree DataProvider API. These methods will work for any format dataProvider item, which might be an object, array, or XML node.
The following example might work: myTree.selectedNode.attributes.myAttribute
But the following example is far more reliable:
myTree.selectedNode.getProperty(“myAttribute”);
55. How do I pass parameters to a pop-up window in actionscript?
Three different ways to pass data into a title window.
It uses the initobj to pass in several built-in properties plus two user defined properties.
One is a simple string, the other is a reference to the main application that can be used for binding. Note the variable that holds the application reference is typed to the name of the application. this is critical for binding to work correctly.
56. How do I run Flex as a service?
Flex is not a server that you deploy and run. It is simply deployed as part of your web application. So it will work, no matter which web container you are using: Tomcat, JRun 4, WebLogic, and so forth. To learn how to deploy Tomcat, JRun 4, or any other Java server as a service, refer to the appropriate documentation for the server you are using.
57. How do I get Flex to query my database?
Flex does not have any native database integration functionality. You must have your own server-side tier that provides the database-access tier and sends the data back to Flex through one of the following protocols:
• RemoteObjects: This is the fastest. It communicates with server-side EJBs or POJOs using AMF, a binary compressed format.
• HTTPService: This one uses the HTTP protocol. Sources can be JSP, ASPx, .NET, or any URL that returns HTTP.
• WebService: This is the slowest. It uses the SOAP protocol. Sources can be .NET or any web service.
58. I am sending my request, and I see the data traffic in the command window, but why is the result always empty?
You are probably trying to read the result immediately after the send(), right? You’re expecting synchronous behavior?
59. How do I make synchronous data calls in actionscript?
You cannot make synchronous calls. You must use the result event. No, you can’t use a loop, setInterval, or even doLater. This paradigm is quite aggravating at first. Take a deep breath, surrender to the inevitable, resistance is futile.
There is a generic way to handle the asynchronous nature of data service calls, called ACT (Asynchronous Call Token). Search for this in the Developing Flex Applications LiveDocs for a full description.
Here it is in a nutshell. This example uses HTTPService but will be similar for RemoteObject and WebService:
1. Create a function to handle the data return, like onResult().
2. In the HTTPService tag, put this function name in the result property and pass “event” in too.
3. Invoke the call in the script:
//invokes the call to the HTTP data service
var oRequestCallbject = app.mxdsGetData.send(oRequest);
//Next, define a string to identify the call. We will use this string value in the result handler.
oRequestCall.MyQueryId = “WhateverIWanttoUseToIdentifyThisCall” ;
//Yes, you CAN set this AFTER you invoke send()
4. In the result handler, which will be called every time the data service call returns, identify what the returned data contains, as follows:
var callResponse = oEvent.call; //get the call object
//gets the value of this property you set in the call
var sQueryId = callResponse.MyQueryId; //will be “WhateverIWanttoUseToIdentifyThisCall”;
trace(sQueryId);
60. When I have only a single record, why does not it appear in my DataGrid?
This is a known issue that is caused by the inability of Flex to differentiate between an object and an array with a single row. The solution is to always use toArray(), as in the following examples:
In MXML:
{mx.utils.ArrayUtil.toArray(modelAccidents1.accidents.accident)}
The inline format:
dataProvider={mx.utils.ArrayUtil.toArray(testSrv.result.result.error)}
In ActionScript:
myControl.dataProvider = mx.utils.ArrayUtil.toArray(testSrv.result.result.error)
61. Why are the columns in my DataGrid in some strange order?
The order is typically the reverse of the order in which they were added. If you need a specific order, specify that and many other good things by using DataGridColumn tags.
62. Can I embed HTML in my Flex application?
Flex supports a limited subset of HTML in its TextArea and some other text-related classes.
63. How can you show a jpg image in Dynamic Text Field?
Using HTML Tags in HTML enabled text field you can load image in that. Make a Dynamic Text Field on Stage and give it instance name “txt”, On frame paste the following code and test your flash.
Code:
txt.htmlText =”<img src=’http://www.interview4all.com/images/example.gif’ width=’139′ height=’139′> This image is under Dynamic text field of flash ”
64. I have i input text field on stage and I have a button also, Further i am writing some text in that input text field. I want to save my written data on my local system (on my computer), How can i do this?
To achieve this you have to use flash CS4 with Flash Player 10 or above. Using the new method of filereference class you can save you typed text on your computer as a text file.
First create a object of filereference… then use the save method and pass your data to it.
var fR:FileReference =new FileReference()
fR.save(“your Written text should be come here.”,”flexflashforum.txt”)
Paste the following code on frame and run a sample application…
Code:
var TxtF:TextField = new TextField();
var BtnMc:TextField = new TextField();
var MyFile:FileReference = new FileReference();
TxtF.border = true;
TxtF.type = TextFieldType.INPUT;
BtnMc.background = true;
BtnMc.backgroundColor = 0xCCCCCC;
BtnMc.x = 150;
BtnMc.height = 20;
BtnMc.text = ” Click here to save”;
65. What is the difference in MovieClip and Sprite?
Sprite does not have timeline in it But Movie Clips can have. Sprite is the parent class of MovieClip though not all of the MovieClip properties are available in the parent class.
66. Tell some new capabilities / Features of Flash AS 3.0?
URLLoader class to load text or binary data (The ActionScript 2.0 MovieClipLoader and LoadVars classes are not used in ActionScript 3.0. The Loader and URLLoader classes replace them.)
Sound.computeSpectrum() (Takes a snapshot of the current sound wave and places it into the specified ByteArray object. It returns a ByteArray containing 512 normalized values (-1 to 1) that can be used to visually display the waveform of sound. 256 values for the left channel and 256 values for the right channel. These values can be use to create Sound Spectrum Analyzer displays in Audio Players like Winamp and Windows Media Playres.)
BitmapData.getPixels() (Generates a byte array from a rectangular region of pixel data. Writes an unsigned integer (a 32-bit unmultiplied pixel value) for each pixel into the byte array. No need to loop through every pixel in a bitmap, one at a time with getPixel to send a bitmap to the server.)
MovieClip.currentLabel (This returns the label of the current frame as a String. The current label in which the playhead is located in the timeline of the MovieClip instance. If the current frame has no label, currentLabel is set to the name of the previous frame that includes a label. If the current frame and previous frames do not include a label, currentLabel returns null.)
stage.frameRate ( At runtime frame rate of stage can be change)
67. What is different between URLLoader class and Loader class?
The URLLoader class downloads data from a URL as text, binary data, or URL-encoded variables. It is useful for downloading text files, XML, or other information to be used in a dynamic, data-driven application. A URLLoader object downloads all of the data from a URL before making it available to ActionScript. It sends out notifications about the progress of the download, which you can monitor through the bytesLoaded and bytesTotal properties, as well as through dispatched events.
The Loader class is used to load SWF files or image (JPG, PNG, or GIF) files. Use the load() method to initiate loading. The loaded display object is added as a child of the Loader object.
68. What is Interface in term of OOP (Flash Actionscript)?
An interface is a collection of method declarations that allows unrelated objects to communicate with one another. The structure of an interface definition is similar to that of a class definition, except that an interface can contain only methods with no method bodies. Interfaces cannot include variables or constants but can include getters and setters. To define an interface, use the interface keyword. Use the implements keyword in a class declaration to implement one or more interfaces.
69. What is Inheritance in term of OOP (Flash Actionscript)?
Inheritance is a form of code reuse that allows programmers to develop new classes that are based on existing classes. The existing classes are often referred to as base classes or superclasses, while the new classes are usually called subclasses. Advantage of inheritance is that it allows you to reuse code from a base class. Use the extends keyword to indicate that a class inherits from another class.
70. What is Polymorphism in term of OOP (Flash Actionscript)?
Inheritance also allows you to take advantage of polymorphism in your code. Polymorphism is the ability to use a single method name for a method that behaves differently when applied to different data types.
71. What is Display list?
Display list is hierarchy of display objects that will be rendered as visible screen content by Flash Player. The Stage is the root of the display list, and all the display objects that are attached to the Stage or one of its children form the display list (even if the object isn’t actually rendered, for example if it’s outside the boundaries of the Stage).
72. What is Display object?
Display object is an object which represents some type of visual content in Flash Player. Only display objects can be included in the display list, and all display object classes are subclasses of the DisplayObject class. After a display object is created, it won’t appear on-screen until it is added into a display object container.
73. What is Display container?
Display object container is special type of display object which can contain child display objects in addition to (generally) having its own visual representation. When a display object container is removed from the display list, all its children are removed as well.
74. What Is the Model-View-Controller (MVC) Pattern?
The Model-View-Controller (MVC) is a compound pattern, or multiple patterns working together to create complexapplications.
- Model Contains the application data and logic to manage the state of the application
- View Presents the user interface and the state of the application onscreen
- Controller Handles user input to change the state of the application
75. What Is Event Flow in term of Event Handling in Flash Action Script 3.0?
The event flow describes how an event object moves through the display list. The event flow is conceptually divided into three parts.
Capture phase: This phase comprises all of the nodes from the Stage to the parent of the target node
Target phase: This consists solely of the target node.
Bubbling phase: The bubbling phase comprises the nodes encountered on the return trip from the parent of the target node back to the Stage.
The ability to add event listeners along the event flow is useful when a user interface component comprises more than one object. For example, a button object often contains a text object that serves as the button’s label. Without the ability to add a listener to the event flow, you would have to add a listener to both the button object and the text object to ensure that you receive notification about click events that occur anywhere on the button. The existence of the event flow, however, allows you to place a single event listener on the button object that handles click events that occur either on the text object or on the areas of the button object that are not obscured by the text object.
76. What Is Interface or Benefit of Interface in term of OOP?
1.Allows you to specify a set of methods that classes are required to implement
2.Classes can implement multiple interfaces, interfaces can extend each-other
3.Interfaces can be seen as contracts to be developed against, great for frameworks
77. What is default frame rate of the timeline in frame per second?
A. 1
B. 12
C. 24
D. 30
78. Explain Which of the following is the recommended character to use to separate target level paths levels?
A. / (slash)
B. $ (Dollar sign)
C. _ (underscore)
D. % (percentage sign)
79. Explain If the oilpump movie clip instance in path _root.car.engine.oilpump.clamp uses the following line of actionscript, _parent.someAction;, which movie clip instance is being referenced?
A. Car
B. Engine
C. Oilpump
D. Clamp
80. Explain How many levels does Flash MX support?
A. 20
B. 80
C. 100
D. 1000
81. Explain In which level does the original movie resides?
A. 0
B. -0
C. 1
D. -1
82. Explain What happens if an .swf is loaded into a already occupied level?
A. An error is thrown.
B. The new swf is rejected and the old one stays.
C. The old swf is unloaded and the new swf is loaded.
D. They share the same level
83. What are the correct statements consenting text field?
A. Embedded font outlines are shared by text fields using the same font.
B. Font Outlines for static for static text field are embedded in the SWF file by default.
C. Font outline for input text field are embedded in SWF file by default.
D. Individual font outlines are embedded in to the SWF file for each text field in the FLA file.
E. Font outlines for dynamic text fields are embedded in SWF file by default.
84. Explain What is the function of trace?
A. Initiate the automatic debugging procedure.
B. Discover who has downloaded your movie.
C. Send String Values to the output panel.
D. Determine what objects are presents on stage ant any one time.