terça-feira, 22 de novembro de 2011

Cancelar vivo 3G parte 2

Continuo inconformado coma falta de respeito da operadora vivo.

entrei em contato com eles mais duas vezes, e os mesmos inforaram que o sistema estava fora do ar, depois de passar por uns 3 a 4 atendentes em cada ligação, e demorar mais de 50 minutos também.

entrei em contato com o procon e com a anatel e fiz minha reclamação,

para ajudar, olha o que a anatel escreveu:
---------------------------------------
Em atenção ao seu e-mail, informamos que a operadora deve permitir o cancelamento do serviço pelos mesmos meios que possibilita a contratação.



De acordo com o artigo 18 do Decreto 6.523/08, que fixou normas gerais sobre o Serviço de Atendimento ao Consumidor:



"O SAC receberá e processará imediatamente o pedido de cancelamento de serviço feito pelo consumidor.



§ 1º  O pedido de cancelamento será permitido e assegurado ao consumidor por todos os meios disponíveis para a contratação do serviço.



§ 2º  Os efeitos do cancelamento serão imediatos à solicitação do consumidor, ainda que o seu processamento técnico necessite de prazo, e independe de seu adimplemento contratual.



§ 3º  O comprovante do pedido de cancelamento será expedido por correspondência ou por meio eletrônico, a critério do consumidor".



Para melhor análise da questão apresentada e eventuais providências, sugerimos que apresente cópia simples da documentação envolvida (os comprovantes que tiver sobre o caso) em um dos nossos canais de atendimento. Os endereços poderão ser verificados em nosso site, no link "Formas de Atendimento".


Os postos de atendimento pessoal (Poupatempo Sé, Santo Amaro e Itaquera) trabalham com sistema de agendamento de horário e distribuição de senhas. Se optar por um desses canais, antes de dirigir-se ao local é conveniente contatar o Poupatempo, através do telefone 0800 772 3633, a fim de informar-se sobre as condições para distribuição de senhas e agendamento de horário.



Se não residir em São Paulo recorra, preferencialmente, ao órgão de defesa do consumidor de sua cidade. Se for um município do Estado de São Paulo, é provável que o Procon local seja conveniado a esta Fundação. Para verificar o endereço acesse em nosso site o link "Procons Municipais".



Atenciosamente,
 ---------------------

Ou seja a vivo deveria cancelar o serviço pelos mesmos meios que contratei, ou seja na loja!
e lá eles falam que é só pelo telefone, e pelo telefone eles demoram, ou não cancelam.

peguei esse artigo no site http://www.planalto.gov.br/ccivil_03/_Ato2007-2010/2008/Decreto/D6523.htm

e é bem interessante,
vou mais tarde na loja da vivo, tentar resolver isso!
espero que ajude quem precisar!

att

Vitor Yudi Hansen

segunda-feira, 21 de novembro de 2011

Cancelar Internet 3G modem vivo

Quero cancelar meu 3g da vivo!
mas não cancelam de jeito nenhum!

na opção cancelar existe um loop infinito que nunca ninguem vai te atender pelo amor....

http://www.reclameaqui.com.br/1990321/vivo-celular/cancelamento-3g/

a minha única esperança no momento é que o reclame aqui me ajude!!
já tive alguns problemas com outras empresas, de entrega, ou serviço, e eles ajudaram e muito!

segue link da reclamação!

http://www.reclameaqui.com.br/1990321/vivo-celular/cancelamento-3g/

só queria colocar meu descontentamento com a VIVO.

ela funcionou bem, o modem, sem reclamações!
mas o serviço ta ruim pra caramba!
#tiraOloop

Vitor Yudi Hansen

quarta-feira, 9 de novembro de 2011

Data e Hora no FLEX

//Nesse Exemplo estou usando 2 campos de textos instanciandos
 //texto1 e texto2
 //Para aprendizado, aconselho a criação do TextField via actionscript
 var tempo:Timer = new Timer(1000);
 tempo.start();
 tempo.addEventListener(TimerEvent.TIMER,mostra);
 function mostra(evento:TimerEvent):void {

var valores:Date = new Date();
 var ano:String=String(valores.getFullYear());
 var mes:String=String(valores.getMonth()+1);
 var dia:String=String(valores.getDate());
 var data_formatada:String=dia + “/” + mes + “/” + ano;
 texto1.text=data_formatada;

var hora:String=String(valores.getHours());
 var minuto:String=String(valores.getMinutes());
 var segundo:String=String(valores.getSeconds());

//Condições para acrescentar ’0′ (zero)
 if(hora.length==1){
 hora = “0″ + hora;
 }

if(minuto.length==1){
 minuto = “0″ + minuto;
 }

if(segundo.length==1){
 segundo = “0″ + segundo;
 }

var horario:String=hora + “:” + minuto + “:” + segundo;
 texto2.text=horario;
 }


