diff --git a/KvizClient/build.gradle b/KvizClient/build.gradle
index abdaa8e4ac1ea3b27b98e280fc3e3ae82821f171..7eb4161a37e8d3e505fc20b12c80b1faa1e93987 100644
--- a/KvizClient/build.gradle
+++ b/KvizClient/build.gradle
@@ -7,7 +7,7 @@ buildscript {
         jcenter()
     }
     dependencies {
-        classpath 'com.android.tools.build:gradle:3.1.1'
+        classpath 'com.android.tools.build:gradle:3.1.2'
         
 
         // NOTE: Do not place your application dependencies here; they belong
diff --git a/KvizServer/app/src/main/assets/multiple.txt b/KvizServer/app/src/main/assets/multiple.txt
index 5e0e4d92d0509b1dea4d7a9c7a0ba5fc410f33c7..85b863484646406b137cbc4ddbd6e02cbe4a3633 100644
--- a/KvizServer/app/src/main/assets/multiple.txt
+++ b/KvizServer/app/src/main/assets/multiple.txt
@@ -1,12 +1,12 @@
-egyéb	Melyik hónap 31 napos?	július	február	június	november	disabled
-földrajz	Mi Olaszország fővárosa?	Róma	London	Berlin	Moszkva	enabled
-földrajz	Hány bolygó van a Naprendszerben?	8	enabled
-egyéb	Melyik nem emlős?	szula	oroszlán	farkas	rozmár	enabled
-egyéb	Hogyan írjuk arab számmal az XVII római számot?	17	enabled
-földrajz	Hány ezer négyzetkilométer Magyarország területe?	93	enabled
-földrajz	Melyik kontinensen található Peru?	Dél-Amerika	Észak-Amerika	Ázsia	Afrika	enabled
-földrajz	Melyik város van legtávolabb Budapesttől?	Sydney	Makó	Jeruzsálem	London	enabled
-egyéb	Hány napos hónap a március?	31	enabled
-egyéb	Melyik nem biztosan trapéz?	deltoid	paralelogramma	négyzet	téglalap	enabled
-földrajz	Melyik NEM gázbolygó?	Föld	Jupiter	Uránusz	Neptunusz	disabled
-földrajz	Melyik folyó partján fekszik Budapest?	Duna	Jangce	Nílus	Szajna	enabled
+egyéb	Melyik hónap 31 napos?	július	február	június	november	disabled	8
+földrajz	Mi Olaszország fővárosa?	Róma	London	Berlin	Moszkva	enabled	0
+földrajz	Hány bolygó van a Naprendszerben?	8	enabled	7			
+egyéb	Melyik nem emlős?	szula	oroszlán	farkas	rozmár	enabled	6
+egyéb	Hogyan írjuk arab számmal az XVII római számot?	17	enabled	3			
+földrajz	Hány ezer négyzetkilométer Magyarország területe?	93	enabled	2			
+földrajz	Melyik kontinensen található Peru?	Dél-Amerika	Észak-Amerika	Ázsia	Afrika	enabled	0
+földrajz	Melyik város van legtávolabb Budapesttől?	Sydney	Makó	Jeruzsálem	London	enabled	1
+egyéb	Hány napos hónap a március?	31	enabled	0			
+egyéb	Melyik nem biztosan trapéz?	deltoid	paralelogramma	négyzet	téglalap	enabled	5
+földrajz	Melyik NEM gázbolygó?	Föld	Jupiter	Uránusz	Neptunusz	disabled	4
+földrajz	Melyik folyó partján fekszik Budapest?	Duna	Jangce	Nílus	Szajna	enabled	0
diff --git a/KvizServer/app/src/main/java/onlab/kvizserver/GameActivity.java b/KvizServer/app/src/main/java/onlab/kvizserver/GameActivity.java
index 726d6dbcefc2bcbaaf61ff7db29cc3d063d6854b..1826a542aa36a56af3718f3c1afdd50e72a27c2b 100644
--- a/KvizServer/app/src/main/java/onlab/kvizserver/GameActivity.java
+++ b/KvizServer/app/src/main/java/onlab/kvizserver/GameActivity.java
@@ -1,23 +1,24 @@
 package onlab.kvizserver;
 
 import android.os.Handler;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.app.FragmentTransaction;
 import android.support.v4.view.ViewPager;
 import android.support.v7.app.AppCompatActivity;
 import android.os.Bundle;
 import android.util.Log;
 import android.view.WindowManager;
+import android.widget.Toast;
 
 import com.google.gson.Gson;
+import com.rustamg.filedialogs.FileDialog;
 
 import java.io.BufferedReader;
 import java.io.BufferedWriter;
 import java.io.File;
-import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
 import java.io.IOException;
-import java.io.InputStream;
 import java.io.InputStreamReader;
+import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
 import java.util.ArrayList;
@@ -27,7 +28,7 @@ import onlab.kvizserver.model.PlayerAnswer;
 import onlab.kvizserver.model.Question;
 
 public class GameActivity extends AppCompatActivity implements GameControlFragment.OnFragmentInteractionListener,
-        QuestionListFragment.OnFragmentInteractionListener {
+        QuestionListFragment.OnFragmentInteractionListener, FileDialog.OnFileSelectedListener {
 
     private Question question = null;
     private int numberOfPlayers;
@@ -238,4 +239,23 @@ public class GameActivity extends AppCompatActivity implements GameControlFragme
             gameControlFragment.setNextQuestionButtonEnabled(true);
         }
     }
+
+    @Override
+    public void onFileSelected(FileDialog dialog, File file) {
+        try {
+            Log.d("SaveFileDialog", file.getCanonicalPath());
+            OutputStream outputStream = new FileOutputStream(file);
+            List<Question> allQuestions = Question.listAll(Question.class);
+            for (int i = 0; i < allQuestions.size(); i++) {
+                outputStream.write((allQuestions.get(i).convertToString() + "\t").getBytes());
+            }
+            outputStream.close();
+            Toast.makeText(this, "Saved to: " + file.getCanonicalPath(), Toast.LENGTH_LONG).show();
+        } catch (FileNotFoundException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
 }
diff --git a/KvizServer/app/src/main/java/onlab/kvizserver/QuestionListFragment.java b/KvizServer/app/src/main/java/onlab/kvizserver/QuestionListFragment.java
index f0130e06adac8660f91ef344f7f0fd07e03f4c47..0aca790fdd5e01c07a6b53fcf3cdcfb747e35262 100644
--- a/KvizServer/app/src/main/java/onlab/kvizserver/QuestionListFragment.java
+++ b/KvizServer/app/src/main/java/onlab/kvizserver/QuestionListFragment.java
@@ -10,7 +10,11 @@ import android.support.v7.widget.RecyclerView;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.Button;
+import com.rustamg.filedialogs.SaveFileDialog;
 
+import java.util.Collections;
+import java.util.Iterator;
 import java.util.List;
 
 import onlab.kvizserver.model.Question;
@@ -50,8 +54,19 @@ public class QuestionListFragment extends Fragment {
     @Override
     public void onActivityCreated(@Nullable Bundle savedInstanceState) {
         super.onActivityCreated(savedInstanceState);
-        questions = Question.listAll(Question.class);
+        initQuestionList();
         initRecyclerView();
+
+        Button exportButton = (Button) getView().findViewById(R.id.ExportButton);
+        exportButton.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                SaveFileDialog dialog = new SaveFileDialog();
+                dialog.show(getActivity().getSupportFragmentManager(), SaveFileDialog.class.getName());
+            }
+        });
+
+        Button generateButton = (Button) getView().findViewById(R.id.GenerateButton);
     }
 
     @Override
