Italian Importare codice java in libreria

tonysp83

Member
Licensed User
Longtime User
Salve ragazzi.. Avrei bisogno di un informazione: ho il codice java di un'app molto bella che ho trovato su internet.. Dovrei importarla in b4a.. In rete ho letto che è possibile farlo creando una libreria per b4a.. Ho trovato un tutorial che spiega come fare ciò.. Ma non ho capito come procedere a caricare all' interno di essa il sorgente java e come visualizzarlo poi in codice su B4A.. Qualcuno ne sa qualcosa??

Grazie
 

LucaMs

Expert
Licensed User
Longtime User
Ho visto già la tua domanda.

Non è una cosa semplicissima. Anche io ho visto quel tutorial che però specifica di usare codice Java, non esattamente per Android. Feci una domanda simile, ma ... nada.

Prova a postare la domanda in "Questions".

Ah, oltretutto, dipende anche da dove hai trovato il codice. Ci sono modi strani per scaricare i sorgenti Java, i Repository!
 

tonysp83

Member
Licensed User
Longtime User
Guarda Luca, il tutorial di cui ti parlo, usa eclipse per creare la libreria, poi apre b4a e la varca come se fosse una libreria standard, ma proprio sul più bello, finisce il video.. A mio avviso ha creato una libreria che faceva qualcosina, ma non so.. Il file di cui ti parlo, fa parte di un app open apk che io ho decompilato e poi rimesso assieme con tutte le classi.. Ho scritto ad Erel ma mi ha risposto che se non conosco java, non si può fare nulla.. Tu hai mai creato una libreria?? Sai come si carica all'interno il codice??
 

LucaMs

Expert
Licensed User
Longtime User
Ho usato Eclipse e Java, molti mesi fà, e poi ho abbandonato per B4A :)

In questo momento ho cercato, per aiutare te ma anche me ;) e ho trovato questa guida, almeno per scaricare sorgenti da un repository.

http://android.devapp.it/configurar...sfruttare-le-librerie-open-source-disponibili

Dopo questo, però, trasformare il tutto per B4A è un'impresa. Il tutorial preparato da Erel, se è quello a cui ti riferisci, creava una semplice libreria, con un calcolo matematico, se non ricordo male, ma era appunto una cosetta troppo semplice (comunque era completo), convertire un progetto completo (sempre che sia per Android, ma nel tuo caso lo è) sarà molto complicato.

Spero ti possano aiutare altri. Interesserebbe anche me, ma penso che non valga la pena scervellarsi su questo. Casomai, utilizzare direttamente Java con Eclipse.
 

tonysp83

Member
Licensed User
Longtime User
Hai perfettamente ragione.. È un impresa, ma a me piace il rischio?? :) adesso mi studio quello che mi hai passato!! Cmq ti vorrei chiedere due cose: cos'è il repository??
Poi, nel video di Erel, quando ha caricato quella libreria l'ha usata come una normale libreria standard semplicemente richiamandola? O ha visualizzato tutto il codice java convertito in BASIC ?? GraZie ancora
 

Spinter

Active Member
Licensed User
Longtime User
guarda ti consiglio di installare eclipse trovi vari tutorial su youtube ! come tutte le programmazioni è semplicissima creare una libreria con una semplice funzione.
io ho scaricato sdk di android e dentro avevo già eclipse!


questa è una semplice funzione della libreria!
che chiamerai dentro b4
dim test as sample
log(test.Abaut)

B4X:
package com.spinter.sample;

//vari import
import java.io.File;



//varie opzioni
@ShortName("UploadFilePhp")
@Version(1.0f)
@Author("Spinter")
@Permissions(values={"android.permission.INTERNET"})
//questo per gli eventi!
@Events(values={"statusUpload (value As String)"})

public class sample{
   
    //
    //------------------------------------------------------------------------------------------------''
    //'''------------------------------------------------------------------------------------------------''
    //'''oooooooooo.                  .oooooo..o            o8o                  .                      ''
    //'''`888'  `Y8b                d8P'    `Y8            `"'                .o8                      ''
    //''' 888    888 oooo    ooo    Y88bo.      oo.ooooo.  oooo  ooo. .oo.  .o888oo  .ooooo.  oooo d8b ''
    //''' 888oooo888'  `88.  .8'      `"Y8888o.  888' `88b `888  `888P"Y88b    888  d88' `88b `888""8P ''
    //''' 888    `88b  `88..8'          `"Y88b  888  888  888  888  888    888  888ooo888  888    ''
    //''' 888    .88P    `888'      oo    .d8P  888  888  888  888  888    888 . 888    .o  888    ''
    //'''o888bood8P'      .8'        8""88888P'  888boo8P' o888o o888o o888o  "888" `Y8bod8P' d888b    ''
    //'''            .-..P'                      888                                                    ''
    //'''            `Y8P'                      o888o                                              2014 ''
    //'''------------------------------------------------------------------------------------------------''
    //'''------------------------------------------------------------------------------------------------''
   