Vitor Yudi Hansen

segunda-feira, 7 de novembro de 2011

Mudar icone do mouse Flex 3


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" verticalAlign="middle"
    horizontalAlign="center" backgroundGradientColors="[0x000000,0x323232]" viewSourceURL="srcview/index.html">
    <mx:Script>
        <![CDATA[
            import mx.controls.Button;
            import mx.managers.CursorManager;
            import flash.events.*;
            
            private var cursorID:Number = 0;
            // Embed the cursor symbol.
            [(source="aircursor.png")]
            private var waitCursorSymbol:Class;           

            private function setCursor(cursorType:String):void 
            {
                if (cursorType == "normal") {
                    CursorManager.removeAllCursors();
                    CursorManager.removeBusyCursor();
                } else if (cursorType == "busy") {
                    CursorManager.removeAllCursors();
                    CursorManager.setBusyCursor();
                } else if (cursorType == "custom") {
                    CursorManager.removeAllCursors();                    
                    cursorID = CursorManager.setCursor(waitCursorSymbol);
                }
            }
        ]]>
    </mx:Script>
    
    <mx:Button label="Normal Cursor" color="white" textRollOverColor="white" click="setCursor('normal')"/>
    <mx:Button label="Default Busy Cursor" color="white" textRollOverColor="white" click="setCursor('busy')"/>
    <mx:Button label="Custom Busy Cursor" color="white" textRollOverColor="white" click="setCursor('custom')"/>

</mx:Application>



Vitor Yudi Hansen

sexta-feira, 4 de novembro de 2011

exemplo de filtros Flex 4


<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"  
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" 
               skinClass="TDFGradientBackgroundSkin" 
               viewSourceURL="srcview/index.html"
               creationComplete="init()">
    
    <fx:Script>
        <![CDATA[
            
            private var time:Timer;
            private var count:int = 0;
            
            private function init():void{
                time = new Timer(1000,0);
                time.addEventListener(TimerEvent.TIMER,timeHandler);
                time.start();
                
            }
            
            private function timeHandler(ev:TimerEvent):void{
                count ++;
                dynamicText.text = String(count);
            }
            
            private function filterHandler(ev:MouseEvent):void{
                var filterArr:Array = [];
                
                blurBox.selected ? filterArr.push(blur): null;
                glowBox.selected ? filterArr.push(glow): null;
                shadowBox.selected? filterArr.push(dropShadow): null;
                bevelBox.selected ? filterArr.push(bevel): null;
                
                textSample.filters = filterArr;
                dynamicText.filters = filterArr;
            }
        ]]>
    </fx:Script>
    
    <s:layout>
        <s:HorizontalLayout verticalAlign="middle" horizontalAlign="center" />
    </s:layout>
    
    <fx:Declarations>
        <!--filters-->
        <s:GlowFilter id="glow" blurX="12" blurY="12" color="#88AEF7" quality="2" strength="1"/>
        <s:BlurFilter id="blur" blurX="4" blurY="4" quality="2" />
        <s:DropShadowFilter id="dropShadow" alpha="0.35" blurX="6" blurY="6" distance="6" color="#000000" angle="90" />
        <s:BevelFilter id="bevel" angle="45" blurX="0.5" blurY="0.5" distance="4" strength="0.7" highlightAlpha="0.7" shadowAlpha="0.7"  />
    </fx:Declarations>
    
    <s:Panel title="Filters Samples"
             width="600" height="100%"
             color="0x000000" 
             borderAlpha="0.15">
        
        <s:layout>
            <s:VerticalLayout horizontalAlign="center" 
                              paddingLeft="10" paddingRight="10" 
                              paddingTop="10" paddingBottom="10"/>
        </s:layout>
        
        <s:Label id="textSample" text="SAMPLE TEXT" color="0x000000" 
                 fontWeight="bold" fontSize="40" filters="{[]}" />
        
        <s:HGroup width="100%" color="#323232" horizontalAlign="center">
            <s:CheckBox id="blurBox" label="Blur" click="filterHandler(event)" />
            <s:CheckBox id="glowBox" label="Glow" click="filterHandler(event)" />
            <s:CheckBox id="shadowBox" label="Drop Shadow" click="filterHandler(event)" />
            <s:CheckBox id="bevelBox" label="Bevel" selected="true" click="filterHandler(event)" />
        </s:HGroup>
        
        <s:Label id="dynamicText" text="0" color="#323232" fontSize="18" filters="{[]}" />
        
    </s:Panel>
    