@@ -86,4 +101,21 @@ public class QuestionListFragment extends Fragment {
     public void selecetedQuestionDisplayed() {
         adapter.deselectActualQuestion();
     }
+
+    private void initQuestionList() {
+        //kezdetben a teljes kérdésadatbázis
+        questions = Question.listAll(Question.class);
+
+        //az aktuális kiválasztásban nem szereplő kérdések kidobása
+        Iterator<Question> it = questions.iterator();
+        while( it.hasNext() ) {
+            Question q = it.next();
+            if(q.getCurrentIndex() == 0)
+                it.remove();
+        }
+
+        //kérdések sorbarendezése index alapján
+        Collections.sort(questions);
+    }
+
 }
diff --git a/KvizServer/app/src/main/java/onlab/kvizserver/model/Question.java b/KvizServer/app/src/main/java/onlab/kvizserver/model/Question.java
index 60f102fb6778af50d8e7210d267375d2d202cdf3..9c041b8a49f57d4e62f334fdc78b0a80eea18ad8 100644
--- a/KvizServer/app/src/main/java/onlab/kvizserver/model/Question.java
+++ b/KvizServer/app/src/main/java/onlab/kvizserver/model/Question.java
@@ -1,12 +1,14 @@
 package onlab.kvizserver.model;
 
