BTW If you are getting errors loading in media from Blackberry Playbook
make sure to enable the permission "access_shared". Otherwise you will get
a Error 3003.

2011/7/23 Csomák Gábor <csom...@gmail.com>

> **
>
>
> i use panels instead of titlewindows. it works for popups (check desktop
> version at www.sharedboard.net, and a tablet version on bberry or android)
>
> by the way, the solution for the first letter: cameraroll is not supported
> in bberry, so it goes to the else {} part, where it needs permission to
> access shared media. thats it :)
>
> On Fri, Jul 22, 2011 at 10:56 AM, John Fletcher <fletch...@gmail.com>wrote:
>
>>
>>  Thanks for that. In my case I'm looking for something more
>> comprehensive, I have an existing Air desktop app with much code that in
>> principle was written in AS3 and Skins to be re-used but it references
>> things that don't exist in Mobile Projects. For example TitleWindows
>> (popups), Mobile projects complain that they don't have this component. So
>> now we have to re-architect things a bit to figure out how to do what we
>> want to do whilst we maximise code sharing.
>>
>> John
>>
>> 2011/7/20 Csomák Gábor <csom...@gmail.com>
>>
>>>
>>>  its a simple mobile project.. i tick all mobile os-es (bberry,
>>> android, iphone).
>>> there are some parts (like menu button) where i have an if
>>> (qnx||android) removeMenuBtn() like functions. (see below for code)
>>> (because on bberry, swipe_down is the menu, and android has a menu key)
>>>
>>> the only trick there is a bug in the PlayBook swipe_down with the
>>> simulator, so i have to toggle the // in the beginning of this line, when
>>> releasing:
>>> private function deviceIsPlaybook():void {
>>>     *//
>>> QNXApplication.qnxApplication.addEventListener(QNXApplicationEvent.SWIPE_DOWN,
>>> swipeDown);//errort dob :S*
>>>     hgroup.removeElement(menuBtn);
>>> }
>>>
>>> So this is how you check system:
>>>
>>> if (flash.system.Capabilities.version.substr(0,3) == "IOS"){ //WIN, MAC,
>>> UNIX, AND
>>> //iOS
>>>  trace("device recognised as iOS device")
>>> } else if (flash.system.Capabilities.version.substr(0,3) == "QNX"){
>>>  //Blackberry
>>> trace("device recognised as PlayBook")
>>>  try {
>>>   deviceIsPlaybook() //this must be a separate function, otherwise it
>>> won't catch the simulator error
>>>   } catch(error:Error) { }
>>>
>>>  } else if (flash.system.Capabilities.version.substr(0,3) == "AND"){
>>> //Android
>>>  trace("device recognised as Android device")
>>> hgroup.removeElement(menuBtn);
>>>   //listen for menu key elsewhere!
>>> } else {
>>>  //Desktop
>>> trace("device recognised as desktop")
>>>  }
>>>
>>>
>>> On Wed, Jul 20, 2011 at 10:25 AM, John Fletcher <fletch...@gmail.com>wrote:
>>>
>>>>
>>>>  May I ask what technique you are using for code sharing between
>>>> platforms? Currently a hot topic in my opinion, I saw an interesting video
>>>> from Adobe Max where some Adobe devs talked about it, apart from that there
>>>> are no resources or recommendations out there.
>>>>
>>>> John
>>>>
>>>> 2011/7/18 Csomák Gábor <csom...@gmail.com>
>>>>
>>>>>
>>>>>  Hi!
>>>>> I'm developing Shared Board (sharedboard.net) for multiple platforms:
>>>>> iPad, Android, Playbook, and desktop.
>>>>> I have 2 problems with PlayBook, what runs flawlessly on iPad: (I've
>>>>> included the working the working desktop solutions, those are the 
>>>>> elseparts)
>>>>>
>>>>> *First* is when I want to add an Image to the visCompHand.toMove MC
>>>>> with the cameraRoll Browse for Image function: on iPad, desktop it works
>>>>> perfect, but on PlayBook, if I select a picture, it doesn't load it to the
>>>>> MC.
>>>>>
>>>>> if(CameraRoll.supportsBrowseForImage){
>>>>>  cameraRollom=new CameraRoll();
>>>>> cameraRollom.addEventListener(MediaEvent.SELECT, onMediaSelect);
>>>>>  cameraRollom.browseForImage()
>>>>>
>>>>>  function onMediaSelect(e:MediaEvent):void{
>>>>> var promise:MediaPromise=e.data
>>>>>  loader.loadFilePromise(promise)
>>>>> loader.contentLoaderInfo.addEventListener(Event.COMPLETE,
>>>>> imageContentLoaderComplete);
>>>>>  FlexGlobals.topLevelApplication.homeView.addElement(visCompHand);
>>>>> visCompHand.toMove.addChild(loader);
>>>>>  }
>>>>>   } else {
>>>>>  var imagesFilter:FileFilter = new FileFilter("Images",
>>>>> "*.jpg;*.gif;*.png;*.swf;");
>>>>>   var imageFile:File = new File();
>>>>>  imageFile.browseForOpen("Select an Image", [imagesFilter]);
>>>>> imageFile.addEventListener(Event.SELECT, imageSelected2);
>>>>>
>>>>> function imageSelected2(e:Event):void{
>>>>>      imageSelected(e.target as File);
>>>>>  }
>>>>> }
>>>>>
>>>>> *Second* is when I try to save the board MC as picture to cameraRoll.
>>>>> On iPad it works, on Playbook it fails:
>>>>> if(CameraRoll.supportsAddBitmapData){
>>>>> cameraRollom=new CameraRoll();
>>>>> var
>>>>> imagesn:ImageSnapshot=ImageSnapshot.captureImage(FlexGlobals.topLevelApplication.homeView.board)
>>>>> var loader : Loader = new Loader();
>>>>>
>>>>> loader.contentLoaderInfo.addEventListener(Event.COMPLETE,
>>>>> getBitmapData);
>>>>>  loader.loadBytes(imagesn.data);
>>>>>
>>>>> function getBitmapData(e:Event):void{
>>>>>  var content:*=loader.content;
>>>>> var image:Bitmap = Bitmap(content);
>>>>> /** get the bitmapdata **/
>>>>>  var bitmap:BitmapData = image.bitmapData
>>>>> cameraRollom.addBitmapData(bitmap)
>>>>>   }
>>>>> } else {
>>>>> var image:ImageSnapshot =
>>>>> ImageSnapshot.captureImage(FlexGlobals.topLevelApplication.homeView.board,
>>>>> 300, new PNGEncoder());
>>>>> var file:FileReference = new FileReference();
>>>>> var date:Date=new Date();
>>>>> var month:String=date.getMonth()+1+""
>>>>>  if (date.getMonth()<9) month="0"+month;
>>>>> var day:String=date.getDate()+"";
>>>>> if(date.getDate()) day="0"+day
>>>>> file.save(image.data,
>>>>> "SharedBoard"+date.getFullYear()+month+day+".png");
>>>>> }
>>>>>
>>>>> I also have a bonus question:
>>>>> I want to add picture as in 1st problem, but from the webcam/camera,
>>>>> and one that runs on neither platform:
>>>>> if(CameraUI.isSupported){
>>>>> cameraUIom=new CameraUI()
>>>>>  cameraUIom.addEventListener(MediaEvent.COMPLETE, onCameraComplete)
>>>>> cameraUIom.launch(MediaType.IMAGE)
>>>>>  }
>>>>>
>>>>>   Thanks for any help!
>>>>> Gabor
>>>>>
>>>>
>>>>
>>>
>>
>  
>

Reply via email to