</s:Application>



Vitor Yudi Hansen

Drag and Drop Flex 4 =D


<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"  
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" 
               skinClass="TDFGradientBackgroundSkin" 
               viewSourceURL="srcview/index.html">
    
    <s:layout>
        <s:HorizontalLayout verticalAlign="middle" horizontalAlign="center" />
    </s:layout>
    
    <fx:Declarations>
        <s:ArrayList id="arr1">
            <fx:String>Orange</fx:String>
            <fx:String>Apple</fx:String>
            <fx:String>Pear</fx:String>
        </s:ArrayList>
        
        <s:ArrayList id="arr2">
            <fx:String>Banana</fx:String>
        </s:ArrayList>
    </fx:Declarations>
    
    <s:Panel title="Drag and Drop Samples" 
             width="600" height="100%"
             color="0x000000" 
             borderAlpha="0.15">
        
        <s:layout>
            <s:HorizontalLayout horizontalAlign="center" 
                              paddingLeft="10" paddingRight="10" 
                              paddingTop="10" paddingBottom="10"/>
        </s:layout>
        
        <s:List allowMultipleSelection="true" dropEnabled="true" dragEnabled="true" dragMoveEnabled="true" 
                dataProvider="{arr1}"/>
        
        <s:Label text="Drag Items between lists" color="0x000000"/>
        
        <s:List allowMultipleSelection="true" dropEnabled="true" dragEnabled="true" dragMoveEnabled="true" 
                dataProvider="{arr2}"/>
    </s:Panel>
    
</s:Application>



Vitor Yudi Hansen

Sqlite FLex Builder para IOS e Android

Exemplo simples para utilizar banco de dados.
=D


<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark" title="Database Access" viewActivate="view1_viewActivateHandler(event)">
    
    <fx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;
            import spark.events.ViewNavigatorEvent;     
      
            protected var sqlConnection:SQLConnection;
            
            protected function view1_viewActivateHandler(event:ViewNavigatorEvent):void
            {
                sqlConnection = new SQLConnection();
                sqlConnection.open(File.applicationStorageDirectory.resolvePath("giberish.db"));
                var stmt:SQLStatement = new SQLStatement();
                stmt.sqlConnection = sqlConnection;
                stmt.text = "CREATE TABLE IF NOT EXISTS giberish (label TEXT)";
                stmt.execute();
                getAllGiberish();
            }
            
            protected function getAllGiberish():void
            {
                var stmt:SQLStatement = new SQLStatement();
                stmt.sqlConnection = sqlConnection;
                stmt.text = "SELECT label FROM giberish";
                stmt.execute();
                l.dataProvider = new ArrayCollection(stmt.getResult().data);
            }
            
            protected function onAdd():void
            {
                var stmt:SQLStatement = new SQLStatement();
                stmt.sqlConnection = sqlConnection;
                stmt.text = "INSERT into giberish values(:giberish)";
                stmt.parameters[":giberish"] = g.text;
                stmt.execute();
                getAllGiberish();
                g.text = "";
            }
        ]]>
        
    </fx:Script>
    
    <s:layout>
        <s:VerticalLayout paddingTop="5" paddingBottom="5" paddingLeft="5" paddingRight="5" gap="5" 
                          horizontalAlign="left" verticalAlign="top"/>
    </s:layout>
    
    <s:Form width="100%">
        <s:FormItem label="Enter text" skinClass="spark.skins.spark.StackedFormItemSkin">
            <s:TextInput id="g"/>
        </s:FormItem>
        <s:Button label="Save text" enabled="{g.text.length != 0}" click="onAdd()"/>
    </s:Form>
    
    <s:List id="l" width="100%" height="100%"/>
    
</s:View>



Vitor Yudi Hansen

Transição de Slide View no FLash BUilder 4.5 para Android e IOS

segue modelo
=D


