JavascriptProva

sabato 20 agosto 2016

Connessione di app android con database JSON Firebase.

Un nome "Studio Nuovo" sarà al di fuori di ogni sospetto...

Bene.
La radice di tutto, su Esplora Risorse, è la sottodirectory di "Android Studio Projects" chiamata "Studio Nuovo".
App è una sottocartella di questa.
Ecco: sono andato con il DOS e ho ricavato la struttura.
 Il volume nell'unit… C Š Acer
 Numero di serie del volume: E27D-F746

 Directory di C:\Users\Antonello\AndroidStudioProjects\StudioNuovo

20/08/2016  21.57    <DIR>          .
20/08/2016  21.57    <DIR>          ..
20/08/2016  21.48    <DIR>          .gradle
20/08/2016  21.53    <DIR>          .idea
20/08/2016  21.49    <DIR>          app
20/08/2016  21.48    <DIR>          build
20/08/2016  21.46    <DIR>          gradle
20/08/2016  21.46               105 .gitignore
20/08/2016  21.46               521 build.gradle
20/08/2016  21.46               872 gradle.properties
20/08/2016  21.46             4.971 gradlew
20/08/2016  21.46             2.404 gradlew.bat
20/08/2016  21.57                 0 lista.txt
20/08/2016  21.46               470 local.properties
20/08/2016  21.46                16 settings.gradle
20/08/2016  21.48               942 StudioNuovo.iml
               9 File         10.301 byte
               7 Directory  172.789.342.208 byte disponibili 
Andando più giù nella cartella App:
C:\Users\Antonello\AndroidStudioProjects\StudioNuovo\app>dir/p/o
 Il volume nell'unità C è Acer
 Numero di serie del volume: E27D-F746

 Directory di C:\Users\Antonello\AndroidStudioProjects\StudioNuovo\app

20/08/2016  21.49    <DIR>          .
20/08/2016  21.49    <DIR>          ..
20/08/2016  21.48    <DIR>          build
20/08/2016  21.46    <DIR>          libs
20/08/2016  21.46    <DIR>          src
20/08/2016  21.46                 8 .gitignore
20/08/2016  21.49             8.922 app.iml
20/08/2016  21.46               660 build.gradle
20/08/2016  21.46               700 proguard-rules.pro
               4 File         10.290 byte
               5 Directory  172.781.301.760 byte disponibili 
Ora vediamo come appare in Android Studio:



Ecco, quindi App, che qui viene mostrata isolata, è "compagna" delle cartelle che appaiono più sotto, ossia .idea, build, gradle: tutte "figlie" della cartella StudioNuovo.
Manca la cartella .gradle...
Comunque abbiamo due sedi in cui appaia questo ancora misterioso nome.
  1. Come file all'interno di App
  2. Come file "fratello" di App
Vediamo quale di questi due presenta quei requisiti.


Intanto devo rimontare il tutto con questo nuovo progetto.
Cancello i vari files scaricati in Download così evito quel numeretto fra parentesi...

Cancello tutti i progetti su Firebase e ne ricreo uno di sana pianta.

Vado alla console.
Associo al progetto JaccaProgetto il mio nuovo package, mi appare quella schermata ma me ne appare un'altra:



Prima probabilmente avevo saltato e non l'avevo vista.

Riprocediamo a salvare il file, che mi è stato già automaticamente scaricato, nella cartella App.
Eccolo, e senza numeretti.
Ora mi trovo al punto di prima


Cerchiamo il file gradle...eccetera che ha quella parola buildscript.
Bene. Si tratta del file "fratello" di App.
Eccolo:
// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
Dunque devo trasformarlo in questo senso:
buildscript {
    // ...
    dependencies {
        // ...
        classpath 'com.google.gms:google-services:3.0.0'
    }
}
Ecco:nonostante il "don't place"...
// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        classpath 'com.google.gms:google-services:3.0.0'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}


Quindi questo:
apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "24.0.0"

    defaultConfig {
        applicationId "com.example.antonello.studionuovo"
        minSdkVersion 18
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.2.1'
}
...va modificato in questo senso:
apply plugin: 'com.android.application'

android {
  // ...
}

dependencies {
  //apply plugin: 'com.android.application'

android {
  // ...
}

dependencies {
  // ...
  compile 'com.google.firebase:firebase-core:9.4.0'
}

// ADD THIS AT THE BOTTOM
apply plugin: 'com.google.gms.google-services' ...
  compile 'com.google.firebase:firebase-core:9.4.0'
}

// ADD THIS AT THE BOTTOM
apply plugin: 'com.google.gms.google-services'
E quindi:
apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "24.0.0"

    defaultConfig {
        applicationId "com.example.antonello.studionuovo"
        minSdkVersion 18
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.2.1'
    compile 'com.google.firebase:firebase-core:9.4.0'
}

apply plugin: 'com.google.gms.google-services'


A questo punto dovrebbe essere pronto, anche se non so cosa farne...

Lo faccio girare... giusto per vedere che non ci siano errori.

Ecco, non mi riconosceva una libreria. Ho fatto un lungo update di SDK e alla fine è partito! E questo già è consolante!

Nessun commento:

Posta un commento