I am Adobe Certified Expert Flex | AIR (Indonesia)
1 komentar Published Sabtu, 02 Februari 2013 by TB Saepul Anwar in AIR, flexFlex logo Past And Now
1 komentar Published Senin, 13 Februari 2012 by TB Saepul Anwar in flex
|
Visit:
Penggunaan REST API Tandif untuk Filtering pada Adobe AIR (Android version)
1 komentar Published by TB Saepul Anwar in AIR, Android, flexPada beberapa hari yang lalu penulis mendapat undangan dari tandif.com untuk mencoba API yang mereka buat. Awalnya saya hanya mencoba secara sederhana, yakni dengan melalui browser saja, dengan memasukkan alamat API –nya pada URL address browser dikarenakan sangat sederhananya format API yang digunakan, doc-nya ada di sini.
Format-nya sebagi berikut :
http://green.tandif.com/api/v1/text/check?api_key=your_api_key_here&text=your_text_here
Jika kalian belum mengetahui tandif, dari website tandif, saya bisa ambil kesimpulan, bahwa tandif berfokus pada layanan filtering untuk content yang berbau pornografi. Ok, langsung saja ya. di sini saya buat aplikasi kecil yang bisa dijadikan aplikasi android pada pemrograman Adobe AIR. so cek aja code-nya di bawah ini1 <?xml version="1.0" encoding="utf-8"?>
2 <s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
3 xmlns:s="library://ns.adobe.com/flex/spark"
4 creationComplete="view1_creationCompleteHandler(event)" title="Filter">
5 <fx:Declarations>
6 <!-- Place non-visual elements (e.g., services, value objects) here -->
7 </fx:Declarations>
8 <s:TextInput id="TextInput_URL" x="10" y="30" width="178" height="37" text=""/>
9 <s:Label x="10" y="10" text="URL"/>
10 <s:TextArea id="TextArea_Content" x="9" y="75" width="279" height="130"
11 text="fuck my ass and my dick"/>
12 <s:Button x="200" y="27" width="88" height="41" label="Ektract"
13 click="button2_clickHandler(event)"/>
14 <s:Label x="10" y="263" text="Result"/>
15 <s:TextArea id="TextArea_Result" x="10" y="286" height="116"/>
16 <s:Button x="201" y="213" width="88" height="41" label="Filter"
17 click="button1_clickHandler(event)"/>
18
19 <fx:Script>
20 <![CDATA[
21 import com.adobe.utils.StringUtil;
22
23 import mx.events.FlexEvent;
24 import mx.rpc.events.ResultEvent;
25 import mx.rpc.http.HTTPService;
26
27 private static const API_KEY_TANDIF:String = "YOUR_API_KEY_HERE";
28 private static const API_KEY_ALCHEMY:String = "YOUR_API_KEY_HERE";
29 private static const INCREMENT:int = 1000;
30
31 private var _httpService_Filter:HTTPService = new HTTPService();
32 private var _httpService_Ektract:HTTPService = new HTTPService();
33 private var _dataArrayStrings:Array = [];
34
35 private var _last:int = 0;
36 private var _index:int = 1;
37
38 private function do_filter():void{
39
40 _index = 1;
41 _dataArrayStrings = [];
42
43 var str:String = TextArea_Content.text;
44
45 // Proses Menyimpan String ke dalam Array, supaya bisa dipecah menjadi String yang lebih pendek.
46 if(str.length>INCREMENT){
47
48 var count:int = Math.floor(str.length/INCREMENT);
49
50 for (var i:int=0; i<count; i++){
51
52 var s1:String = "";
53
54 if(i == count){
55 s1 = str.substr(i*INCREMENT, str.length);
56 }else{
57 s1 = str.substr(i*INCREMENT, INCREMENT*(i+1));
58 }
59
60 _dataArrayStrings.push(s1);
61 }
62 }
63 if(_dataArrayStrings.length>0){
64
65 _httpService_Filter.url = "http://green.tandif.com/api/v1/text/check?api_key="+API_KEY_TANDIF+"&text="+_dataArrayStrings[0];
66 _dataArrayStrings.shift();
67 }else{
68 _httpService_Filter.url = "http://green.tandif.com/api/v1/text/check?api_key="+API_KEY_TANDIF+"&text="+TextArea_Content.text;
69 }
70 _httpService_Filter.send();
71 }
72
73 private function do_ektract():void {
74 _httpService_Ektract.url = "http://access.alchemyapi.com/calls/url/URLGetRawText?apikey="+API_KEY_ALCHEMY+"&url="+TextInput_URL.text+"&outputMode=json";
75 _httpService_Ektract.send();
76
77 }
78
79 protected function view1_creationCompleteHandler(event:FlexEvent):void
80 {
81 _httpService_Filter.addEventListener(ResultEvent.RESULT, onResult_Filtering, false, 0, true);
82 _httpService_Filter.resultFormat = HTTPService.RESULT_FORMAT_TEXT;
83 _httpService_Filter.showBusyCursor = true;
84
85 _httpService_Ektract.addEventListener(ResultEvent.RESULT, onResult_Ekstract, false, 0, true);
86 _httpService_Ektract.resultFormat = HTTPService.RESULT_FORMAT_TEXT;
87 _httpService_Ektract.showBusyCursor = true;
88
89 }
90
91 private function onResult_Filtering(e:ResultEvent):void{
92
93 try{
94 var data:Object = JSON.parse(e.result as String);
95 TextArea_Result.text += "String "+_last+" - "+(INCREMENT*_index) +" : "+(data.result as String)+"\n";
96 }catch(e:Error){
97
98 TextArea_Result.text += "No Result \n";
99 }
100
101 if(_dataArrayStrings.length > 0){
102
103 _httpService_Filter.url = "http://green.tandif.com/api/v1/text/check?api_key="+API_KEY_TANDIF+"&text="+_dataArrayStrings[0];
104 _httpService_Filter.send();
105 _dataArrayStrings.shift();
106
107 _last = (INCREMENT*_index);
108 _index++;
109
110 }
111 }
112
113 private function onResult_Ekstract(e:ResultEvent):void{
114
115 var data:Object = JSON.parse(e.result as String);
116 var str:String = data.text;
117
118 str = str.replace(/[^a-zA-Z0-9]/g, ' ');
119 str = str.replace(/\n/g, '');
120 str = StringUtil.trim(str);
121 TextArea_Content.text = str;
122
123 }
124
125 private function htmlUnescape(str:String):String
126 {
127 return new XMLDocument(str).firstChild.nodeValue;
128 }
129
130 protected function button1_clickHandler(event:MouseEvent):void
131 {
132 do_filter();
133 }
134
135 protected function button2_clickHandler(event:MouseEvent):void
136 {
137 do_ektract();
138 }
139
140 ]]>
141 </fx:Script>
142 </s:View>
Alamat Tempat Ujian ACE di Indonesia
0 komentar Published Sabtu, 11 Desember 2010 by TB Saepul Anwar in AIR, flexAdobe Certified
Banyak orang yang tidak mengetahui Adobe Certified, hampir semua orang yang saya tanyakan tentang rencana mereka untuk mengambil sertifikasi IT, mereka hanya mengetahui dua sertifikasi, Cicso dan Oracle. Ups, ko’ bisa yah ?. Padalah secara tidak disadarai banyak sekali produk Adobe yang kita gunakan, mulai dari Adobe Reader, Photoshop, Ilustrator, Flash,dll. Itu semua merupakan Teknologi dari Adobe. Sudahkan anda melengkapi diri anda dengan Sertifikasi dari Adobe ?. ada banyak jenis sertifikat yang dikeluarkan oleh Adobe, baik itu per produk, level, dan jenis. Seperti Adobe Certified Instructor (ACI), Adobe Certified Associate (ACA), Adobe Certified Professionals (ACPs), dan Adobe Certified Expert (ACE). Kali ini saya akan menjelaskan tentang Adobe Flex 3 with AIR ACE Exam.
Adobe Flex 3 with AIR ACE Exam adalah bagian dari ACE. Terdapat 50 soal (Pilihan Ganda) yang dapat anda kerjakan, namun syarat kelulusan minimal adalah 67%. Mudah Bukan ?. klik disini untuk melihat Apa saja yang diujikan !. Untuk lebih detailnya lagi, silahkan klik disini. Terdapat banyak tempat di jakarta seperti :
- Brainmatics – Menara Bldakara suite 0205, 2nd Fl, JI.
Gatot Subroto Kav. 71-73,Pancoran.
Jakarta, 12870
+62-21-83793383 - Jaringan Nusantara – Wisma Kosgoro 8th Floor
Jl. MH. Thamrin kav. 53
Jakarta, 10350
021-39832414 - NetTrain Informatika – The East Building 16th floor no. 1
Jl. Lingkar Mega Kuningan Kav E3.2 no. 1
Jakarta, 12950
+62-21-57938538 - PT Datacraft Indonesia – Menara Imperium LG Floor #06
Jin.HR. Rasuna Said Kav. 1
Jakarta, 12980
+62-21-285-48092 - PT. Andalan Nusantara Teknologi – Wisma Slipi 11th Floor
JI Letjen S. Parman
Kav. 12
Jakarta, 11480
+62215307228
Oh iya, harganya $150 US Dolar. mmm, fikir-fikir lagi deh,hehehe. untungnya saya punya kupon gratis sebagai AUGM. Mungkin dalam tahun ini saya dan beberapa teman dari Indonesian Flex Community akan berencana mengambil ACE. Saya sendiri ingin mengambil Adobe Flex 3 with AIR ACE Exam dan Adobe® Captivate® 3 Exam.
source : http://goo.gl/huC69Flash Camp Indonesia 2011
0 komentar Published by TB Saepul Anwar in AIR, flex, my ActivitiesDear Community
Perkenalkan kami dari Adobe User Group Indonesia akan mengadakan acara Adobe Camp Indonesia.
Seperti di kutip dari Adobe, bahwa Adobe Camp adalah :
- celebrations of the talents of the local community. They showcase the skills of local developers and designers to inspire and train the attendees. Adobe speakers also participate in Camps.
- events that expose people to Adobe tools. This is done using many creative approaches, such as demos, hands-on trainings, and team coding sessions to just name a few
- events that feature case studies and examples of projects built using Adobe technologies
- events that raise awareness of the local Adobe community and introduce attendees to the local user groups
Kami mengundang teman-teman komunitas untuk mengadiri acara ini, berikut detail acara :
Nama:Adobe Camp Indonesia
Focus:Adobe Flash Platform
Tempat:Universitas Budi Luhur
Jl. Cileduk Raya Petukangan Utara
Jakarta Selatan 12260
Tanggal:20 Januari 2011. Pukul 08-00 s/d 17:00
Biaya:Free
Pembicara
Tomas Krcha (Adobe Platform Evangelist)
Ahmad Fathi Hadi (RIA and Mobile Developer)
Ari Setyo (Flex and Web Developer)
Anggie Baratadinata (senior Flash Game engineer -handson.com)
Tubagus Saepul Anwar (Flex and AIR Developer)
Nata Chen (Game / Creative Producer)
Nova Saputra (Java Developer)
Rizal Akbar (Flash Developer)
Contact:
Ahmad Fathi Hadi (081808497749)
Anda dapat mendaftar melalui http://adobecampindonesia2011.eventbrite.com/
Pada akhir acara kami akan mengundi satu orang pemenang yang akan berhak mendapatkan lisensi dengan total $2100
--
Ahmad Fathi Hadi
http://blog.fathihadi.net
Rich Internet Application and Mobile Developer Specializing in Adobe Technology
Adobe Community Champio
Adobe AIR, Pandangan, Harapan ..
2 komentar Published Jumat, 03 September 2010 by TB Saepul Anwar in AIR, flexHampir 2 tahun ini saya bergelut dengan Adobe AIR untuk membuat software real-time di perusahaan sekuritas, banyak tantangan dan perjuangan yang saya lakukan untuk membuat software tersebut, Pengalaman dan pembelajaran saya lakukan mulai dari tidak tahu menjadi tahu istilah kerennya “from zero to Hero”, seperti Flex SDK terbaru aja from zero to Hero.
Adobe awalnya bernama Apollo pada tahun 2007, Apollo sendiri adalah gabungan antara teknologi Acrobat Reader dan Flash Player yang bisa berjalan secara independen tanpa browser dan AIR bisa dikembangan bersama dengan flex, flash, html, ajax. Pada perkembangan tahun 2008 Adobe sudah mengembangkan Adobe Apollo menjadi Adobe AIR (Adobe Integrated Runtime ) yang di rilis dengan versi 1.0, kemudian perkembangan yang cukup stabil pada versi 1.5.kemudian yang terakhir saat ini saya menulis blogs ini adalah versi 2.0.2, pada versi sudah banyak sekali perbaikkan maupun penambahan seperti secara singkat dapat saya sebutkan sebag berikut :
-
Native process API, dukungan nativeProses yang memungkin kita bisa berkomunikasi dengan native aplikasi , misalkan aplikasi yang dibuat menggunakan bahasa C, C++, java, dan .NET. dan komunikasi tersebut dilakukan dengan standar input dan output
-
Native document handlers to open documents, file-file seperti PDF, PSD, DOC, PPT, and MP3 bisa di asosiasikan menggunakn native application associated, sehingga langsung diarahkan ke aplikasi yang tepat, misanya file pdf diasosiasikan dengan Adobe Acrobat reader.
-
Local microphone API
-
UDP networking support
-
lebih jelas dapat di lihat di sini
[ FLEX = AIR = Flash = ActionScript ]
Pandangan Singkat:
Bagi saya Adobe memiliki komitmen yang baik dalam mengembangan produk-produknya, meskipun beberapa produknya diklaim kurang bagus, seperti teknologi flash yang ditolak oleh pihak apple. Hal tersebut mungkin memberikan keuntungan dan kerugian, keuntungannya adalah pihak Adobe dapat kritikan yang pedas dan harus memperbaiki kekurangan dan terus maju, Kerugiannya terhadap perusahaan atau developer yang sudah berharap dapat menjalankan teknologi flash di di OS apple (Iphone & IPad), ternyata gagal total.
Saya memprediksikan bahwa teknologi Flash untuk beberapa tahun kedepan masih akan terus dipakai karena dalam beberapa Hal Flash sudah tergolong mature, misalnya untuk animasi, aplikasi Multimedia, dan mobile. Dan sekarang Adobe berkerjasama dengan google untuk membuat teknologi flash supaya bisa berjalan dengan baik di OS yang dikembangkan oleh google yang bernama Android, dan saat ini yang sudah mendukung teknologi AIR/Flash yaitu Android versi 2.2 (Froyo).
Beberapa Vendor yang menggunakan AIR yang tergolong kreatif dan terus berkembang
- ebay
- nasdaq
- Lebih detil lihat di market place Adobe dan success Stories
Harapan Kedepan:
- Adobe AIR/Flash/Flex memiliki penanganan multithread, bukan singlethread . Karena pada umumnya teknologi dektop lebih mumpuni jika bisa memiliki kemampuan tersebut.
- Adobe bisa memberikan harapan kepada semua orang dengan project open source-nya seperti Adobe AIR for Android, Open Screen Project, dan lain-lain
- Dukungan Adobe for Indonesia, paling tidak memiliki perwakilan di Indonesia (*saya siap jadi calon Direkturnya >_<)
Continue …
source :
Project Flex yang lagi HOT
4 komentar Published Jumat, 06 Maret 2009 by TB Saepul Anwar in AIR, flex, ProjectBerikut Link project flex yang lagi berkembang
TouchLib, Touchlib is a library for creating multi-touch interaction surfaces. It handles tracking blobs of infrared light, and sends your programs these multi-touch events, such as 'finger down', 'finger moved', and 'finger released'. It includes a configuration app and a few demos to get you started, and will interace with most types of webcams and video capture devices. It currently works only under Windows but efforts are being made to port it to other platforms.
Merapi, Merapi is a bridge between applications written in Java and those running in and created for Adobe AIR™ (Adobe Integrated Runtime™).Merapi has been designed to run on a user's machine, along with an Adobe AIR™application and providea direct bridge between the Adobe AIR™ framework and Java, exposing the power and overall calabilities of the user's operating system, including 3rd party hardware devices.
Degrafa is an open source declarative graphics framework for Flex used by some of the industry's top designers and developers. The framework can be used for a wide variety of purposes, ranging from rich user interfaces to intense graphics editing.
Mate is a tag-based, event-driven Flex framework.
Flex applications are event-driven. Mate framework has been created to make it easy to handle the events your Flex application creates. Mate allows you to define who is handling those events, whether data needs to be retrieved from the server, or other events need to be triggered.
In addition, Mate provides a mechanism for dependency injection to make it easy for the different parts of your application to get the data and objects they need.
OpenFlux is an open-source component framework for Flex which makes radically custom component development fast and easy.
The FlexLib project is a community effort to create open source user interface components for Adobe Flex 2 and 3.
Current components: AdvancedForm, Base64Image, EnhancedButtonSkin, CanvasButton, ConvertibleTreeList, Draggable Slider, Fire, Highlighter, HorizontalAxisDataSelector IconLoader, ImageMap, PromptingTextArea, PromptingTextInput, Scrollable Menu Controls, SuperTabNavigator, Alternative Scrolling Canvases, Horizontal Accordion, TreeGrid, FlowBox, Docking ToolBar, Flex Scheduling Framework
anybody want to add this list??
IDE untuk pengembangan FLEX dan AIR
1 komentar Published Sabtu, 28 Februari 2009 by TB Saepul Anwar in AIR, flexBerikut IDE untuk pengembangan FLEX dan AIR :
- Flex Builder (commercial license and free for academics - http://freeriatools.adobe.com/)
- FlashDevelop (Open Source, only windows version)
- FDT (commercial license)
- IntelliJ IDEA 8.0 (commercial license)
- Aptana (free and commercial versions)
- Tofino (Free)
- Amethyst Personal Edition (Free)
- FlexBean (Open Source)
- AXDT (Open Source)
- Tour de Flex (Flex capabilities demo app
Framework MVC di Flex dan AIR
0 komentar Published Jumat, 27 Februari 2009 by TB Saepul Anwar in AIR, flex
- Cairngorm (Adobe Open Source)
- PureMVC (Open Source),
- Mate (Open Source)
- Swiz (Open Source)
Swiz is a framework for Adobe Flex that aims to bring complete simplicity to RIA development. Swiz provides Inversion of Control, event handing, and simple life cycle for asynchronous remote methods. In contrast to other major frameworks for Flex, Swiz imposes no JEE patterns on your code, no repetitive folder layouts, and no boilerplate code on your development. Swiz represents best practices learned from the top RIA developers at some of the best consulting firms in the industry, enabling Swiz to be simple, lightweight, and extremely productive.
- Spring ActionScript (Open Source)
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.
Cairngorm is now evolving towards a project that will invite community leaders and enterprise adopters to partner with Adobe Consulting in the ongoing development of Cairngorm.
PureMVC is a lightweight framework for creating applications based upon the classic Model, View and Controller concept.
Based upon proven design patterns, this free, open source framework which was originally implemented in the ActionScript 3 language for use with Adobe Flex, Flash and AIR, is now being ported to all major development platforms.
Two versions of the framework are supported with reference implementations; Standard and MultiCore.
In short, the Standard Version provides a simple methodology for separating your coding interests according to the MVC concept. Beyond that, the MultiCore Version allows multiple PureMVC applications to run within the same virtual machine; modular programming.
Though the two versions are very similar they are maintained separately, because for applications that don't need modular functionality (or on development platforms that lack support for it), the Standard Version is adequate.
Mate is a tag-based, event-driven Flex framework.
Flex applications are event-driven. Mate framework has been created to make it easy to handle the events your Flex application creates. Mate allows you to define who is handling those events, whether data needs to be retrieved from the server, or other events need to be triggered.
In addition, Mate provides a mechanism for dependency injection to make it easy for the different parts of your application to get the data and objects they need.
Note: The Spring ActionScript framework was formerly known as the Prana framework and has now been moved under the Spring umbrella as a Spring Extensions project.
Spring ActionScript is an Inversion of Control (IoC) Container for ActionScript 3.0, and more specifically the Flex framework. It enables you to configure objects and components in a non-intrusive way by describing them in an external xml document and having them loaded at runtime.
At its core is a Spring-ish application context and IoC container. The xml dialect for the application context is aimed to be Spring compliant.
Further, the framework also contains utility classes for configuring and extending Cairngorm and PureMVC applications, an MVCS base architecture and general utilities. In the future we’ll be looking into adding AOP support, and we’re always open for suggestions.
Mendebug code di Flex dan AIR, Tool tambahan Debug
1 komentar Published Selasa, 24 Februari 2009 by TB Saepul Anwar in AIR, flex, Tutorial AIR, Tutorial Flexuntuk mendebug suatu aplikasi di Flex dan AIR kita bisa menggunakan cara
menggunakan fungsi trace, fungsi ini sangat simple digunakan kita cukup mengetik trace("text"), trace(variabel) contoh :
trace("Hello World!"); // menghasilkan: "Hello World!"
var myObj:Object= {item:"item 1", desc:'This is item 1'};
trace(myObj); // menghasilkan: [object Object]
Menggunakan perpective Debug pada FlexBuilder, cara ini adalah menggunakan fasilitas FlexBuilder untuk mendebug dengan memberikan breakpoint pada baris kode. dan debuger pada aplikasi akan membaca code satu persatu sesuai dengan urutan code-nya jika pada baris ada sebuah breakpoint maka dia akan berhenti pada titik tersebut dan memperlihatkan kondisi variable pada baris tersebut.
contoh sederhana menggunakan breakpoint pada debug,
1. Buat project flex dengan nama latihanDebug kemudian file latihanDebug.MXML diisi code berikut:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" creationComplete="init()">
<mx:Script>
<![CDATA[
private function init():void{
var x:int=1;
var y:int=2;
var z:int=0;
z=x+y;
trace(z);
}
]]>
</mx:Script>
</mx:Application>
2. save dan kemudian, buat masuk ke mode Flex Debugging, kemudian buat breakpoint pada line dengan mengklik dua kali pada nomor baris baris, misal seperti ini:
kemudian jalankan debug dengan mengklik icon debug ato tekan tombol F11, dan akan menghasilkan seperti ini
untuk melanjutkan debug bisa mengklik tombol resume
gambar tombol resume
Bila debug terus dilanjutkan sampai posisi breakpoint terakhir maka hasil dari z adalah 3;
Selain menggunakan fungsi trace perpective Debug kita bisa juga Menggunakan tool Debug tambahan, ada beberapa tool Debug tambahan yang bisa dipakai untuk men-debug code di Flex dan AIR. ada pun aplikasi tersebut adalah :
cara menggunakan De Monster Debugger
- Download aplikasi dari webnya dari web demonsterdebugger
- Instal di PC kita
- buat project di Flex atau AIR
- Export Class ke File Project kita
- import library nl.demonsters.debugger.MonsterDebugger dan kemudian gunakan MonsterDebugger.trace(parameter, "text") kedalam code, misalnya : <?xml version="1.0" encoding="utf-8"?>
- Kemudian Run atau jalankan aplikasi, maka akan terlihat seperti ini
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" initialize="init()">
<mx:Script>
<![CDATA[
// Import the debugger
import nl.demonsters.debugger.MonsterDebugger;
// Variable to hold the debugger
private var debugger:MonsterDebugger;
private function onInit():void
{
// Init the debugger
debugger = new MonsterDebugger(this);
// Send a simple trace
MonsterDebugger.trace(this, "Hello World!");
}
]]>
</mx:Script>
</mx:Application>
Garbage Collection, Flex Performance, Memory Management, & Object Caching
0 komentar Published Jumat, 20 Februari 2009 by TB Saepul Anwar in AIR, flexif you have problem with memory management try this blog and read, hope can help you
- http://www.insideria.com/2008/03/flex-performance-memory-manage.html
- http://blogs.eyepartner.com/adrian/flex/flex-tip-6-garbage-collection-in-flex/
- http://www.nutrixinteractive.com/blog/?p=132
- http://www.flexer.info/2007/10/26/garbage-collector-and-events/
- http://blogs.warwick.ac.uk/stevencarpenter/entry/airflex_memory_optimisation
- http://www.gskinner.com/blog/archives/2006/06/as3_resource_ma.html
- http://www.craftymind.com/2008/04/09/kick-starting-the-garbage-collector-in-actionscript-3-with-air/
- http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/Flex/Q_24095116.html
Download
Membuat add button pada TabNavigator
1 komentar Published Rabu, 11 Februari 2009 by TB Saepul Anwar in flexKmarin saya sempat bingung bagaimana cara membuat add button pada TabNavigator, setelah googling2 akhirnya menemukan suatu petunjuk bahwa untuk membuat button pada TabNavigator bisa menggunakan cara simple daripada repot2 membuat extended class dari SuperTabNavigator FlexLib.....
caranya begini:
pertama: buat fungsi yang dapat memposiskan button pada sisi kanan Tab:
public function positionAddNewTabButton():void
{
var i:int=nav.numChildren-1;
addNewTabButton.x=nav.getTabAt(i).x +
(nav.getTabAt(i).width) + 1
addNewTabButton.y=nav.getTabAt(i).y +
(nav.getTabAt(i).height/2) - 10
}
Kedua: gunakan Event creationComplete dan updateComplete untuk memproses posisi button pada saat ada penambahan Tab
creationComplete="positionAddNewTabButton()"
updateComplete="positionAddNewTabButton()"
Lebih lengkap:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
public function positionAddNewTabButton():void
{
var i:int=nav.numChildren-1;
addNewTabButton.x=nav.getTabAt(i).x +
(nav.getTabAt(i).width) + 1
addNewTabButton.y=nav.getTabAt(i).y +
(nav.getTabAt(i).height/2) - 10
}
]]>
</mx:Script>
<mx:Button id="addNewTabButton" label="Add"/>
<mx:TabNavigator id="nav" width="100%" height="100%"
creationComplete="positionAddNewTabButton()"
updateComplete="positionAddNewTabButton()" cre>
<mx:Canvas label="Home" width="100%" height="100%">
</mx:Canvas>
</mx:TabNavigator>
</mx:WindowedApplication>
oke itu saja....:)
XML di Flex
0 komentar Published Jumat, 06 Februari 2009 by TB Saepul Anwar in flexAkhirnya saya bisa meluangkan waktu untuk menulis blogs lagi, banyak sekali kegiatan yang saya lakukan setelah lulus kuliah...senang rasanya bisa menulis kembali di blogs FlexIndonesia. Btw, sudah lebih dari 6 bulan blogs ini tidak saya update..Padahal sekarang Perkembangan FLEX dan AIR semakin canggih..tadinya cman belajar amfPHP dan WebORB, eh skrang sudah ada BLazeDS buat backbone Java...Eh terus skrang udah ada Flex 4....oke sekian dulu ceritanya...
XML di Flex mengikuti aturan ECMAScript for XML (E4X) di helpnya sech dibahas bahwa tujuan menggunakan format E4X, yaitu:
- Simplicity--Where possible, E4X makes it easier to write and understand code for working with XML data.
- Consistency--The methods and reasoning behind E4X are internally consistent and consistent with other parts of ActionScript.
- Familiarity--You manipulate XML data with well-known operators, such as the dot (.) operator.
contoh penggunaan XML pada Flex
var ids:Array = [121, 122, 123];
var names:Array = [["Murphy","Pat"], ["Thibaut","Jean"], ["Smith","Vijay"]]
var x:XML = new XML("<employeeList></employeeList>");
for (var i:int = 0; i < 3; i++)
{
var newnode:XML = new XML();
newnode =
<employee id={ids[i]}>
<last>{names[i][0]}</last>
<first>{names[i][1]}</first>
</employee>;
x = x.appendChild(newnode)
}
Mungkin contoh diatas masih simpel, coba lihat code berikut
[Bindable]
private var MenuList:XML=new XML("" +
"<root>" +
"<menuitem label='File' id='file'>" +
<menuitem label='Exit' id='Exit'/>"+
</menuitem>" +
"</root>);
Pertanyaan???
1. Bagaimana menambah menuitem setelah label exit?? supaya hasilnya menjadi...
<root>
<menuitem label="File" id="file">
<menuitem label="Exit" id="Exit"'/>
<menuitem label="Open" id="Open"/>
</menuitem>
</root>)
Jawab:
untuk bisa menambahkan child setelah label exit kita bisa menggunakan XML method insertChildAfter()
.....
var newNode:XML = new XML("<menuitem label='Open' id='Open'/>");
var contentNode:XML = MenuList.menuitem.menuitem[0];
var parentNode:XML = MenuList.menuitem[0];
parentNode.insertChildAfter(contentNode, newNode[0] );
....
The following methods allow you to work with the hierarchical structure of XML objects: The following methods allow you to work with XML object attributes: The following methods allow you to you work with XML object properties: The following methods are for working with qualified names and namespaces: The following methods are for working with and determining certain types of XML content: The following methods are for conversion to strings and for formatting XML objects: There are a few additional methods: XML methods
3 cara Mengakses data server-side dengan Flex
0 komentar Published Jumat, 25 Juli 2008 by TB Saepul Anwar in flexUntuk mengakses data server-side bisa menggunakan 3 cara yaitu:
1. menggunakan komponen HTTPService, Dengan komponen ini bisa memanggil link halaman yang mendeskripsikan data ke dalam bentuk XML, halaman dideskripsikan data dalam bentuk XML menggunkan bahasa sever-side seperti PHP, ColdFusion, JSP, Java servlet, Ruby on Rail, dan ASP. berikut potongan MXML yang mendeskripsikan fungsi HTTPservice
<mx:HTTPService id="userRequest" url="http://localhost/myproj/request_post2.php" useProxy="false" method="POST">
<mx:request xmlns="">
<username>{username.text}</username>
<emailaddress>{emailaddress.text}</emailaddress>
</mx:request>
</mx:HTTPService>
Script tersebut melakukan request terhadap file php, dan dipastikan file php tersebut sudah mendeskripsikan hasil query database ke dalam bentuk XML, sebagai contoh scripts yang mendeskripsikan hasil query ke dalam bentuk XML sebagai berikut:
$Query = "SELECT * from users";
$Result = mysql_query( $Query );
$Return = "<users>";
while ( $User = mysql_fetch_object( $Result ) )
{
$Return .= "<user><userid>".$User->userid."</userid><username>".$User->username."</username><emailaddress>".$User->emailaddress."</emailaddress></user>";
}
$Return .= "</users>";
mysql_free_result( $Result );
print ($Return)
2. menggunakan komponen WebService, dengan komponen ini bisa menggunkan Simple Object Access Protocol (SOAP) dan Web Services Description Language (WSDL) untuk merespon dan mengirimkan data dari client ke server atau sebaliknya. Berikut potongan script MXML WebService
<mx:WebService
id="userRequest"
wsdl="http://localhost:8500/flexapp/returnusers.cfc?wsdl">
<mx:operation name="returnRecords" resultFormat="object"
fault="mx.controls.Alert.show(event.fault.faultString)"
result="remotingCFCHandler(event)"/>
<mx:operation name="insertRecord" result="insertCFCHandler()"
fault="mx.controls.Alert.show(event.fault.faultString)"/>
</mx:WebService>
3. menggunakan komponen RemoteObject, dengan komponen ini bisa melakukan pemanggilan method atau fungsi di dalam suatu kelas yang mendeskripsikan data kedalam bentuk objek, untuk melakukan itu di perlukan aplikasi ketiga seperti AMFPHP, SabreAMF, dan WebORB. Untuk dapat terhubung dengan aplikasi tersebut digunakan kelas mx.rpc.remoting.RemoteObject . Pada WebORB akses data dapat digambarkan sebagai berikut:
Referensi : Help-Flex Builder 3.0
My Profil

- TB Saepul Anwar
- I'm Flex and AIR Fan's also Entrepreneur, I like Flex and AIR because i like make code with MXML and AS 3.0 and enjoy the Flash Output. My backgroud is Multimedia, I Like design, Video, 3D, and animation.
Arsip Blog
Label
- AIR (18)
- Android (2)
- BlazeDS (1)
- flex (20)
- my Activities (4)
- php (1)
- Playbook (1)
- Project (1)
- Tutorial AIR (2)
- Tutorial Flex (2)