[RESOLVIDO] Manter Botão pressionado android

Salve galerinha!

Bem galera…
Estou desenvolvendo um APP para android para controlar o mouse(e futuramente o teclado) de um PC via socket…

Bem… Eu criei 4 botões…
1 para fazer o mouse ir para cima
outro para direita…

E 1 botão para clickar…

Bem… quando a pessoa pressiona o botão e solta ele está enviando beleza o comando… Mas se a pessoa ficar segurando ele só move o mouse quando o cara soltar o bt…

Mas como fazer para que enquanto a pessoa esteja pressionando o botão, a cada(sei lá) 1/10 seg ele movimente o mouse??

Estou usando este codigo:

[code]btCima.setOnClickListener(new View.OnClickListener() {

		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			if(conectado){
				try {
					con.streamSaida.writeUTF("mC");
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
	});[/code]

Grato pela atenção!
Fiquem com DEUS!

Você precisa usar um outro evento que seja disparado antes do usuário soltar o botão. Não conheço bem esta parte da API do Android, mas dê uma olhada no onKeyDown:

http://developer.android.com/reference/android/view/View.html#onKeyDown(int, android.view.KeyEvent)

Mas cara esse onKeyDown é enquanto uma “tecla”(fisico) é pressionada né??

Mas eu preciso de quando o usuario pressionar um “botão”(virtual), entendes??

Mas muito obrigado pela tua atençao!

Fica com DEUS!

Voce pode usar o onTouchEvent e tratar ACTION_DOWN e ACTION_UP.

Eu tava pensando em usar o onTouchListener mesmo…

E criar uma Thread para verificar… se o bt estiver pressionado ele envia o comando via o Socket…

Essa é a melhor forma??

Vou fazer aqui e depois posto como ficou o codigo para a galera…

Grato pela atenção:!:

Galerinha eu fiz assim:

Por a conexao ser via Socket… Para não sobrecarregar muito o celular… Eu apenas criei um comando para o celular enviar para o servidor começar a mover o mouse e outro para enviar para o servidor parar de mover o mouse…

No servidor é rodada uma Thread q a cada 0,6 seg ele checa um boolean se é para mover o mouse para cima, para baixo, …

Ficou marromeno assim:

[code]btBaixo.setOnTouchListener(new View.OnTouchListener() {

		@Override
		public boolean onTouch(View v, MotionEvent event) {
			
			if(event.getAction() == MotionEvent.ACTION_DOWN){ // Quando o bt é pressionado
				if(conectado){								  // Checa se está conectado
					try {									  // Se sim
						con.streamSaida.writeUTF("mB");		  // Escreve para o servidor comecar a mover o mouse
					} catch (IOException e) {				  // Exeption de IO ;)
						e.printStackTrace();				  // Retorna o exeption
					}
				}
	        }
			
			if(event.getAction() == MotionEvent.ACTION_UP){   // Quando o bt é "solto"
				if(conectado){								  // Checa se está conectado
					try {									  // Se sim
						con.streamSaida.writeUTF("nB");		  // Escreve para o servidor parar de mover o mouse
					} catch (IOException e) {				  // Exeption de IO ;)
						e.printStackTrace();				  // Retorna o exeption
					}
				}
	        }
			
			return false;				  					  // Retorna false o onTouch
		}
	});[/code]

Muito obrigado pela atenção de todos!

Fiquem com DEUS:!:

landantas, eu vi que já faz tempo que já fez esse pergunta. Mas acontece que estou querendo criar um programa parecido com o seu, teria como me dizer como faço para enviar arquivos via socket no android?