Bestmögliche Realisierung meiner Idee - Brauche Rat -

I

iL_CoDiNo

Ambitioniertes Mitglied
2
Hallo Leute!

Für die Uni möchte ich eine APP Programmieren.

Vorab:
Ich habe keine großen Kenntnisse und brauche hier auch nicht erklärt wie mann Programmiert. Es geht eher das mir das Wissen fehlt wie ich meine Idee am besten umsetzte. Mein Eclipse steht und eine erste APP mit ein paar Seiten und Buttons steht.

Meine Idee:
Ich möchte für meinen Studiengang ein Programm schreiben wo die jeweiligen Facher aufgelistet werden. Jede Vorlesung soll gespickt mit Information zur Veranstaltung( Themen, Dauer, Dozent usw) sein. Sind +-30 Veranstaltungen.
Soweit kein großes Problem das kriege ich hin. Sicher nicht in der elegantesten Art aber machbar.

Am liebsten würde ich das die Studenten selber Bemerkungen und die Vorlesung bewerten. Zum Kontakte knüpfen und Austausch.

Die Studenten sollten sich auch einloggen/registireren können. Was muss ich dafür realisieren?

Und da hadert es. Wie realisiere ich sowas? Ist es sehr kompliziert? Für meine Aufgabe würde eine reine Informationsapp reichen. Jedoch möchte ich etwas mehr. Kann mir da jmd ein paar Tipps geben? Wichtige Schlagwörter?

Danke im voraus
 
Schlagwörter möchtest du? Xd
Java, php, Rest, Google App engine, Google cloud endpoints..

(Ich glaube ich würde die endpoints nehmen.. Klingt so als würden diese reichen xd)

LG. Und gute Nacht

Gesendet von meinem GT-I9300 mit der Android-Hilfe.de App
 
Die endpoints klingen schonmal interessant.

Danke dafür
 
MYSQL für die Daten, PHP zum Ausliefern, JAVA und evtl SQLITE zum Anzeigen und Speichern. Z.B. Zwei MYSQL-Tabellen würden schon reichen: Registrierte Benutzer und Kennwörter und in die zweite Veranstaltungen, Dauer, etc. PHP liest dann diese aus und liefert sie z.B. über XML an die App
 
Danke das sind gute Tipps.

Habe dir diesbezüglich auch eine PN geschrieben.
Die Dienste sind mir bekannt habe aber noch nie mit diesen gearbeitet.

Aber eine login funktion scheint wirklich sehr simpel realisierbar zu sein! Danke!
 
Ändern sich die Termine für die Vorlesungen oder sind diese fix? Dauer, Themen, Dozent immer gleich? Dann brauch man keine Datenbank für die Termine. Hingegen ändern sie sich häufig, dann sollte man die Aktualisierung über das Internet machen, da jedes Mal eine neue App herauszubringen sehr aufwändig ist.

Zum Login: Android generiert beim ersten Start eine einzigartige ID. So kann der Benutzer sich anmelden, ohne dass irgendwelche Daten gespeichert werden müssen. Diese wird an den Webserver gesendet: PHP "schaut" in der MYSQL-Datenbank nach, ob diese ID existiert und zugangsberechtigt ist und liefert dann "ja" oder "nein" zurück. Beim erstmaligen Benutzen müssen halt z.B. Name, Email, Kurs, etc. angegeben werden. Diese Daten werden via Internet und PHP in der Datenbank gespeichert - zusammen mit der Geräte ID.

ID auslesen:
Code:
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Random;

import android.content.Context;
import android.content.SharedPreferences;
import android.provider.Settings.Secure;
import android.telephony.TelephonyManager;
import android.util.Log;

public class DeviceID 
{
    private static String ID = null;
    static Context context;
    public static final String PREFS_NAME = "prefs";

    public static String getID(Context c) 
    {
        context = c;
        
        if (ID == null) 
        {
            SharedPreferences shared = context.getSharedPreferences(PREFS_NAME, 0);
            ID = shared.getString("deviceId", "0");
        }
        if (ID.equals("0")) 
        {
            ID = generateID();

            if (ID != null) 
            {
                SharedPreferences shared = context.getSharedPreferences(PREFS_NAME, 0);
                SharedPreferences.Editor editor = shared.edit();
                editor.putString("deviceId", ID);
                editor.commit();
            }
        }
        
        Log.i("OVerti", "DeviceID=" + String.valueOf(ID));

        return ID;
    }

    private static String generateID() 
    {
        String deviceId = Secure.getString(context.getContentResolver(), Secure.ANDROID_ID);

        if (deviceId == null) 
        {
            deviceId = ((TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE)).getDeviceId();

            if (deviceId == null) 
            {
                Random tmpRand = new Random();
                deviceId = String.valueOf(tmpRand.nextLong());
            }
        }
        return getHash(deviceId);
    }

    public static String getHash(String stringToHash) 
    {
        MessageDigest digest = null;
        try 
        {
            digest = MessageDigest.getInstance("SHA-1");
        } 
        catch (NoSuchAlgorithmException e) 
        {
            e.printStackTrace();
        }

        byte[] result = null;
        try 
        {
            result = digest.digest(stringToHash.getBytes("UTF-8"));
        } catch (UnsupportedEncodingException e) 
        {
            e.printStackTrace();
        }

        StringBuilder sb = new StringBuilder();

        for (byte b : result)
        {
            sb.append(String.format("%02X", b));
        }

        String messageDigest = sb.toString();
        return messageDigest;
    }

Benötigte Berechtigungen:

Code:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
 
Die Termine sind im voraus bekannt auch über mehrere Semester da diese immer abwechselnd stattfinden. Dauer Themen und Dozent sind auch immer gleich also keine Tabelle.

Damit die Login Abfrage funktioniert muss aber der Webserver ständig laufen, oder? Sprich mein Rechner. Falls ja kann ich das so nicht realisieren da es praktisch ein einmaliges Projekt sein soll und nicht über Monate/Jahre gepflegt wird. Kommt die APP gut an kann sich dies aber änder.

Herzlichen Dank!
 
Klar sollte der Webserver immer laufen. Dafür gibt es aber auch kostenlose Webspaceangebote. Sehr zu empfehlen ist PHP-Friends.de Webhosting. Dies ist alles kostenlos und hat nahezu den gleichen Funktionsumfang wie ein kostenpflichtiger Hoster.

Ansonsten ist auch alles über ein RaspberryPi machbar (Raspberry Pi). Dieser hat eine Leistungsaufnahme von max. 4 Watt, also recht stromsparend. Kostenpunkt ca. 40-45€. Den könnte man auch zur Not in der Uni betreiben *husthust* :D. Auf diesen einfach einen Webserver, PHP und MYSQL packen und die Sache ist gegessen
 
  • Danke
Reaktionen: iL_CoDiNo
So der Aufbau meiner App ist nun fertig. Fehlt nur noch der "Inhalt" der Fächer.

Was ich gerne tun würde wäre eine Kommentarfunktion. Sprich das Studenten die Vorlesung bewerten und Kommentare hinzufügen.

Oder eine Umfrage welche die Ergebnisse loggt und anzeigt.

Wie realisiere ich sowas? Finde im keine Beispiele dazu.
Kann mir wer da helfen?

Grüße
 

Ähnliche Themen

R
Antworten
4
Aufrufe
740
Rapidoman
R
R
  • RalfKahl
Antworten
4
Aufrufe
194
RalfKahl
R
SpeedySix
Antworten
13
Aufrufe
1.409
jogimuc
J
Zurück
Oben Unten