GreenDao Android Studio

je cherche une explication étape par étape claire sur la façon d'importer GreenDao dans Android Studio.

Je l'ai déjà utilisé dans AS, mais je n'ai pas réussi à le faire fonctionner à nouveau. Il y a quelques tutoriels là-bas, mais ils ne semblent pas s'appliquer à la dernière version de COMME.

quand je clone de github, j'obtiens un exemple de projet etc. Y a-t-il un moyen d'installer GreenDaoGenerator sans ces extras?

Je cherche juste une mise à jour étape par étape explication.

mise à jour: je suggère D'utiliser le domaine.io maintenant! Check it out! : -)

Toute aide serait appréciée!

34
demandé sur TomCB 2014-09-17 14:17:16

6 réponses

testé sur Android Studio 2.0

avec Android Studio 0.6.1+ (et peut-être plus tôt), vous pouvez facilement ajouter un projet non android à votre projet android en tant que module.

en utilisant la méthode ci-dessous vous pouvez avoir des modules Java(greenDaoGenerator) et les modules Android dans le même projet et ont également la possibilité de compiler et d'exécuter des modules Java en tant que projets Java autonomes.

  1. ouvrez votre projet Android dans Android Studio. Si vous n'avez pas un, en créer un.
  2. Cliquez sur Fichier > Nouveau Module. Sélectionnez Bibliothèque Java et cliquez sur Suivant.
  3. Remplir le nom du paquet, etc et cliquez sur Terminer. Vous devriez maintenant voir un Le module Java dans votre projet Android.
  4. Ouvrir construire.gradle fichier du projet java et ajouter la dépendance suivante

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile('de.greenrobot:DaoGenerator:1.3.0')
    }
    
  5. Copiez votre DaoGenerator classes ou créer si vous n'en avez pas à votre module java.Par exemple, j'ai créé ExampleDaoGenerator cours dans mon module java.

    public class ExampleDaoGenerator {
    
        public static void main(String[] args) throws Exception {
            Schema schema = new Schema(1000, "de.greenrobot.daoexample");
            addNote(schema);
            new DaoGenerator().generateAll(schema, "../DaoExample/src-gen");
        }
    
        private static void addNote(Schema schema) {
            Entity note = schema.addEntity("Note");
            note.addIdProperty();
            note.addStringProperty("text").notNull();
            note.addStringProperty("comment");
            note.addDateProperty("date");
       }
    
    }
    

maintenant, pour générer les classes que vous pouvez utiliser dans android project suivez les étapes ci-dessous.

  1. Cliquez sur le exécuter dans le menu barre du haut. Cliquez sur Modifier Les Configurations...
  2. Dans la nouvelle fenêtre, cliquez sur le les plus signe en haut à gauche de la fenêtre et sélectionnez Application
  3. une nouvelle configuration de l'application doit apparaître, remplissez les informations suivantes.

    1. Donner nom par exemple greenDao.
    2. classe principale cliquez sur ... et sélectionnez votre classe generator qui a la méthode principale.pour, par exemple, dans ce cas, il est com.greendao.generator.ExampleDaoGenerator
    3. répertoire de travail sélectionnez le chemin de votre projet java.
    4. Dans utiliser la classe du module sélectionnez votre projet java. cliquez sur ok.
    5. encore une fois, allez au menu Exécuter et maintenant vous pouvez voir par exemple exécuter greendao. clique dessus.Il devrait compiler avec succès.

c'est fait !!! vous pouvez vérifier vos classes générées dans le dossier que vous avez spécifié.Pour, par exemple, dans ce cas, il est /DaoExample/src-gen

REMARQUE: Vous pouvez lancer votre projet android à nouveau en cliquant sur exécuter du menu -> Modifier Configuration . sélectionnez votre projet et cliquez sur ok.

45
répondu nitesh goel 2017-01-06 07:17:31

Voici une étape par étape pour l'Intégration GreenDao dans votre Android Projet.

[ Référence comment utiliser GeenDao avec Android ?]

[Lien De Projet: GreenDao Example]

PART1 : Setting Up GREENDAO

  1. Créer un projet android.

  2. Cliquez sur Fichier > Nouveau > Nouveau Module. Sélectionnez Java Bibliothèque et cliquez sur Suivant.

Img 1

  1. maintenant nous devons ajouter les dépendances de Gradle suivantes.

construire.gradle Module: app, insérer

compile 'de.greenrobot:greendao:2.1.0'

Img 2

Dans le construire.gradle Module: greendao-generator, insérez

compile 'de.greenrobot:greendao-generator:2.1.0'

Img 3

assurez-vous que vous sync votre projet.

Img 4

  1. dans le MainGenerator.java,

nous allons définir la structure de base de données.

import de.greenrobot.daogenerator.DaoGenerator;
import de.greenrobot.daogenerator.Entity;
import de.greenrobot.daogenerator.Schema;

public class MainGenerator {
    public static void main(String[] args)  throws Exception {

        //place where db folder will be created inside the project folder
        Schema schema = new Schema(1,"com.codekrypt.greendao.db");

        //Entity i.e. Class to be stored in the database // ie table LOG
        Entity word_entity= schema.addEntity("LOG");

        word_entity.addIdProperty(); //It is the primary key for uniquely identifying a row

        word_entity.addStringProperty("text").notNull();  //Not null is SQL constrain

        //  ./app/src/main/java/   ----   com/codekrypt/greendao/db is the full path
        new DaoGenerator().generateAll(schema, "./app/src/main/java");

    }
}
  1. Exécuter MainGenerator.java

