Domanda

Come è attualmente:

Sto facendo una piccola applicazione per i telefoni abilitati a Java ("Dumb-Phones" basato su Midlet, non Android). L'applicazione è strutturata come questa:

    .
  1. "infrastruttura", con funzionalità core
  2. Moduli di tipo A (Classes Implementening Interface ModuleA)
  3. Moduli di tipo B (lezioni di implementazione dell'interfaccia di implementazione ModuleB)
  4. Moduli di tipo A e B sono fondamentalmente classi che vengono istantanea nell'infrastruttura basata su ciò che l'utente sceglie da un elenco, e fanno cose nel loro modo specifico. Pensa "Strategy Pattern". Quando l'utente utilizza l'applicazione, esplora le schermate fornite dall'infrastruttura, arriva quindi a un elenco di moduli di tipo A (vede i loro titoli). Poi sceglie uno dei moduli, che ottiene istanziati e fa qualcosa per lei.

    Cosa desidero per

    Mi stavo chiedendo se è possibile (e se sì, come) per confezionare l'intera infrastruttura in un file JAR, ma conservare i moduli di tipo A e moduli di tipo B in altri file JAR, che possono essere installati sul dispositivo in il futuro (come componenti aggiuntivi per l'infrastruttura). Sto pensando a questo scenario:

      .
    1. L'utente installa l'infrastruttura
    2. L'utente installa il componente aggiuntivo "Avviatore", che è disponibile contemporaneamente all'infrastruttura
    3. Settimane dopo, un nuovo componente aggiuntivo viene creato dallo sviluppatore, come "Moduli speciali natalizi", che l'utente potrebbe installare, quindi l'infrastruttura, già installata sul suo dispositivo , elencherà il Moduli nell'add-on
    4. Un anno dopo, è pubblicato un altro componente aggiuntivo, contenente moduli con altre caratteristiche e idee
    5. Innanzitutto, tali componenti aggiuntivi possono essere installati su un dispositivo mobile? Devono contenere una classe midlet (non fare nulla o notare l'infrastruttura)? L'infrastruttura potrebbe rilevare quei vasi che contengono componenti aggiuntivi per la mia applicazione? O potrebbe l'infrastruttura interagire con le lezioni imballate in altri barattoli?

      Nota: solo il barattolo dell'infrastruttura conterrebbe un'utile classe midlet. Inoltre, i componenti aggiuntivi contengono qualsiasi combinazione di moduli di tipo A e moduli di tipo B.

      Possibile soluzione? (incompleto, però)

      Forse i componenti aggiuntivi possono guardare, agire e odorare come un'applicazione midlet per il dispositivo stesso, in modo che possano essere installati come qualsiasi normale applicazione midlet. I componenti aggiuntivi potrebbero dichiararsi come parte della stessa suite dell'infrastruttura, in modo che possano informare la loro presenza all'infrastruttura scrivendo alla sua storage di registrazione (capisco che c'è un archiviazione record per Midlet Suite ). L'infrastruttura legge i nuovi record e sa che ha moduli extra ora. Potrebbe accedere alle classi raggruppate in barattoli Add-on Midlet e istanziali?

È stato utile?

Soluzione

Quello che stai descrivendo per raggiungere non è supportato dalle specifiche MIDP.Tra le altre cose, non puoi avere diversi vasetti appartenenti alla stessa suite midlet.

Se si desidera ottenere qualche tipo di modularità, è necessario utilizzare un diverso runtime.Uno che ti definisci e che può essere implementato all'interno di un midlet.

È possibile scrivere un Mostro che scarica i file binari quando diventano disponibili.Lo stesso midlet può interpretare questi file binari.I file binari possono contenere comandi che cambiano il comportamento del Midlet.Midlet ha bisogno di supportare tutte le possibili azioni che i file binari lo chiedono di eseguire (un Midlet può essere aggiornato, però).

Fondamentalmente, all'interno del tuo Midlet, è necessario codificare una macchina virtuale che è un'implementazione di un runtime per qualsiasi nuova lingua di programmazione che definisci.

Questo sarà un sacco di lavoro.Puoi finire molto bene per fare un midlet che è troppo grande da installare su un sacco di telefoni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top