Ingeniero Cognitivo
Active Member
¿Como puedo obtener la ruta de mi aplicacion?.
Gracias.
Gracias.
Globals:
Private xui As XUI '--> libreria B4X
use:
xui.DefaultFolder
xui.SetDataFolder
No. Eso me muestra en que memoria esta pero no la carpeta donde esta la aplicacion.Supongo que te refieres a la interna, prueba así:
B4X:File.DirInternal
Estoy totalmente de acuerdo Oparra, yo también creo que es recomendable utilizar código que valga para las tres plataformas, pero ¿Has comprobado si devuelve la misma ruta?No. Eso me muestra en que memoria esta pero no la carpeta donde esta la aplicacion.
¿Qué es lo que quieres hacer?Eso me muestra en que memoria esta pero no la carpeta donde esta la aplicacion
Estoy totalmente de acuerdo Oparra, yo también creo que es recomendable utilizar código que valga para las tres plataformas, pero ¿Has comprobado si devuelve la misma ruta?
Acceder a la carpeta donde se ejecuta la aplicacion para crear una base de datos en esa carpeta. De momento esta resuelto. Gracias.¿Qué es lo que quieres hacer?
usted necesita saber la información del PackageManager de su APP.¿Como puedo obtener la ruta de mi aplicacion?.
Gracias.
Dim ctxt As JavaObject
ctxt.InitializeContext
Dim jpm As JavaObject = ctxt.RunMethod("getPackageManager", Null)
Dim pm As PackageManager
For Each pck As String In pm.GetInstalledPackages
Dim ApplicationInfo As JavaObject = jpm.RunMethod("getApplicationInfo", Array(pck, 0))
Log($"Package: ${pck}, Path: ${ApplicationInfo.GetField("publicSourceDir")}"$)
Next
ejemplo que puede ayudarte:
y lo demás esta en lo que buscas.
B4X:Dim ctxt As JavaObject ctxt.InitializeContext Dim jpm As JavaObject = ctxt.RunMethod("getPackageManager", Null) Dim pm As PackageManager For Each pck As String In pm.GetInstalledPackages Dim ApplicationInfo As JavaObject = jpm.RunMethod("getApplicationInfo", Array(pck, 0)) Log($"Package: ${pck}, Path: ${ApplicationInfo.GetField("publicSourceDir")}"$) Next
View attachment 103985
Dim ctxt As JavaObject
ctxt.InitializeContext
Dim jpm As JavaObject = ctxt.RunMethod("getPackageManager", Null)
Dim ApplicationInfo As JavaObject = jpm.RunMethod("getApplicationInfo", Array(Application.PackageName, 0))
Log($"Package: ${Application.PackageName}, Path: ${ApplicationInfo.GetField("publicSourceDir")}"$)
Entonces la primera respuesta que te dio angel es correcta.Acceder a la carpeta donde se ejecuta la aplicacion para crear una base de datos en esa carpeta. De momento esta resuelto. Gracias