    /**
    *  Return: Abaut
    */
    public String Abaut( ){
       
        String Copyright;
        Copyright="Copyright © 2014 by Spinter";
     
        return Copyright;
    }
    }
 

tonysp83

Member
Licensed User
Longtime User
Grazie spinter.. Cmq ho già eclipse.. Lo stavo studiando, ma poi ho passato a b4a.. Mi sembri molto esperto quindi ti vorrei chiedere se riesco ad inserire un codice di app dentro la libreria, esiste un miracolo di poter vedere questo codice visualizzato in un progetto B4A?? Grazie per la tua disponibilità ...
 

Spinter

Active Member
Licensed User
Longtime User
per adesso io ho messo solo funzioni e una parte di codice,ad esempio non riesco a creare un controllo da libreria!
 

LucaMs

Expert
Licensed User
Longtime User
Proprio questo è il punto: l'esempio di Erel crea una libreria in Java "puro", non per Android. Penso sia impossibile ottenere un progetto per B4A o un libreria per B4A partendo da un progetto per Android completo sviluppato in un ambiente come Eclipse.

"Poi, nel video di Erel, quando ha caricato quella libreria l'ha usata come una normale libreria standard semplicemente richiamandola?"

Crea la libreria che diventa un file .jar ed anche il file XML di descrizione, quindi ottiene i due classici file .jar e .xml da aggiungere nella cartella delle librerie "addizionali" e quando apri l'IDE la trovi a disposizione.

Il Repository, per quanto ho capito, è un... rispostiglio :) in cui mettere (trovare) codice sorgente, con, in più, la gestione delle versioni del codice.
 

LucaMs

Expert
Licensed User
Longtime User
Tony,
l'articolo al link che ho postato per installare GitHub dice di aprire la voce Marketplace nel menù Help. Se non hai quella voce (come non l'ho io !) dovresti fare così:
1) aprire il menù Help;
2) scegliere il sottomenù "Install New Software";
3) nella textbox "Work with:" metti l'indirizzo per il download e l'installazione di GitHub, che è: http://download.eclipse.org/egit/updates
4) clicka su "Add" - ti verrà chiesto di aggiungere un nome da collegare a quell'indirizzo: io ho messo EGIT;
5) segui le istruzioni, perché io l'ho già installato e non le vedo; comunque, ti viene proposto l'elenco dei file relativi a GitHub (chiamato anche Git o Egit); seleziona e installa tutto. Alla fine, ti chiede di riavviare Eclipse e, quando si riavvia, dovresti trovarti nella Prospettiva Git, altrimenti puoi aprirla dal menù Window - Open Perspective
 

tonysp83

Member
Licensed User
Longtime User
Vi ringrazio tantissimo.. Da tutte le informazioni che ho raccolto, e dal tutorial che mi ha elencato Erel , mi sembra un impresa impossibile.. Non ci sarà mai modo di trasformare un intero codice java in BASIC.. È visto le circostanze era solo una fantasia. A questo punto io penso che se si ha un infarinatura di eclipse, si apre il codice java e si studia il suo funzionamento per poi creare un proprio progetto in b4a!! Il potere di BASIC è immenso, ma il compilatore traduce tutto in bytecode, quindi stiamo quasi a linguaggio macchina .. Il processo inverso sarebbe impossibile.. Condividete??
 

LucaMs

Expert
Licensed User
Longtime User
Non condivido tanto, nel senso che il basic in generale, e quindi anche B4A, è limitato nelle potenzialità, proprio perché è un linguaggio molto ad alto livello, quindi rende facili molte cose (e soprattutto, rende veloce lo sviluppo) ma non consente di sfruttare a fondo la "macchina".

E' il vantaggio e lo svantaggio dei linguaggi ad alto livello.

Penso che, nel caso dei dispositivi mobili, si debba scegliere tra B4A e Java+Eclipse.

