hi,
i using flash cs6, android setup, 3.0 as
i have galaxy tab, ics 4.0 device
i can read & write text file fine on pc.
but, when upload galaxy tab 2 (7")....
1) generic dialog displays path (/mnt/sdcard/) ... , displays "audio, image, video" options. says "download" diaglog title.
i can save file fine.
2) when try open, displays "audio, image, video" options not allow me open file saved.
so, how dialog allows me browse file saved??
here code...
package com.adobe.examples
{
import flash.display.sprite;
import flash.filesystem.*;
import flash.events.*;
import flash.system.capabilities;
import flash.text.textformat;
import fl.controls.button;
import fl.controls.textarea;
//import flash.net.filefilter;
public class texteditorflash extends sprite
{
//fwhilton added
//var filetoopen:file = new file();
//var txtfilter:filefilter = new filefilter("text *.txt", "*.txt");
// currentfile opened (and saved) application
private var currentfile:file;
// filestream object used reading , writing currentfile
private var stream:filestream = new filestream();
// default directory
private var defaultdirectory:file;
// whether text data has changed (and should saved)
public var datachanged:boolean = false;
public function texteditorflash()
{
trace("texteditor()");
defaultdirectory = file.documentsdirectory;
//fwhilton added
//defaultdirectory = file.documentsdirectory.resolvepath("testapps/");
newbtn.addeventlistener(mouseevent.click,newfile);
openbtn.addeventlistener(mouseevent.click,openfile);
savebtn.addeventlistener(mouseevent.click,savefile);
saveasbtn.addeventlistener(mouseevent.click,saveas);
var tf:textformat = new textformat();
tf.font = "courier new";
tf.size = "16";
maintextfield.setstyle("textformat",tf);
}
/**
* called when user clicks open button. opens file chooser dialog box, in
* user selects currentfile.
*/
private function openfile(event:mouseevent):void
{
var filechooser:file;
if (currentfile)
{
filechooser = currentfile;
}
else
{
filechooser = defaultdirectory;
}
filechooser.browseforopen("open");
filechooser.addeventlistener(event.select, fileopenselected);
}
/**
* called when user selects currentfile in fileopenpanel control. method passes
* file object pointing selected currentfile, , opens filestream object in read mode (with filemode
* setting of read), , modify's title of application window based on filename.
*/
private function fileopenselected(event:event):void
{
currentfile = event.target file;
stream = new filestream();
stream.openasync(currentfile, filemode.read);
stream.addeventlistener(event.complete, filereadhandler);
stream.addeventlistener(ioerrorevent.io_error, readioerrorhandler);
datachanged = false;
currentfile.removeeventlistener(event.select, fileopenselected);
}
/**
* called when stream object has finished reading data currentfile (in openfile()
* method). method reads data utf data, converts system-specific line ending characters
* in data "\n" character, , displays data in maintextfield text component.
*/
private function filereadhandler(event:event):void
{
var str:string = stream.readutfbytes(stream.bytesavailable);
stream.close();
var lineendpattern:regexp = new regexp(file.lineending, "g");
str = str.replace(lineendpattern, "\n");
maintextfield.text = str;
stream.close();
}
/**
* called when user clicks "save" button. method sets stream object point to
* currentfile specified currentfile object, save access. method converts "\r" , "\n" characters
* in maintextfield.text data system-specific line ending character, , writes data currentfile.
*/
private function savefile(event:mouseevent = null):void
{
if (currentfile) {
if (stream != null)
{
stream.close();
}
stream = new filestream();
stream.openasync(currentfile, filemode.write);
stream.addeventlistener(ioerrorevent.io_error, writeioerrorhandler);
var str:string = maintextfield.text;
str = str.replace(/\r/g, "\n");
str = str.replace(/\n/g, file.lineending);
stream.writeutfbytes(str);
stream.close();
datachanged = false;
}
else
{
saveas();
}
}
/**
* called when user clicks "save as" button. opens save dialog box, in
* user selects currentfile path. see filesavepanel.mxml currentfile.
*/
private function saveas(event:mouseevent = null):void
{
var filechooser:file;
if (currentfile)
{
filechooser = currentfile;
}
else
{
filechooser = defaultdirectory;
}
filechooser.browseforsave("save as");
filechooser.addeventlistener(event.select, saveasfileselected);
}
/**
* called when user selects file path in save dialog box. method passes selected
* currentfile file object , calls savefile() method, saves currentfile.
*/
private function saveasfileselected(event:event):void
{
currentfile = event.target file;
savefile();
datachanged = false;
currentfile.removeeventlistener(event.select, saveasfileselected);
}
/**
* called when user clicks "new" button. initializes state, undefined file object , a
* blank text entry field.
*/
private function newfile(event:mouseevent):void
{
currentfile = undefined;
datachanged = false;
maintextfield.text = "";
}
/**
* handles i/o errors may come when opening currentfile.
*/
private function readioerrorhandler(event:event):void
{
trace("the specified currentfile cannot opened.");
}
/**
* handles i/o errors may come when writing currentfile.
*/
private function writeioerrorhandler(event:event):void
{
trace("the specified currentfile cannot saved.");
}
}
}
hi,
does have idea on how can native open file dialog?
More discussions in AIR Development
adobe

Comments
Post a Comment