Download the free trial version
Basic4android Video
Features
Tutorials and manuals
Showcase
Screenshots

Go Back   Android Development Forum - Basic4android > Foreign Languages > Spanish Forum
Documentation Wiki Register Members List B4P Search Today's Posts Mark Forums Read

¿Cómo llamar a un fichero para que lo abra con el visor predeterminado?

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 08-06-2011, 07:23 PM
Junior Member
 
Join Date: Aug 2011
Posts: 39
Default ¿Cómo llamar a un fichero para que lo abra con el visor predeterminado?

Hola:

Estoy haciendo una aplicación que ha de ser capaz de abrir libros en formato fb2 al pulsar sobre su portada. La forma de llamarlos debería ser la misma que tiene FileExpert: o bien que abra CoolReader directamente o bien que pregunte con qué aplicación se desea abrir, y que muestre una lista de aplicaciones disponibles.

La duda que tengo es cómo se hace para llamar a un fichero para que lo "ejecute", es decir, para que lo abra con su visor predeterminado. Supongo que será sencillo, pero no encuentro la forma de hacer la llamada, y mirando los títulos de los tutoriales no he visto ninguno que parezca hacer algo así.

Muchas gracias por adelantado, y perdonad si esto ya se ha respondido en algún otro sitio.
Reply With Quote
  #2 (permalink)  
Old 08-07-2011, 06:18 PM
Junior Member
 
Join Date: Aug 2011
Posts: 39
Default

Con la ayuda de Erel ha quedado resuelto. Os dejo el código para llamar a un fichero fb2 cuyo nombre es "Fronteras [1234].fb2". La primera vez aparece la lista de aplicaciones capaces de leer ficheros MIME de tipo texto (entre ellas, CoolReader). Si se memoriza ese programa como el que hay que usar por defecto, las siguientes ejecuciones lo abren directamente.

He incluido una función de cosecha propia para cambiar los espacios, signos especiales y signos prohibidos por sus códigos hexadecimales. ¡Ojo! No cambiéis el orden (el % ha de ser el primero en tratarse, o se cargará el resto de % de los valores hexadecimales). El único signo que no trata es la comilla doble ("), por razones relativas al programa que estoy haciendo.



Sub PonerURL(sCadena As String) As String
Dim i As Long
Dim sAux As String
Dim StrOrg() As String
Dim StrDst() As String

StrOrg = Array As String("%", "!", "#", "$", "&", "'", "(", ")", "*", "+", ",", "/", ":", ";", "=", "?", "@", "[", "]", " ", "<", ">", "\", "^", "`", "{", "|", "}", "€", "‚", "ƒ", "„", "…", "†", "‡", "ˆ", "‰", "Š", "‹", "Œ", "Ž", "‘", "’", "“", "”", "•", "–", "—", "˜ ", "™", "š", "›", "œ", "ž", "Ÿ", "¡", "¢", "£", "¥", "|", "§", "¨", "©", "ª", "«", "¬", "¯", "®", "¯", "°", "±", "²", "³", "´", "µ", "¶", "·", "¸", "¹", "º", "»", "¼", "½", "¾", "¿", "À", "Á", "Â", "Ã", "Ä", "Å", "Æ", "Ç", "È", "É", "Ê", "Ë", "Ì", "Í", "Î", "Ï", "Ð", "Ñ", "Ò", "Ó", "Ô", "Õ", "Ö", "Ø", "Ù", "Ú", "Û", "Ü", "Ý", "Þ", "ß", "à", "á", "â", "ã", "ä", "å", "æ", "ç", "è", "é", "ê", "ë", "ì", "í", "î", "ï", "ð", "ñ", "ò", "ó", "ô", "õ", "ö", "÷", "ø", "ù", "ú", "û", "ü", "ý", "þ", "ÿ")
StrDst = Array As String("%25", "%21", "%23", "%24", "%26", "%27", "%28", "%29", "%2A", "%2B", "%2C", "%2F", "%3A", "%3B", "%3D", "%3F", "%40", "%5B", "%5D", "%20", "%3C", "%3E", "%5C", "%5E", "%60", "%7B", "%7C", "%7D", "%80", "%82", "%83", "%84", "%85", "%86", "%87", "%88", "%89", "%8A", "%8B", "%8C", "%8E", "%91", "%92", "%93", "%94", "%95", "%96", "%97", "%98", "%99", "%9A", "%9B", "%9C", "%9E", "%9F", "%A1", "%A2", "%A3", "%A5", "%A6", "%A7", "%A8", "%A9", "%AA", "%AB", "%AC", "%AD", "%AE", "%AF", "%B0", "%B1", "%B2", "%B3", "%B4", "%B5", "%B6", "%B7", "%B8", "%B9", "%BA", "%BB", "%BC", "%BD", "%BE", "%BF", "%C0", "%C1", "%C2", "%C3", "%C4", "%C5", "%C6", "%C7", "%C8", "%C9", "%CA", "%CB", "%CC", "%CD", "%CE", "%CF", "%D0", "%D1", "%D2", "%D3", "%D4", "%D5", "%D6", "%D8", "%D9", "%DA", "%DB", "%DC", "%DD", "%DE", "%DF", "%E0", "%E1", "%E2", "%E3", "%E4", "%E5", "%E6", "%E7", "%E8", "%E9", "%EA", "%EB", "%EC", "%ED", "%EE", "%EF", "%F0", "%F1", "%F2", "%F3", "%F4", "%F5", "%F6", "%F7", "%F8", "%F9", "%FA", "%FB", "%FC", "%FD", "%FE", "%FF")

sAux = sCadena
For i = 0 To StrOrg.Length-1
sAux = sAux.Replace(strOrg(i), strDst(i))
Next

Return sAux
End Sub


Sub Button1_Click
Dim inAct As Intent
Dim s As String

' El libro a abrir está en /sdcard/ y se llama Fronteras [1234].fb2
s = "Fronteras [1234].fb2"

' Cambiamos los caracteres reservados y prohibidos en la URL por sus códigos
s = PonerURL(s)

inAct.Initialize(inAct.ACTION_VIEW, "file:///sdcard/"&s)
inAct.SetType("text/*")
Try
StartActivity(inAct)
Catch
ToastMessageShow("No puedo abrir el fichero.", True)
End Try
End Sub
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
Exemplos Voltados para Aplicações Comerciais, Como Força de Vendas ?? bragab4br Portuguese Forum 5 12-12-2011 09:00 AM
Compilar para otras plataformas? Domingo Spanish Forum 4 07-30-2010 07:00 PM
Librerias para mandar/recibir SMS jiorgi Spanish Forum 10 06-03-2009 06:24 PM
Para Manu, Picard y otros más. Fernando Spanish Forum 1 04-11-2009 12:01 AM
salvar un fichero csv manu Spanish Forum 0 08-09-2007 11:33 PM


All times are GMT. The time now is 12:55 PM.


Powered by vBulletin® Version 3.6.12
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0