PDA

View Full Version : Android Studio ed inserimento pagina


Bandit
05-01-2017, 12:58
Ciao a tutti ragazzi
sono alle prime armi con Android Studio, quindi scusate l'eventyuale domanda stupida che per me non è , ovviamente :) .

All'inizio ho creato con il prompt dei comandi la mia cartella progetto che ho chiamato TestApp e così ho ottenuto una cartella con questo nome e con tutte le cartelle relative ed i file relativi.
Così mi trovo che nella cartella TestApp-www ho :

-Cartella css
-Cartella img
-Cartella js
-file index.html


Io ho sviluppato un file .html da un'altra parte (altro pc), come dovrei procedere per vedere la mia applicazione sull'emulatore?

devo copiare manualmente i file presenti nelle cartelle css,img,js nelle rispettive cartelle appena elencate?

Poi per per quanto riguarda la pagina index? come procedo?
non vorrei perdere questo file index.html , proprio per continuare ad avere un punto di partenza che so che funziona.

Se lo rinomino (direttamente , o salvandolo con un nome diverso tramite Android Studio), e chiamo index.html il file che hi già sviluppato come agisco? lo inserisco manualmente nella cartella TestApp-www?
così facendo la modifica si ripercuoterà anche per tutte le eventuali piattaforme presenti nel progetto TestAPP?

nel mio caso ho nella cartella TestApp- platforms solo la cartella android, se modifico il file in TestApp-www, si modificherà di conseguenza anche in TestApp- platforms ?

pabloski
08-01-2017, 11:58
Mhm sono perplesso. Non mi e' chiaro che tipo di app Android stai cercando di realizzare. Si parla di file html, css, js, ecc... per cui suppongo si tratta di un'applicazione html5.

Ma Android Studio ( e Android se e' per questo ) non supporta nativamente una cosa del genere.

Le applicazioni html5 necessitano di un framework sotto, che sia Cordova, Angular2/Nativescript o React Native ( e similari ).

Quindi, quale framework intendi usare? Senza non ti e' possibile "mandare" i file html/js ad Android e sperare che li renderizzi come farebbe un browser.

Per esempio, usando Cordova https://cordova.apache.org/docs/it/latest/guide/platforms/android/

Bandit
08-01-2017, 19:12
ciao pabloski :)

ti ringrazio per avermi risposto ;)

Allora ti spiego, sto cercando di sviluppare con html,css e jquery un'applicazione usando ratchet e le librerie di cordova.
il tutto dovrebbe essere simulato con l'emulatore di android studio

pabloski
08-01-2017, 19:31
Allora ti spiego, sto cercando di sviluppare con html,css e jquery un'applicazione usando ratchet e le librerie di cordova.

Bene, quindi si tratta di cordova. Nel qual caso tieni presente che stai creando un'app basata su webview, cioe' c'e' tutta una parte di codice java ( creata automaticamente ) che visulizza la webview, all'interno della quale poi carica l'index.html e da li' tutti il resto dell'ambaradan.

Una buona descrizione della faccenda e' data qui https://cordova.apache.org/docs/it/latest/guide/platforms/android/

Ci sono quei comandi da dare per settare il progetto, effettuare le build, ecc... altrimenti non funzionera' mai.

espanico
08-01-2017, 21:11
Ciao, come suggerito da pabloski, ti consiglio di seguire la documentazione sul sito ufficiale del progetto apache cordova. Ma prima di tutto devi aver settato correttamente il tuo ambiente di lavoro. Ti scrivo alcuni punti.

1. Installare java jdk
2. Settare correttamente le variabili d'ambiente: JAVA_HOME e ANDROID_HOME
3. Installare Android Studio
4. Installare node js
5. Installare cordova apache

Dopo questi passaggi, puoi creare il tuo primo progetto, da riga di comando

1. cordova create hello com.example.hello HelloWorld
dove hello è la cartella che vuoi dare al tuo progetto, com... sarà il packege name della tua app e infine il nome della tua app.
2. dir hello
ti sposti nella cartella appena creata.
3. cordova platform add android --save
Aggiungi la piattaforma che vuoi sviluppare, in questo caso android.

