entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Bueno quisas es mucho pedir, pero es que la verdad no e encontrado algo que me oriente a desarrollar una aplicacion que sea capaz de controlar power point desde mi celular para no estar cambiando alas presentaciones con la PC y asi tener mejor una precentacion. loque pasa que e provado varias aplicaiones y no me funcionan y no hay nada mejor algo que se crea con algo que se conose.

1 Respuesta

2votos

white Puntos75880

Hola @codeando, si te entendí bien, entonces lo que necesitas es obtener los eventos de power point, para ello necesitaras una librería que invoque un componente COM/Activex

para el control desde un dispositivo móvil se me ocurre que mantengas una conexion entre el dispositivo tcp/udp y el computador, la idea es conectar por wifi o lan al computador y enviar paquetes para que la aplicacion de escritorio haga lo demás.

Sobre la librería para controles Activex, existen algunas como:

  • swt
  • jacob
  • com4j

te daré un ejemplo con Jacob

Antes descargate la libreria: http://sourceforge.net/projects/jacob-project/ junto con los binarios.

Primero vamos a crear un componente Activex por el CLSID o el id del programa.

public static void main(String[] args)
{
    ActiveXComponent ppt = new ActiveXComponent("PowerPoint.Application");

Ahora vamos a obtener un objeto "Presentations" y abrir un archivo .ppt

    String pptFile = "D:\\test.pptx";
    ActiveXComponent presentation = presentations.invokeGetComponent(
                                        "Open", new Variant(pptFile), new Variant(true));
    ActiveXComponent setting = presentation.getPropertyAsComponent("SlideShowSettings");
    setting.invoke("Run");

en definitiva llamamos al método Open del objeto Presentations

Ahora invoquemos al método Next del objeto ActivePresentation -> SlideShowWindow -> View

    ActiveXComponent nextSlide = ppt
            .getPropertyAsComponent("ActivePresentation")
            .getPropertyAsComponent("SlideShowWindow")
            .getPropertyAsComponent("View");
    nextSlide.invoke("Next");

Todo el codigo junto:

import com.jacob.com.*;
import com.jacob.activeX.*;

public static void main(String[] args)
{

    ActiveXComponent ppt = new ActiveXComponent("PowerPoint.Application");

    ppt.setProperty("Visible", new Variant(true));
    ActiveXComponent presentations = ppt.getPropertyAsComponent("Presentations");

    String pptFile = "D:\\test.pptx";
    ActiveXComponent presentation = presentations.invokeGetComponent(
                                        "Open", new Variant(pptFile), new Variant(true));
    ActiveXComponent setting = presentation.getPropertyAsComponent("SlideShowSettings");
    setting.invoke("Run");        

    ActiveXComponent nextSlide = ppt
            .getPropertyAsComponent("ActivePresentation")
            .getPropertyAsComponent("SlideShowWindow")
            .getPropertyAsComponent("View");
    nextSlide.invoke("Next");

    ComThread.Release();
}

como resultado la aplicacion en java abre el fichero test.pptx, lo inicializa, y pasa a la segunda diapositiva,
todo esto con java y sin necesidad de J# por ejemplo!


Links de interes:


saludos!

0voto

codeando comentado

gracias por respondern, perdon por no poner que era por via bluetooth. gracias cres poder ayudarme saludos

0voto

white comentado

Ánimate a crear el servidor ( pc ) y el cliente ( android ), tienes opciones usando sockets tcp.
Ya que dices usar bluetooth podrías ver el perfil puerto serie ( SPP ) ( http://es.wikipedia.org/wiki/Perfil_Bluetooth#Serial_Port_Profile_.28SPP.29 )

http://androideity.com/2012/08/05/sockets-en-android/
http://digitalhacksblog.blogspot.com/2012/05/android-example-bluetooth-simple-spp.html

saludos!

0voto

codeando comentado

muchas gracias

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta