Hallo, ich bin gerade dabei eine kostenpflichtige App im Playstore hochzuladen. Jedoch muss ich dafür Daten über „mein Unternehmen“ angeben, obwohl ich die App als Privatperson betreibe.
Beiträge von DerAnfaenger
-
-
Hallo zusammen,
ist die Angabe eines Impressums allgemein bei jeder Google-Play-App verpflichtend? (Sprich Angabe des Namens, der Adresse und der Telefonnummer)?
MfG
-
Java
Alles anzeigenpackage com.example.integrationsquiz; import androidx.appcompat.app.AppCompatActivity; import android.annotation.SuppressLint; import android.content.ContentValues; import android.content.SharedPreferences; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; import java.util.ArrayList; import java.util.Random; import java.util.stream.IntStream; public class Geschichte extends AppCompatActivity implements View.OnClickListener { ImageView gBild; TextView frage, auswertung; Button antwortA, antwortB, antwortC, antwortD; Button [] knoepp = {antwortA, antwortB, antwortC, antwortD}; int laenge = 3; ArrayList<Integer> schongefragt = new ArrayList<Integer>(); Button rButton; // Erste SQLite-Datenbank-Namen, hier läuft alles einwandfrei final String gdbName = "histoerche.db"; final String gdbTabelle = "geschichtsfragen"; // Zweite SQLite-Datenbank-Namen, hier treten Probleme auf. final String wndNAME = "wnd.db"; final String wndTabelle = "wnd"; int aw; String imageName; Button weiter; boolean gedruckt; int korrekt; int color; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_geschichte); gBild = findViewById(R.id.gBild); frage = findViewById(R.id.frage); antwortA = findViewById(R.id.antwortA); antwortB = findViewById(R.id.antwortB); antwortC = findViewById(R.id.antwortC); antwortD = findViewById(R.id.antwortD); auswertung = findViewById(R.id.auswertung); weiter = findViewById(R.id.wigger); holeGeschichtsDatenbank(); fragestellen(); antwortA.setOnClickListener(this); antwortB.setOnClickListener(this); antwortC.setOnClickListener(this); antwortD.setOnClickListener(this); weiter.setOnClickListener(this); } public void holeGeschichtsDatenbank(){ //Datenbanken werden nur erstellt, wenn die App gerade installiert wurde. if (MainActivity.installation==true){ //Deklaration und Initialisierung der ersten Datenbank. SQLiteDatabase gdb = openOrCreateDatabase(gdbName, MODE_PRIVATE, null); gdb.execSQL("CREATE TABLE " + gdbTabelle + "(id INTEGER, fragentext TEXT, bild String, rAntwort TEXT, kat Text)"); gdb.execSQL("INSERT INTO " + gdbTabelle + " VALUES(1, 'Wann fand die Wiedervereinigung statt?', 'wvg', '03.10.1990', 'WND')"); gdb.execSQL("INSERT INTO " + gdbTabelle + " VALUES(2, 'Wann fand die Reichsgründung statt?', 'reichsg', '18.01.1871', '187080')"); gdb.execSQL("INSERT INTO " + gdbTabelle + " VALUES(3, 'Wann trat das Grundgesetz inkraft?', 'gg', '23.05.1949', '4050')"); //Deklaration und Initialisierung der zweiten Datenbank. SQLiteDatabase wnd = openOrCreateDatabase(wndNAME, MODE_PRIVATE, null); wnd.execSQL("CREATE TABLE " + wndTabelle + "(id INTEGER, antwort TEXT)"); wnd.execSQL("INSERT INTO "+ wndTabelle + " VALUES(1,'09.11.1989')"); wnd.execSQL("INSERT INTO "+ wndTabelle+ " VALUES(2,'17.06.1990')"); wnd.execSQL("INSERT INTO "+ wndTabelle + " VALUES(3,'01.01.1990')"); wnd.execSQL("INSERT INTO "+ wndTabelle + " VALUES(4,'02.03.1990')"); gdb.close(); wnd.close(); } } protected void fragestellen(){ //Diese Methode ist für das Problem nicht relevant, sie funktioniert einwandfrei auswertung.setText("Fabelhaft"); auswertung.setTextColor(Color.WHITE); gedruckt = false; weiter.setVisibility(View.VISIBLE); int ind = (int)(Math.random() * laenge)+1; if (schongefragt.size()!=laenge){ antwortA.setBackgroundColor(Color.MAGENTA); antwortB.setBackgroundColor(Color.MAGENTA); antwortC.setBackgroundColor(Color.MAGENTA); antwortD.setBackgroundColor(Color.MAGENTA); antwortA.setText("Antwort A"); antwortB.setText("Antwort B"); antwortC.setText("Antwort C"); antwortD.setText("Antwort D"); //Now choosing random question while (schongefragt.contains(ind)){ ind = (int)(Math.random() * laenge)+1; } schongefragt.add(ind); setzefrage(ind); } } @SuppressLint("ResourceType") protected void setzefrage(int j){ if (j <=laenge){ //Aufruf der ersten Datenbank und Auswahl der Werte funktionieren einwandfrei SQLiteDatabase db = openOrCreateDatabase(gdbName, MODE_PRIVATE, null ); Cursor cursor = db.rawQuery("SELECT * FROM " + gdbTabelle+ " WHERE id = ' " + j + " ' " , null); cursor.moveToFirst(); frage.setText(cursor.getString(1)); imageName = cursor.getString(2); int imageID = getResources().getIdentifier(imageName, "drawable", getPackageName()); gBild.setImageResource(imageID); aw = (int) (Math.random()*4) +1; /* Die erste Datenbank enthält alle Fragen und die richtige Antwortmöglichkeit, die auf einen zufälligen Knopf platziert wird */ switch (aw){ case 1: antwortA.setText(cursor.getString(3)); rButton = antwortA; break; case 2: antwortB.setText(cursor.getString(3)); rButton = antwortB; break; case 3: antwortC.setText(cursor.getString(3)); rButton = antwortC; break; case 4: antwortD.setText(cursor.getString(3)); rButton = antwortD; break; } if(j==1){ /*Wenn die Frage mit dem Index 1 ausgwählt wird, werden zusätzlich noch Antwortmöglichkeiten auf den Knöpfen platziert, die in der zweiten Datenbank erhalten sind. Die gleiche Prozedur wie oben, nur funktioniert es nicht. */ try{ //Kategorie k = new Kategorie(); for (int i = 0; i < 4; i++) { if (knoepp[i] != rButton) { SQLiteDatabase db2 = openOrCreateDatabase(wndNAME, MODE_PRIVATE, null); Cursor cursor2 = db2.rawQuery("SELECT * FROM " + wndTabelle + " WHERE id = ' " + (i+1) + " ' ", null); cursor2.moveToFirst(); knoepp[i].setText(cursor2.getString(1)); cursor2.close(); db2.close(); } } }catch(Exception e){ frage.setTextSize(15); frage.setText(e.getMessage()); System.out.println(e.getMessage()); } } cursor.close(); db.close(); } } @Override public void onClick(View view) { // Diese Methode schaut, ob die Antwort stimmt und die funktioniert einwandfrei. } }
Hallo zusammen,
ich bin dabei eine Quiz-App zu programmieren, diese enthält unter anderem die Klasse „Geschichte“. Alle anderen Klassen funktionieren einwandfrei und sind für unsere Betrachtung nicht von Bedeutung.
Wenn ich dieses Programm ausführe, erhalte ich eine Fehlermeldung, die ihr im Anhang euch anschauen könnt.
Es erschließt sich mir nicht, weshalb die App anscheinend die zweite Datenbank nicht finden kann, das dies bei der ersten reibungslos geklappt hat.