2 votes

gomobile comment intégrer des actifs dans l'apk

Lors du développement avec gomobile pour Android. Comment puis-je inclure des actifs (html, js, images) à l'intérieur du fichier apk ? J'ai un serveur web qui fonctionne à l'intérieur de l'apk ainsi qu'avec go run, mais lorsqu'il est empaqueté à l'intérieur de l'apk sur le téléphone, le service ne peut pas trouver ses actifs/fichiers statiques.

3voto

Everton Points 2136

Vous devez placer vos actifs dans un répertoire appelé "assets".

Voir cet exemple :

https://github.com/udhos/fugo/tree/master/demo/invader/assets

Vous pouvez alors utiliser le paquet golang.org/x/mobile/asset pour charger la ressource souhaitée :

import "golang.org/x/mobile/asset"

f, err := asset.Open("image.png")

Exemple de code tiré de https://github.com/udhos/fugo/blob/master/demo/invader/main.go :

func loadFull(name string) ([]byte, error) {
    f, errOpen := asset.Open(name)
    if errOpen != nil {
        return nil, errOpen
    }
    defer f.Close()
    buf, errRead := ioutil.ReadAll(f)
    if errRead != nil {
        return nil, errRead
    }
    log.Printf("loaded: %s (%d bytes)", name, len(buf))
    return buf, nil
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X