<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               title="Slide Transition">
    
    <fx:Script>
        <![CDATA[
            import spark.transitions.SlideViewTransition;
            import spark.transitions.SlideViewTransitionMode;
            import spark.transitions.ViewTransitionDirection;
            
            public var slideTrans:SlideViewTransition = new SlideViewTransition();
            
            protected function onSlide():void 
            {
                validateDirection();
                if (txtDuration.text!=null && txtDuration.text.length>0)
                    slideTrans.duration = parseFloat(txtDuration.text)*1000;
                slideTrans.mode = rgMode.selectedValue as String;
                navigator.popToFirstView(slideTrans);
            }
            
            protected function add_clickHandler(event:MouseEvent):void
            {
                var n:int = parseInt(txtDuration.text);
                txtDuration.text = new String(n+1);
            }
            protected function subtract_clickHandler(event:MouseEvent):void
            {
                
                var n:int = parseInt(txtDuration.text);
                txtDuration.text = new String(n-1);
            }
            
            protected function validateDirection():void
            {
                if (txtDirection.text != ViewTransitionDirection.LEFT && txtDirection.text != ViewTransitionDirection.RIGHT && 
                    txtDirection.text != ViewTransitionDirection.UP && txtDirection.text != ViewTransitionDirection.DOWN)
                    txtDirection.text = ViewTransitionDirection.RIGHT;
                else slideTrans.direction = txtDirection.text;
            } 
        ]]>
    </fx:Script>
    
    <fx:Declarations>
        <s:RadioButtonGroup id="rgMode"/>
    </fx:Declarations>
    
    <s:navigationContent>
        <s:Button label="Home" height="100" click="navigator.popToFirstView(slideTrans)"/>
    </s:navigationContent>
    <s:actionContent>
        <s:Button id="btn" height="100" label="Back" click="navigator.popToFirstView(slideTrans)"/>
    </s:actionContent>
    
    <s:VGroup width="100%" height="100%" gap="65" horizontalAlign="center" verticalAlign="middle">
        <s:HGroup verticalAlign="middle" top="50">
            <s:Label text="Duration (seconds)"/>
            <s:HGroup>
                <s:Button id="addBtn" label="+" click="add_clickHandler(event)"/>
                <s:TextInput id="txtDuration" width="50" height="65" restrict=".0-9" text="1"
                             textAlign="center"/>
                
                <s:Button id="subtractBtn" label="-" click="subtract_clickHandler(event)"/>
            </s:HGroup>  
        </s:HGroup>
        
        <s:HGroup verticalAlign="middle">
            <s:Label text="Direction (right, left, up, down)"/>
            <s:TextInput id="txtDirection" text="right" width="100"/>
        </s:HGroup>  
        
        <s:VGroup>
            <s:Label text="Slide Mode"/>
            <s:HGroup>
                <s:RadioButton id="coverMode" label="{SlideViewTransitionMode.COVER}" groupName="rgMode" selected="true"/>
                <s:RadioButton id="pushMode" label="{SlideViewTransitionMode.PUSH}" groupName="rgMode"/>
                <s:RadioButton id="uncoverMode" label="{SlideViewTransitionMode.UNCOVER}" groupName="rgMode"/>
            </s:HGroup>
        </s:VGroup>
        
        <s:HGroup>
            <s:Button label="Start" click="onSlide()"/>
        </s:HGroup>
    </s:VGroup>  
    
</s:View>


Vitor Yudi Hansen

Apple lança iPhone 4S em 22 países

O novo iPhone 4S chegou na madrugada desta sexta-feira (28) em mais 22 países, como havia anunciado a Apple no início de outubro. Até o final do ano, outros 70 países receberão o smartphone. A companhia não confirmou oficialmente, mas o Brasil deve estar nesta lista.

Em Cingapura, consumidores fizeram fila logo no início da manhã. Em países da Europa, onde as lojas abriram as portas para o lançamento à meia-noite, clientes aguardavam pacientes para adquirir o aparelho. Na Bélgica, uma promoção da operadora Telenet deu iPhones 4S para as 20 primeiras pessoas que chegassem na fila vestidas totalmente de amarelo.

O iPhone 4S foi lançado nesta sexta-feira (28) nos seguintes países: Áustria, Bélgica, República Checa, Dinamarca, Estônia, Finlândia, Hungria, Irlanda, Itália, Letônia, Liechtenstein, Lituânia, Luxemburgo, México, Holanda, Noruega, Cingapura, Eslováquia, Eslovênia, Espanha, Suécia e Suíça.

O novo presidente da Apple, Tim Cook, apresentou o smartphone no início de outubro. Após 15 meses, o sucessor do iPhone 4 chegou com o mesmo formato da versão anterior, mas com processador mais veloz de dois núcleos, câmera atualizada com 8 MP e um sistema inteligente de interação via voz, batizado de “Siri”.

Em 14 de outubro, o iPhone 4S chegou para consumidores de oito países: Estados Unidos, Canadá, Austrália, Reino Unido, França, Alemanha e Japão. Durante o período de pré-venda, o aparelho atingiu 1 milhão de pedidos em um único dia, ultrapassando a versão anterior do smartphone, que alcançou 600 mil encomendas em 24 horas.
fonte : www.globo.com/tecnologia

Vitor Yudi Hansen

quinta-feira, 3 de novembro de 2011

Apple admite falha na bateria do iPhone 4S