Io ho dovuto abbandonare alcune idee (non app complete) per le limitazioni imposte da B4A, ma la sua semplicità e la rapidità che consente nello sviluppo, mi fa propendere nettamente per questo (d'altra parte, mi ero appena avvicinato a Java con Eclipse molti mesi fa e adesso dovrei praticamente inziare da zero).

Malgrado questo, con un po' di calma, pazienza e tempo, un'occhiata ogni tanto gliela darò, perché riuscire a convertire alcune librerie da Java a B4A, come alcuni hanno fatto, può sempre essere utile.
 

tonysp83

Member
Licensed User
Longtime User
Anche java è un linguaggio ad alto livello, ma conserva le stesse caratteristiche c++, infatti se noti la sintassi è simile.. In ogni caso, per imparare eclipse ( e quindi java in se per se) è uno studio molto intenso.. E con questo non sminuisco BASIC, anzi.. Io ho studiato e realizzato programmi in Python, conserva la stessa semplicità di comprensione del BASIC, ma la sua potenza è impressionante.. Pensa che lo usa anche la NASA per sviluppare alcuni software di controllo.. Quello che voglio dire e che BASIC è stato concepito per una facile comprensione ma che comunque necessita di un buono studio, ma comunque conserva delle limitazioni come dici tu. Io ho in mente un progetto comunque.. Un idea che mi è venuta guardando un film.. È una cosa che si può fare, ma comunque occorrono notevoli conoscenze.. L'idea non è tanto legale, ma è per studio scientifico, e per mettermi alla prova.. L'idea è questa: un app invisibile su un android, che consente il controllo remoto di questo dispositivo attraverso un altro, tipo pc.. Il processo d'installazione dovrebbe sparire, e l'app si installa da sola..
Non voglio fare niente d'illegale, io adoro programmare e soprattutto l'imprese difficili.. Sarebbe solo una mia soddisfazione. Tu cosa ne pensi di questa idea?
 

LucaMs

Expert
Licensed User
Longtime User
Creare applicazioni invisibili non è facile, anche in ambiente Windows.
Sicuramente dovresti conoscere bene Android (che poi derivare da Linux e Unix) e, molto probablmente, funzionerebbe solo se hai accesso come utente amministratore, cioè con gli smarphone cosiddetti "rootati".

La gestione visibile, invece, potrebbe essere fattibile, anche se molto complicata, visto che è possibile gestire un pc da smartphone, se non erro.
 

tonysp83

Member
Licensed User
Longtime User
Ne ho creata già una molto semplice, attraverso il modulo Service, sospendendo l'activity.. È praticamente invisibile.. L'unica cosa che ti chiede comunque l'autorizzazione all'installazione.. Ma dopo è attiva e sul telefono non si vede nulla.. Attraverso un sms attiva il microfono e registra per 20 minuti.. È una cosa banale, ma il principio è lo stesso.. Cmq ho riflettuto su quello che mi hai detto.. Visto che ho già eclipse, vorrei anche io dare un'occhiata, come ho fatto all'inizio.. Mi sapresti indicare qualche tutorial su youtube fatto da qualcuno in gamba e in italiano?? Mi trovo molto bene a parlare con te.. Sei una brava persona :)
 

LucaMs

Expert
Licensed User
Longtime User
:) grazie, devo ammettere che è vero, lo sono, hehehe.

Ma non si vedono il processo e il servizio? Da "Gestione applicazioni" - "In esecuzione" si dovrebbe vedere!

In effetti, anni fa, si parlava di app per spiare il partner, che magari ti dice che sta in una zona da un'amica e invece vedi grazie al GPS che sta dall'amante :D ma, da allora, potrebbero aver aumentato la sicurezza di Android.

Intanto ho trovato un video "muto" su come importare codice sorgente da GitHub:
Poi, ripensandoci, se il codice trovato è una libreria, è possibile "importarla" in B4A, c'è un tutorial su questo sito.

Per i video tutorial come chiedi, dovrei cercare, ma puoi farlo anche tu ;)

Ora sono curiosissimo di sapere come funziona la tua app "invisibile"... addirittura registra dopo il ricevimento in un sms!

Sono troppo una brava persona :rolleyes: per chiederti il sorgente e non sarebbe nemmeno giusto farlo.

Fa piacere anche a me parlarti, IN ITALIANO!!! Così ci diamo anche una mano a vicenda.

Ciao
 
Last edited:
Top