Con questi tre passaggi crei l'ossatura della tua app, che poi puoi aprire con Android Studio, cosi da testare con il simulatore. Mi raccomando quando apri il progetto con android studio devi importare solo la cartella Android che troverai nel percorso: hello\platforms\android

Buon lavoro.

Bandit
09-01-2017, 11:40
grazie espanico ;)
e' una bella ricapitolazione di quello che ho fatto precedentemente (
solo il punto 3 cordova platform add android --save nel mio caso non ho usato --save).

1) ora in queste condizioni a cui siamo arrivati con la tua ricapitolazione, come sviluppi tu un'applicazione? tramite l'editor di Android Studio, ti metti a scrivere il file .html?


Ti spiego cosa è successo nel mio caso:

2)

Ho avuto un problema con cordova a causa del mancato supporto VT-x del mio processore http://www.hwupgrade.it/forum/showthread.php?p=44370128#post44370128
che poi credo di aver risolto.

Ho iniziato a sviluppare il file html della mia applicazione su un altro pc, con Eclipse.

Ora mi ritrovo che devo trasferire il file html e le varie cartelle (js,css....) nel mio progetto creato come hai descritto tu. come faccio? questa era la domanda della discussione

espanico
09-01-2017, 12:23
Ciao, io preferisco utilizzare un editor esterno, nel mio caso utilizzo sublime text. Ma alla fine è la stessa cosa, dipende tu come ti trovi meglio.

Io utilizzo android studio solo nella fase finale, per testare il funzionamento con apache cordova con relativi plugin e poi per la compilazione vera e propria.

Allora per rispondere alla tua domanda del topic, se il progetto l'hai iniziato con un altro ide devi copiarti solo i seguenti file:

- index.html
- cartella js
- cartella css

Ed eventuali tuoi file che hai sviluppato. Tutti gli altri file devi utilizzare quelli generati dalla procedura di cordova apache. Ricordati di raggiungere al progetto eventuali plugin, se li hai utilizzato.

Quindi ricapitolando:
- Genera la struttura da riga di comando
- Aggiungi la piattaforma
- Aggiungi eventuali plugin

Importa la cartella Android in Android Studio. Se ti viene chiesto di aggiornare il file gradle, conferma di si. Testa se tutto funziona sul simulatore. Se tutto è ok chiudi android studio, e copia i file che hai sviluppato (index.html, css, etc...) nel cartella del progetto.

Se tutto è stato fatto correttamente riaprendo android studio, dovresti avere la tua app funzionate.


Fammi sapere, se hai qualche dubbio.

Ciao

Bandit
09-01-2017, 15:41
Ciao Grazie per avermi risposto ;)
Ciao, io preferisco utilizzare un editor esterno, nel mio caso utilizzo sublime text. Ma alla fine è la stessa cosa, dipende tu come ti trovi meglio.

Io utilizzo android studio solo nella fase finale, per testare il funzionamento con apache cordova con relativi plugin e poi per la compilazione vera e propria.



è proprio quello che io ho fatto :) e che sto cercando di completare :D :D


Allora per rispondere alla tua domanda del topic, se il progetto l'hai iniziato con un altro ide devi copiarti solo i seguenti file:

- index.html
- cartella js
- cartella css

Ed eventuali tuoi file che hai sviluppato. Tutti gli altri file devi utilizzare quelli generati dalla procedura di cordova apache. Ricordati di raggiungere al progetto eventuali plugin, se li hai utilizzato.



ok, ma quindi quelle cartelle e file .html le devo inserire io manualmente con il famoso "copia ed incolla" nelle rispettive cartelle presenti in TestApp-www: p.e. nella cartella css ci devo mettere i file presenti nella cartella css che ho sviluppato precedentemente? e così pure per le altre cartelle?

invece per il file .html, devo sostituire quello si è generato (sempre in questa cartella TestApp-www) ad inizio creazione progetto con il prompt dei comandi?



Fammi sapere, se hai qualche dubbio.

Ciao[/QUOTE]

espanico
09-01-2017, 17:02
Esatto, devi incollare sostituendo i file già presenti nel progetto.

PS: prova magari posta uno screen dell'errore che ti viene fuori.

Bandit
09-01-2017, 19:38
domani provo, grazie della risposta.
spero che non capiti nessun errore, perchè poi entro nella fase sconforto :D