São Paulo - A Apple reconheceu um recente problema nos celulares iPhone 4S. Segundo os consumidores, a bateria dos aparelhos têm durado um tempo menor do que o de praxe para um smartphone.
"Um pequeno número de pessoas têm reportado que a vida da bateria do iPhone 4S, que roda o iOS 5, a nova versão do sistema operacional, está durando menos do que o esperado", disse a companhia em um comunicado enviado ao AllThingsD, o site de tecnologia do jornal Wall Street Journal.

A empresa, que lançou o iPhone 4S há um mês, afirmou ter encontrado alguns bugs que estão afetando o desempenho da bateria.
"Uma atualização de software, que será lançada em poucas semanas, resolverá o problema", ressaltou a Apple em seu comunicado.
Questionada sobre o problema, a Apple evitou fazer qualquer comentário além do divulgado através do documento. A companhia também não sugeriu qualquer paliativo àqueles que estão sofrendo atualmente com a bateria do celular.
Para não correr o risco de ficar sem telefone ao longo do dia, alguns usuários disseram estar desativando todas as notificações e o recurso que ajusta automaticamente o fuso horário para evitar o consumo de bateria de seus iPhones 4S.

fonte:
http://info.abril.com.br/noticias/tecnologia-pessoal/apple-admite-falha-na-bateria-do-iphone-4s-03112011-21.shl



Vitor Yudi Hansen

terça-feira, 1 de novembro de 2011

Android – Video/Music player exemplo (do disco ou de uma url)


segue classe para visualizar video no andoir :

package org.apache.android;

import android.app.Activity;
import android.graphics.PixelFormat;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnBufferingUpdateListener;
import android.media.MediaPlayer.OnCompletionListener;
import android.media.MediaPlayer.OnErrorListener;
import android.os.Bundle;
import android.util.Log;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.webkit.URLUtil;
import android.widget.EditText;
import android.widget.ImageButton;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

public class VideoPlayer extends Activity implements OnErrorListener,
        OnBufferingUpdateListener, OnCompletionListener,
        MediaPlayer.OnPreparedListener, SurfaceHolder.Callback {
    private static final String TAG = "VideoPlayer";

    private MediaPlayer mp;
    private SurfaceView mPreview;
    private EditText mPath;
    private SurfaceHolder holder;
    private ImageButton mPlay;
    private ImageButton mPause;
    private ImageButton mReset;
    private ImageButton mStop;
    private String current;

    /**
     * Called when the activity is first created.
     */
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);

        setContentView(R.layout.main);

        // Set up the play/pause/reset/stop buttons
        mPreview = (SurfaceView) findViewById(R.id.surface);
        mPath = (EditText) findViewById(R.id.path);
        mPlay = (ImageButton) findViewById(R.id.play);
        mPause = (ImageButton) findViewById(R.id.pause);
        mReset = (ImageButton) findViewById(R.id.reset);
        mStop = (ImageButton) findViewById(R.id.stop);

        mPlay.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                playVideo();
            }
        });
        mPause.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                if (mp != null) {
                    mp.pause();
                }
            }
        });
        mReset.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                if (mp != null) {
                    mp.seekTo(0);
                }
            }
        });
        mStop.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                if (mp != null) {
                    mp.stop();
                    mp.release();
                }
            }
        });

        // Set the transparency
        getWindow().setFormat(PixelFormat.TRANSPARENT);

        // Set a size for the video screen
        holder = mPreview.getHolder();
        holder.setCallback(this);
        holder.setFixedSize(400, 300);
    }

    private void playVideo() {
        try {
            final String path = mPath.getText().toString();
            Log.v(TAG, "path: " + path);

            // If the path has not changed, just start the media player
            if (path.equals(current) && mp != null) {
                mp.start();
                return;
            }
            current = path;

            // Create a new media player and set the listeners
            mp = new MediaPlayer();
            mp.setOnErrorListener(this);
            mp.setOnBufferingUpdateListener(this);
            mp.setOnCompletionListener(this);
            mp.setOnPreparedListener(this);
            mp.setAudioStreamType(2);

            // Set the surface for the video output
            mp.setDisplay(mPreview.getHolder().getSurface());

            // Set the data source in another thread
            // which actually downloads the mp3 or videos
            // to a temporary location
            Runnable r = new Runnable() {
                public void run() {
                    try {
                        setDataSource(path);
                    } catch (IOException e) {
                        Log.e(TAG, e.getMessage(), e);
                    }
                    mp.prepare();
                    Log.v(TAG, "Duration:  ===>" + mp.getDuration());
                    mp.start();
                }
            };
            new Thread(r).start();
        } catch (Exception e) {
            Log.e(TAG, "error: " + e.getMessage(), e);
            if (mp != null) {
                mp.stop();
                mp.release();
            }
        }
    }

    /**
     * If the user has specified a local url, then we download the
     * url stream to a temporary location and then call the setDataSource
     * for that local file
     *
     * @param path
     * @throws IOException
     */
    private void setDataSource(String path) throws IOException {
        if (!URLUtil.isNetworkUrl(path)) {
            mp.setDataSource(path);
        } else {
            URL url = new URL(path);
            URLConnection cn = url.openConnection();
            cn.connect();
            InputStream stream = cn.getInputStream();
            if (stream == null)
                throw new RuntimeException("stream is null");
            File temp = File.createTempFile("mediaplayertmp", "dat");
            String tempPath = temp.getAbsolutePath();
            FileOutputStream out = new FileOutputStream(temp);
            byte buf[] = new byte[128];
            do {
                int numread = stream.read(buf);
                if (numread <= 0)
                    break;
                out.write(buf, 0, numread);
            } while (true);
            mp.setDataSource(tempPath);
            try {
                stream.close();
            }
            catch (IOException ex) {
                Log.e(TAG, "error: " + ex.getMessage(), ex);
            }
        }
    }

    public void onError(MediaPlayer mediaPlayer, int what, int extra) {
        Log.e(TAG, "onError--->   what:" + what + "    extra:" + extra);
        if (mediaPlayer != null) {
            mediaPlayer.stop();
            mediaPlayer.release();
        }
    }

    public void onBufferingUpdate(MediaPlayer arg0, int percent) {
        Log.d(TAG, "onBufferingUpdate called --->   percent:" + percent);
    }

    public void onCompletion(MediaPlayer arg0) {
        Log.d(TAG, "onCompletion called");
    }

    public void onPrepared(MediaPlayer mediaplayer) {
        Log.d(TAG, "onPrepared called");
    }

    public boolean surfaceCreated(SurfaceHolder surfaceholder) {
        Log.d(TAG, "surfaceCreated called");
        return true;
    }

    public void surfaceChanged(SurfaceHolder surfaceholder, int i, int j, int k) {
        Log.d(TAG, "surfaceChanged called");
    }

    public void surfaceDestroyed(SurfaceHolder surfaceholder) {
        Log.d(TAG, "surfaceDestroyed called");
    }
}