enter image description here

  1. après avoir exécuté ceci, vous observerez un dossier nouvellement créé i.e. db dans le dossier principal du projet.

enter image description here

PART2 : l'Intégration avec Android

  1. mettez le activity_main.xml disposition.

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textData"
        android:layout_alignParentTop="true"
        android:layout_alignParentStart="true" />
    
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Save"
        android:id="@+id/textSave"
        android:layout_below="@+id/textData"
        android:layout_alignEnd="@+id/textData"
        android:layout_marginTop="22dp" />
    
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Show Top"
        android:id="@+id/textTop"
        android:layout_below="@+id/textSave"
        android:layout_alignParentStart="true"
        android:layout_marginTop="35dp" />
    

  2. MainActivity.java,

Ajouter les codes suivants

package com.codekrypt.greendao;

import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import com.codekrypt.greendao.db.DaoMaster;
import com.codekrypt.greendao.db.DaoSession;
import com.codekrypt.greendao.db.LOG;
import com.codekrypt.greendao.db.LOGDao;

import java.util.List;

public class MainActivity extends AppCompatActivity {

    //Dao --> Data Access Object
    private LOGDao log_dao; // Sql access object
    private LOG temp_log_object; // Used for creating a LOG Object

    String log_text="";  //Entered text data is save in this variable

    private  final String DB_NAME ="logs-db" ;  //Name of Db file in the Device

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //Initialise DAO
        log_dao=setupDb();

        //Setting up form elements
        Button textSave= (Button) findViewById(R.id.textSave);
        Button textTop= (Button) findViewById(R.id.textTop);
        final TextView textData=(TextView) findViewById(R.id.textData);

        assert textSave != null;
        textSave.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                log_text=textData.getText().toString();
                temp_log_object=new LOG(null,log_text);// Class Object, Id is auto increment

                SaveToSQL(temp_log_object);
            }
        });

        assert textTop != null;
        textTop.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                textData.setText( getFromSQL() );
            }
        });
    }

    //---------------------------------SQL QUERY Functions-----------------------------------------//
    public String getFromSQL(){
        List<LOG> log_list = log_dao.queryBuilder().orderDesc(LOGDao.Properties.Id).build().list();  
        //Get the list of all LOGS in Database in descending order

        if(log_list.size()>0) {  //if list is not null

            return log_list.get(0).getText();
            //get(0)--> 1st object
            // getText() is the function in LOG class
        }
        return "";
    }

    public void SaveToSQL(LOG log_object) {
        log_dao.insert(log_object);
    }
    //----------------------------***END SQL QUERY***---------------------------------------------//


    //-------------------------------DB Setup Functions---------------------------------------------//

    //Return the Configured LogDao Object
    public LOGDao setupDb(){
        DaoMaster.DevOpenHelper masterHelper = new DaoMaster.DevOpenHelper(this, DB_NAME, null); //create database db file if not exist
        SQLiteDatabase db = masterHelper.getWritableDatabase();  //get the created database db file
        DaoMaster master = new DaoMaster(db);//create masterDao
        DaoSession masterSession=master.newSession(); //Creates Session session
        return masterSession.getLOGDao();
    }
    //-------------------------***END DB setup Functions***---------------------------------------//

}
  1. avant de lancer L'application, assurez-vous d'avoir modifié votre configuration. enter image description here

  2. maintenant lancez-le.

PARTIE 3 – VOIR LA SQL DB

  1. Ouvrir L'Invite De Commande.
  2. Entrez les commandes suivantes. enter image description here

  3. ouvrir le fichier db dans SQLite3 enter image description here

  4. Utilisation De SQLite3 enter image description here

PARTIE 4-EXTRAS

  1. Structure (classes de base) des GREENDAO!--25-->

enter image description here

4
répondu Arjun SK 2016-09-29 15:11:53

j'ai utilisé ce tutoriel pour Android Studio 0.8.9 et tout fonctionne très bien.

2
répondu MiguelHincapieC 2014-09-23 22:06:08

fonctionne sur Android 1.3 Preview

pour la réponse supérieure (testé sur Android Studio 1.0), vous pourriez avoir besoin d'inclure ce dossier source dans votre projet. Aller à app / build.gradle

ajouter ce qui suit dans le bloc android

sourceSets{

main{
    java{
        srcDir 'src-gen'
    }
}
2
répondu Juan Mendez 2015-06-22 00:59:18

Solution: Io-Exception

  1. aller à la construction à partir de votre générateur dao.
  2. add: appliquer l '"application"
  3. add: mainClassName = " you.paquet.comprendre.Principal"
  4. exécuter la commande "exécuter" dans la tâche d'application (gradle tâche)

Je ne sais pas pourquoi cela ne fonctionne pas quand vous créez manuellement une configuration d'exécution.

1
répondu logerom 2016-03-21 11:51:10

Fondamentalement, ce que vous avez besoin est d'ajouter un bibliothèque Java module ( Fichier > Nouveau > nouveau module..) à votre projet Android (en supposant que vous utilisez Android Studio), et insérez le code de génération à l'intérieur de public static void main(String[] args) {} dans ce module .java classe. Puis Exécuter it et le code seront générés dans le module de votre application principale.

Voir le blog pour un tutoriel pas à pas avec explications.

0
répondu lomza 2016-02-01 19:58:42