+import android.support.annotation.NonNull;
+
 import com.orm.SugarRecord;
 
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
-public class Question extends SugarRecord {
+public class Question extends SugarRecord implements Comparable<Question> {
     private String topic;
     private String questionText;
     private String correctAnswer;
@@ -14,6 +16,7 @@ public class Question extends SugarRecord {
     private String wrongAnswer2 = null;
     private String wrongAnswer3 = null;
     private boolean enabled;
+    private int currentIndex; //0, ha nem szerepel az aktuálisan kiválasztott kérdések között
 
     public static final int MULTIPLE_CHOICE = 0;
     public static final int GUESS = 1;
@@ -25,16 +28,17 @@ public class Question extends SugarRecord {
         topic = data[0];
         questionText = data[1];
         correctAnswer = data[2];
-        if (data.length >= 5) {
+        if (data.length >= 6) {
             wrongAnswer1 = data[3];
         }
-        if (data.length >= 6) {
+        if (data.length >= 7) {
             wrongAnswer2 = data[4];
         }
-        if (data.length >= 7) {
+        if (data.length >= 8) {
             wrongAnswer3 = data[5];
         }
-        enabled = data[data.length-1].equals("enabled");
+        enabled = data[data.length-2].equals("enabled");
+        currentIndex = Integer.parseInt(data[data.length-1]);
     }
 
     public String getQuestionText() {
@@ -89,4 +93,27 @@ public class Question extends SugarRecord {
         }
     }
 
+    public int getCurrentIndex() {
+        return currentIndex;
+    }
+
+    @Override
+    public int compareTo(@NonNull Question question) {
+        return this.currentIndex - question.currentIndex;
+    }
+
+    public String convertToString() {
+        String line = topic + "\t" + questionText + "\t" + correctAnswer;
+        if (wrongAnswer1 != null) {
+            line += "\t" + wrongAnswer1;
+        }
+        if (wrongAnswer2 != null) {
+            line += "\t" + wrongAnswer2;
+        }
+        if (wrongAnswer3 != null) {
+            line += "\t" + wrongAnswer3;
+        }
+        line += "\t" + (enabled ? "enabled" : "disabled") + "\t" + currentIndex;
+        return line;
+    }
 }
diff --git a/KvizServer/app/src/main/res/layout/fragment_question_list.xml b/KvizServer/app/src/main/res/layout/fragment_question_list.xml
index 525d344b6c7d91d6bd4170845c242af74b024f90..4551460363c1cccf5d0deaea382549c615af1709 100644
--- a/KvizServer/app/src/main/res/layout/fragment_question_list.xml
+++ b/KvizServer/app/src/main/res/layout/fragment_question_list.xml
@@ -23,7 +23,6 @@
             android:layout_height="wrap_content"
             android:layout_gravity="center"
             android:id="@+id/ExportButton"
-            android:enabled="false"
             android:text="Export database to file"/>
 
         <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
diff --git a/KvizServer/build.gradle b/KvizServer/build.gradle
index abdaa8e4ac1ea3b27b98e280fc3e3ae82821f171..7eb4161a37e8d3e505fc20b12c80b1faa1e93987 100644
--- a/KvizServer/build.gradle
+++ b/KvizServer/build.gradle
@@ -7,7 +7,7 @@ buildscript {
         jcenter()
     }
     dependencies {
-        classpath 'com.android.tools.build:gradle:3.1.1'
+        classpath 'com.android.tools.build:gradle:3.1.2'
         
 
         // NOTE: Do not place your application dependencies here; they belong