ta ai!

abssssss

Vitor Yudi Hansen

Tutorial Flex para Android em 90 minutos

vale a pena conferir o tutorial do site:

http://coenraets.org/blog/2010/12/tutorial-flex-for-android-in-90-minutes/

bem interessante para quem está inicando!
abs

Vitor Yudi Hansen

Analytics já informa audiência em tempo real

São Paulo — Quando anunciou um pacote de novidades no seu serviço Analytics, há cerca e um mês, o Google deu uma boa notícia a empresas em busca de uma boa ferramenta para medir a audiência instantânea de seus sites na web. O Analytics passou a medir o número de visitantes em tempo real, uma função que ainda está em fase de testes mas já pode ser usada.
Embora haja outras ferramentas com recursos mais avançados para a medição de audiência na internet, o Google Analytics mantém ampla liderança nessa área. Dados da empresa especializada Cardinal Path indicam que ele é usado por 45% das 500 maiores corporações dos Estados Unidos. Entre os sites de varejo, sua participação é de 64%.

Naturalmente, o fato de o Google Analytics ser gratuito – ao menos para sites com até 5 milhões de visitas por mês – é um atrativo. Além disso, ele é uma opção natural para quem faz campanhas publicitárias por meio do sistema de anúncios do Google. Mas Stéphane Hamel, especialista da Cardinal Path, diz a principal razão para o sucesso é que ele funciona bem.
“É veloz, simples, flexível, confiável e complementado por um amplo ecossistema de conhecimentos, serviços e ferramentas auxiliares”, escreveu ele no blog da empresa. Sem a medição instantânea, porém, o Analytics não atendia a sites que publicam informações em tempo real. O serviço fornecia dados com horas de atraso, que não serviam como base para ações imediatas.
Agora, é possível conferir quantas pessoas estão visualizando cada página em cada instante. O serviço também informa de onde vêm os visitantes. Ele lista, por exemplo, quantos chegaram até o site depois de clicar num anúncio ou passar por uma rede social ou um buscador. Ele ainda aponta, num mapa, onde as pessoas estão.
O acesso à medição em tempo real tem sido liberado de forma gradual aos usuários junto com a nova versão do Google Analytics. Quem ainda não tem acesso a essa nova versão pode fazer um cadastro no site do Google para obtê-la. Os recursos do Google Analytics antigo, como relatórios de audiência em períodos específicos, continuam disponíveis.