Bandit
10-01-2017, 16:50
mi chiedevo: una volta caricato nella cartella www i vari files nelle varie cartelle, e sostituito il file .html che ho sviluppato

devo andare tramite prompt nella cartella del mio progetto TestAp
e poi devo digitare: " Cordova build" , giusto?
in modo tale che verrà creato il file index e tutte le cartelle iniettate direttamente nella cartella platforms in corrispondenza delle diverse piattaforme inserite in precedenza.
quindi il file index verrà aggiornato e può essere lanciato da Android Studio


EDIT:EDIT:EDIT:EDIT:

cmq l'ho fatto e mi riporta questo errore:

https://s28.postimg.org/svjkrbicp/prima_parte_errore.jpg (https://postimg.org/image/svjkrbicp/)

https://s28.postimg.org/8coom94fd/seconda_parte_errore.jpg (https://postimg.org/image/8coom94fd/)

Bandit
16-01-2017, 16:25
Ciao a tutti ragazzi oggi ho tentato di far partire l'emulatore con una mia applicazione , ma non ci sono riuscito.

Da Android Studio ho visto che nel lato dove c'è gradle, c'è tra le varie cartelle da poter navigare c'è la cartella www ed ho notato che la mia nuova index.html è presente. Allora ho eseguito una sincronizzazione ed ho lanciato uno dei miei device disponibili con arm EABI v7a.

(ho provato con altri miei device ma si bloccano dopo alcuni minuti per problemi di TIMEOUT)

Il risultato è che mi compare l'emulatore con la schermata impossibile connettersi al server con in parentesi l'indirizzo della mia pag index.html
ed in basso mi da questo log con una serie di errori.

tomminno
16-01-2017, 16:45
Ma hai dato almeno un'occhiata al log di errore?


Could not find class 'android.util.ArrayMap'


Il primo risultato su google riporta una possibile soluzione.

Bandit
16-01-2017, 17:29
no non ho visto su google
lo proverò, grazie

Bandit
16-01-2017, 18:03
inserendo questo codice in dependencies

compile "com.android.support:support-core-utils:24.2.0"

mi dice
Gradle sync failed: Could not find method compile() for arguments [com.android.support:support-core-utils:24.2.0] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
Please install the Android Support Repository from the Android SDK Manager.
Consult IDE log for more details (Help | Show Log)

espanico
16-01-2017, 20:53
Ciao, secondo me il problema e con il gradle... Riprova a ricreare il progetto da zero, poi importalo prima in andorid studio, se ti viene richiesto, accetta update del file gradle. Dopo chiudi tutto copia in tuoi file nella cartella www, e riapri andorid studio, senza eseguire il comando Cordova build. Vedi se risolvi.

Bandit
17-01-2017, 17:24
ciao Espanico
ok, proverò
intanto ti dico cosa è successo:

ho creato un nuovo progetto e caricato l'emulatore
Nexus 5 API 19 armeabi v7a e mi si caricala pagina index.html

con nella casella "Event Log" questo messaggio:
Performing full build and install: On devices with API level below 21 a full build is required if the app is not running.


Se provo con altri emulatore con altre API non va a buon fine la cosa per problemi di TIMEOUT

Bandit
18-01-2017, 17:03
Ho fatto questo:
sono andato nella cartella del mio nuovo progetto ed in particolare sono entrato nella cartella android-www e qui ho copiato nelle diverse cartelle ciò che ho fatto fino ad ora.

Ho allora importato il progetto su android studio e tramite l'emulatore Nexus 5 API 19 armeabi v7a sono riuscito a visualizzare l'applicazione: riesco a passare da una schermata all'altra.

Però non si crea il db ed infatti non ho nessun messaggio di creazione db

ed infatti tentando di salvare qualcosa sul db, vedo dalla finestra di log questo messaggio:

D/SystemWebChromeClient: file:///android_asset/www/js/index.js: Line 36 : Uncaught TypeError: Cannot call method 'querySelector' of null

I/chromium: [INFO:CONSOLE(36)] "Uncaught TypeError: Cannot call method 'querySelector' of null", source: file:///android_asset/www/js/index.js (36)