Noticias

Foros

Aplicaciones

Vídeos

Manuales

Buscar

Registrese

Identifiquese

FO R O

MEN SAJE

USUAR IO

Pro blemas pro gramando en ... Pro blemas pro gramando en ... Aplicacio nes Pro blemas pro gramando en ...

pro blemas co n el tamaño de la pantalla Có mo o btener items seleccio nado s en ListView co n C... Scan a PDF Enviar un fichero mediante POST

jchunly mblasco g abegiris tprieto
[+]

Foros

Consigue tu camiseta aquí

Abrir PDF desde código
And ro id In- Ap p Payme nt s
Ac c e p t p ayme nts in yo ur ap p . Do wnlo ad PayPal' s And ro id lib rary! www.x.c o m/mp l

Lo cal C o up o ns
1 rid ic ulo us ly hug e c o up o n a d ay. G e t the b e s t o f yo ur c ity @9 0 % o ff! www.G ro up o n.c o m

Andro id In-App paym e nt s Free fo r develo pers, live in 50 + co untries wo rldwide.
us .fo rtumo .c o m/in-ap p -p ayme nts

Índ ice d e l Fo ro www.And ro id - Sp a.co m - > Pro b le mas p ro g ramand o e n And ro id
Mo s trar me ns aje s ante rio re s :

Todos los mensajes

El más antiguo primero

Ir

lucky_luck

Pub lic ad o : Sab Ag o 28 , 20 10 6 :59 p m

T ít ulo de l me nsaje : Ab rir PDF d e s d e c ó d ig o

Me ns aje s : 118

Ho la a to do s. Esto y haciendo una aplicació n para envío de PDF desde un PC a un terminal de andro id. Está el envío y co municacio nes finalizado . El pro blema me surge en la necesidad de abrir el pdf una vez recibido . He pro bado a abrirlo a través del navegado r usando Go o gle Do cs PDF viewer, sin suerte:
C ó d ig o : PDFmyURL.com