por :
http://info.abril.com.br/noticias/internet/analytics-ja-informa-audiencia-em-tempo-real-31102011-39.shl



Vitor Yudi Hansen

JavaOne

Em dezembro acontecerá o JavaOne Latin American Aqui on Brasil,

segue o link do evento:

http://www.oracle.com/openworld/lad-pt/index.html

Lembrando que por enquanto as inscrições para visitar os estandes é gratuita.

no dia custará 120,00

então garanta já a sua entrada!

absssssssssss


Vitor Yudi Hansen

Milestone 2 - Promoção.

O celular Milestone 2 está com uma super promoção,

por R$996,00 vale apena!!!
no Submarino

http://www.submarino.com.br/produto/11/23494922?&franq=303806

Vitor Yudi Hansen

sexta-feira, 28 de outubro de 2011

Vagas de emprego adobe Flex

------------------------------------------------------------------------------------------- São Paulo - SP - 21/10/11 Desenvolvedor Flex A Orbital Sistemas, empresa fornecedora de sistemas de rastreamento e despacho, contrata para início imediato programador com o seguinte perfil: Experiência com Flex Experiência com Banco de Dados Experiência com C#. Horário Comercial Tempo Indeterminado/Efetiva Favor encaminhar a pretensão Empresa .....: Orbital Sistemas Enviar curriculum para ...: vagas2011@orbitalsistemas.com.br ----------------------------------------------------------------------------------------------------------- São Paulo - SP - 21/10/11 Estágio Programação Java/Flex Empresa de informática,especializada em gestão empresarial(ERP), em ambiente web. Estamos ampliando nossa infra/estrutura de desenvolvimento JAVA, e necessitamos de uma pessoa com perfil para estagiário de programação nas linguagens java e flex. Perfil desejado: * Organizado, metódico, próativo * Fluência verbal * Boa redação * Conhecimentos acadêmicos em lógica de programação, standard sql * Conhecimento desejável em Java. Contratação através de contrato de estágio. Vínculo acadêmico obrigatório. Remuneração inicial: R$900. Carga horária : 6 hs diárias, das 09:00 as 16:00 com intervalo de 1:00 h para almoço. Empresa .....: Systemakers Informatica Ltda Enviar curriculum para ...:juliano@systemakers.com.br -------------------------------------------------------------------------------------------------------------- Alphaville - SP - 14/10/11 Analista Programador Flash Builder Empresa líder no segmento de saúde oferece 3 vagas para Analista Flex/Flash Builder, para trabalhar em tempo integral, a forma de contratação é PJ por tempo indeterminado. Requisitos: Conhecimento do framework Swiz, Flex 4, ter participado de projetos de grande porte Desejável conhecimento UX, ferramentas gráficas, Oracle e delphi Local de trabalho: Alphaville Empresa oferece salário compatível, fretado, ambiente propício a troca de experiências. Interessados enviar CV com pretensão PJ mensal. Empresa .....: Amil Saúde Enviar curriculum para ...: laertemartins@amil.com.br -------------------------------------------------------------------------------------------------------------- São Caetano - SP - 12/10/11 ANALISTA PROGRAMADOR JAVA Superior completo ou cursando Inglês leitura(básico) Acima de 2 anos de experiência Java Swing, JSP/IDE Eclipse/ FLEX/ VB ASP 3.0 Irá atuar com desenvolvimento de sistemas de aplicações desktop Web, utilizando Java, Eclipse, Tomcat, Glass Fish, JSP, Swing, Servlets e banco de dados SQL Server 2005/2008, Stored Procedures, Triggers, Functions Eclipse, atenderá demandas internas e externas, diferencial ter conhemcimento em CRM. A contratação será PJ. Informar valor hora Temos urgência no preenchimento da vaga. Empresa .....: Net Help Enviar curriculum para ...: fabio.silva@nethelp.com.br -------------------------------------------------------------------------------------------------------------- São José dos Campos - SP - 07/10/11 Desenvolvedor Java Experiência Profissional: Linguagens de programação(Java, Flex, Silverlight, Javascript ou C#), orientação a objetos Arquiteturas de sistemas Web, padrões de projeto, bancos de dados relacionais e linguagem SQL Desejável uma ou mais das seguintes tecnologias de desenvolvimento – Desktop (ArcObjects,ArcPy e Silverlight),Web(ArcGIS API for Flex, Silverlight e Javascript), Mobile(ArcGIS Mobile e ArcPad), TDD Disponibilidade para viagens. Formação Superior: Análise de Sistemas e afins. Inglês Avançado Empresa .....: Imagem Soluções de Inteligência Geográ Enviar curriculum para ...:veuzebio@img.com.br -------------------------------------------------------------------------------------------------------------- São Paulo - SP - 05/10/11 Desenvolvedor Java Experiência com Spring e Hibernate. Desejável conhecimento em Flex Adobe. Para atuar em uma instituição financeira localizada no Itam Bibi. Empresa .....: MSDevelop Enviar curriculum para ...:rhsp@develop.com.br -------------------------------------------------------------------------------------------------------------- São Paulo - SP - 04/10/11 Programador Java Empresa de informática, especializada em gestão empresarial (ERP), em ambiente web. Estamos ampliando nossa infra/estrutura de desenvolvimento JAVA, e necessitamos de uma pessoa com perfil para programador. Perfil desejado: * Conhecimento ambiente desenvolvimento ECLIPSE * Organizado, metódico, próativo * Fluência verbal * Boa redação * Necessários Java(experência minima de 6 meses), Comandos SQL. * Conhecimentos desejáveis * PL/SQL Oracle * Adobe Flex/ BlazeDS Contratação CLT, com VT+VR+PS+SV. Remuneração inicial até R$ 4000. Período integral das 8:30 as 18:00 com intervalo de 1:30hs para almoço Empresa .....: Systemakers Informatica Ltda Enviar curriculum para ...:juliano@systemakers.com.br -------------------------------------------------------------------------------------------------------------- Essas vagas são as do mês de outubro! Vitor Yudi Hansen

