Una caratteristica della mia applicazione Android è consentire agli utenti di scegliere le risorse grafiche da una vista galleria. Ogni asset è fisicamente definito da un singolo file JSON sul file system. L'applicazione viene spedita con un set di queste risorse. Allo stato attuale, lo schema è molto semplice e grezzo: l'applicazione presenta all'utente un elenco di nomi di file di tali risorse in un elenco semplice che l'utente può selezionare.
Quello che voglio ottenere è la categorizzazione in "tema", "tipo" e "nome". Inoltre, vorrei implementare la condivisione di risorse personalizzate e create dall'utente attraverso un server centrale.
Sto considerando l'utilizzo di un tipo di schema URI per queste risorse, con la seguente struttura:
[Autore] [tema] [type] [nome]
Gli obiettivi dello schema URI sarebbero:
- Avere un singolo spazio dei nomi per identificare le risorse (il server regolerebbe la parte
author
dell'URI di un meccanismo di registrazione). (Questo è importante perché gli utenti potrebbero anche condividere la "tela" su cui hanno collocato le risorse, pertanto l'app deve poter individuare le risorse utilizzate al suo interno.) - Facilitare le richieste REST al server per la condivisione delle operazioni tra utenti.
- Il visualizzatore di raccolte asset può automaticamente classificare le risorse in autore, tema e tipo utilizzando lo schema URI.
- Consenti a temi e nomi di risorse di essere in qualsiasi lingua. Intendo usare% -encoding per supportare i caratteri Unicode.
Il punto cruciale della mia domanda è precisamente quale sintassi URI dovrei usare e come la utilizzo. In particolare:
- Qual è il modo "migliore" per assegnare nomi di file alle risorse? Dovrei usare un tipo di nome del file di notazione del nome di dominio inverso, ad es.
joebloggs.mytheme.widgets.awidget
, o forse farlo in modo Java e chiamare il fileawidget
e dichiarare un "pacchetto"joebloggs.mytheme.widgets
all'interno del file stesso? - Sarebbe bello se l'URI fosse in grado di tradurre direttamente in qualche modo per richiedere percorsi quando facevano richieste REST HTTP per tirare o spingere risorse.
Sarei particolarmente riconoscente per ogni esempio reale di casi d'uso che sembrano simili a quelli che posso guardare come riferimento.