int entrada.println("LocalHost = " + ss. Muchas gracias. System. intent. } catch (IOException ioe) { System. try { // Establecemos el puerto por el que escucharemos peticiones. C ó d ig o : public static void main(String args[]) { ServerSocket ss = null.getAbsolutePath() ))). investigar y deducir.err.category.action. 20 10 10 :33 am T ít ulo de l me nsaje : Co ns e g uid o !!!!! Me ns aje s : 118 Bueno .println("Error al abrir el socket de servidor : " + ioe).getLocalPort()). al final y despues de mucho rebuscar.intent. PDFmyURL.com/gview?embedded=true&url=" + fichero. Empezaré co n el có digo java: CODIGO JAVA.intent. Co mparto el có digo del pro yecto . Po r cierto . lucky_luck Pub lic ad o : Mar Ag o 31. intent.out.intent. } //Mensaje para saber quien somos y puerto por el que escuchamos. while (true) { try { // El hilo se parará aquí hasta que tengamos entrada de datos.com . ha co stado .google. long salida. co lgaré el có digo fuente para que po dáis usarlo para lo que necesitéis.parse( "http://docs.setAction(getIntent(). startActivity(intent). ss = new ServerSocket(50001).exit(-1).getAction()). lo he lo grado .intent-filter action android:name="android. ¿Se o s o curre alguna fo rma? ¿Existe alguna aplicació n que permita abrir un PDF desde nuestro có digo ? No ta. Luego ha resultado que es una cho rrada.setData(Uri.DEFAULT"/ category android:name="android.BROWSABLE"/ /intent-filter Intent intent = new Intent(). System.category. pero carajo . cuando lo tenga 10 0 % funcio nando .VIEW"/ data android:scheme="http" android:mimeType="application/pdf"/ category android:name="android.

// El hilo se parará aquí hasta que tengamos entrada de datos. PDFmyURL. dos. } // Cerramos todas las conexiones con el cliente. CODIGO ANDROID. DataInputStream dis = new DataInputStream(sckt.out. pero podemos espera datos de autenticación si en nuestra aplicación fuera necesario. DataOutputStream dos = new DataOutputStream(sckt. tan so lo en la transferencia y co nexió n po r udp y la llamada al intent para que me abra el pdf.err.close(). // de forma que esperamos recibir datos(furralla) para tener la // información del cliente para luego enviarle los datos.getPort(). while (offset < bytes.getInetAddress(). } catch (Exception e) { System.length-offset)) >= 0) { offset += numRead.read(bytes.close().length) { throw new IOException("No puede completar la lectura del fichero "+fichero. File fichero = new File("C:\\preview2.length && (numRead=is.close(). // Lo hacemos así para que sea el "cliente" quien conecte y no el servidor.readInt(). long length = fichero. int offset = 0. if (length > Integer. InputStream is = new FileInputStream(fichero).write(bytes).println(new String(bytes)). sckt. System.close(). int puerto = sckt.com . offset.getInputStream()). // recibimos los datos(furralla). InetAddress direcc = sckt. bytes.pdf"). } if (offset < bytes. Me centraré en lo impo rtante.length(). is. Socket sckt = ss.accept(). C ó d ig o : // Este es el código para recibir el pdf y almacenarlo en la tarjeta de memoria.MAX_VALUE) {} byte[] bytes = new byte[(int)length]. dos. } } } Aho ra el có digo de Andro id. dis.getOutputStream()). // Retornamos los datos del fichero en array de byte al terminal.getName()). entrada = dis. int numRead = 0.println("Se ha producido la excepción : " + e).

count = fis.io. }finally{ try{ // ¡¡¡¡ MUY IMPORTANTE !!!! // Es necesario cerrar todos los ficheros que usemos. Log. Log. FileOutputStream fOut = null.close(). try { fOut=new FileOutputStream("sdcard/samplefile. de otra forma no podríamos abrir el fichero con otra aplicación hasta que // no se cierre el Activity actual y mate todas las conexiones.InputStream fis = null.VISIBLE).toString()). java. } catch (Exception e) { Log.d("TCP". "Enviando. progressBar.length)..setVisibility(View.toString()).read(buffer.d("TCP". "error " + e. byte[] buffer = new byte[8 * 1024].112".VISIBLE). PrintWriter salida = null. sk. incluidas las "conexiones con los fichero". Log.getInputStream().168. texto. // Está es la maquina Java (servidor) donde está el pdf. } catch (Exception es) { Log. "Fin.getOutputStream()).close().d("TCP". fOut."Error leyendo fichero "+es). count). " socket " + server + " " + port).println("codigovalidacion"). port). salida = new PrintWriter(new OutputStreamWriter(sk.INVISIBLE). int port = 50001.valueOf(count)).printStackTrace(). salida. int count = 0. // mensaje a consola eclipse Log.. texto. es. buffer.. 0.setVisibility(View. } } PDFmyURL. true )..d("TCP". total datos recibidos="+String."). Log. } } catch (Exception e) { // TODO: handle exception. "error " + e. progressBar.close().d("TCP".com .d("TCP".1. 0. fis = sk.String server = "192. do { fOut.pdf").write(buffer.").INVISIBLE).close(). // el puerto del servidor. Socket sk = null. salida. fis.setVisibility(View. "Datos recibidos.d("TCP".setVisibility(View. try { sk = new Socket(server. } while (count != -1).

co m .pdf")).com . "application/pdf"). C ó d ig o : public void abrirPDF(){ Intent intent = new Intent(). intent.finish(). intent.Sp a.setDataAndType(Uri.intent.intent. startActivity(intent).BROWSABLE" /> <data android:scheme="http" android:mimeType="application/pdf" /> </intent-filter> </activity> Y en el có digo del create llamamo s a la funció n que abre directamente el PDF.ACTION_VIEW).VIEW" /> <category android:name="android.category.DEFAULT" /> <category android:name="android.fromFile(new File("sdcard/samplefile.Intent.setAction(android.intent.category. Este có digo buscará en el sistema el pro grama que sea capaz de abrir el tipo de archivo pdf. } Índ ice d e l Fo ro www.Có digo para abrir el pdf una vez recibido .intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK).DEFAULT").this.action. Para ello llamaremo s a un nuevo o bjeto que hemo s creado previamente y lo estableceremo s de la siguiente fo rma en el Andro id Manifest: C ó d ig o : <activity android:name=". String category = new String("android. intent.> Pro b le mas p ro g ramand o e n And ro id Pág ina 1 d e 1 To d as las ho ras e s tán e n G MT + 2 Ho ras Ve r t e ma ant e rio r :: Ve r sig uie nt e t e ma Saltar a: Problemas programando en Android Ir No pue de c re ar me ns aje s PDFmyURL. MostrarPdf.content.category.And ro id .MostrarPdf" android:label="@string/app_name"> <intent-filter> <action android:name="android.

com .No pue de re s p o nd e r te mas No pue de e d itar s us me ns aje s No pue de b o rrar s us me ns aje s No pue de vo tar e n e nc ue s tas Powered by Android-SPA Team & PHPbb PDFmyURL.

Sign up to vote on this title
UsefulNot useful