quinta-feira, 27 de outubro de 2011

Usando o Google Maps e GPS no Android

O mercado para Android está cada vez mais agitado, e a cada dia aparecem novas informações animadoras: a quantidade de novos aplicativos saltou de 2 mil para 9 mil por mês.
Isso não ocorre sem razão. A capacidade de usar os serviços do Google através do Android é excelente. Um dos capítulos mais interessantes do curso FJ-57 de Google Android é o que envolve fazer um mashup com o Google Maps, o GPS do seu celular e dados que gravamos nele. Essa tarefa se revela inicialmente bastante simples, e depois ainda possibilita inserir uma série de listeners e overlays para poder customizar o uso dos mapas.
Dado que você já sabe preparar o ambiente para um HelloWorld no Android, crie uma nova aplicação com uma activity chamada MapasSimples. Você vai precisar adquirir uma API KEY do Google Maps para poder ter a permissão de usá-lo em sua aplicação. Para isso, gere um MD5 da sua chave através do keytool (ou mesmo através do plugin do Android, usando a mesma do procedimento que você usa para assinar suas aplicações) para depois se inscrever no Google Android Maps API Key.

Depois desse passo, o Google vai ter fornecer uma chave de acesso, juntamento com um trecho de XML para ser usado na sua tela. No nosso caso, o main.xml ficará parecido com:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<com.google.android.maps.MapView
android:id="@+id/map_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:enabled="true"
android:clickable="true"
android:apiKey="SUA CHAVE DO GOOGLE MAPS"
/>
</LinearLayout>
Agora precisamos alterar a nossa atividade MapasSimples para, em vez de estender Activity, ser filha de MapActivity:
public class MapasSimples extends MapActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
protected boolean isRouteDisplayed() {
return false;
}
}
No nosso manifesto, precisamos avisar dentro de application que vamos usar a biblioteca do Google Maps:
<uses-library android:name="com.google.android.maps" />
E também precisamos permitir acesso a Internet, dentro da tag de manifest:
<uses-permission android:name=
"android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name=
"android.permission.INTERNET" />
Isso já é o suficiente para abrir o Google Maps, mas queremos ir além. Podemos adicionar diversos overlays ao mapa, para colocar informações como as pizzarias mais próximas, a bússola, a nossa posição atual de acordo com o GPS ou mesmo a posição de seus amigos.
Dentro do método onCreate pode adicionarmos um novo overlay ao mapa, que vai conter tanto a bússola quanto a nossa própria localização (ou de acordo com o GPS ou de acordo com a triangularização de antenas), de maneira simples:
MapView mapView = (MapView) findViewById(R.id.map_view) ;
mapView.setClickable(true) ;
MyLocationOverlay mlo = new MyLocationOverlay(this, mapView) ;
mlo.enableCompass() ;
mlo.enableMyLocation() ;
mapView.getOverlays().add(mlo) ;
Pronto! Você já pode gerar sua aplicação obtendo o seguinte resultado rodando em um celular Google

tirado do blog da Caelum

http://blog.caelum.com.br/usando-o-google-maps-e-gps-no-android/

Vitor Yudi Hansen