[Android] ständige Aktualisierung und Firebase ( gcm )

OP #5310877
Lesenswert?
• ▲
▼
Hallo,

ich will mir für meinen Server eine kleine Android App schreiben. Eine 
HTTP bzw. HTTPS Verbindung bekomme ich bereits, den Request ebenfalls. 
Aber wie kann ich das ganze nun dauerhaft machen wie in einer Schleife?

Hier mal mein Testcode

MainActivity.java
1
package ovh.dmant.XXX.XXX;
2
import android.support.v7.app.AppCompatActivity;
3
import android.os.Bundle;
4
import android.widget.TextView;
5

6

7
public class MainActivity extends AppCompatActivity {
8

9
    @Override
10
    protected void onCreate(Bundle savedInstanceState) {
11
        super.onCreate(savedInstanceState);
12
        setContentView(R.layout.activity_main);
13

14
        String url = "https://XXX/android.php";
15
        TextView textView = (TextView) findViewById(R.id.textView);
16
        new GetHttpTask(textView).execute(url);
17
    }
18

19
}

GetHttpTask.java
1
package ovh.dmant.XXX.XXX;
2

3
import android.os.AsyncTask;
4
import android.widget.TextView;
5

6
import java.io.BufferedInputStream;
7
import java.io.BufferedReader;
8
import java.io.IOException;
9
import java.io.InputStream;
10
import java.io.InputStreamReader;
11
import java.net.URL;
12

13
import javax.net.ssl.HttpsURLConnection;
14

15
public class GetHttpTask extends AsyncTask<String, Void, String> {
16
    private TextView textView;
17

18
    public GetHttpTask(TextView textView) {
19
        this.textView = textView;
20
    }
21

22
    @Override
23
    protected String doInBackground(String... strings) {
24
        String httprequest = "UNDEFINED";
25
        try {
26
            URL url = new URL(strings[0]);
27
            HttpsURLConnection urlConnection = (HttpsURLConnection) url.openConnection();
28

29
            InputStream stream = new BufferedInputStream(urlConnection.getInputStream());
30
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(stream));
31
            StringBuilder builder = new StringBuilder();
32

33
            String inputString;
34
            while ((inputString = bufferedReader.readLine()) != null) {
35
                builder.append(inputString);
36
            }
37

38
            httprequest = builder.toString();
39

40
            urlConnection.disconnect();
41
        } catch (IOException e) {
42
            e.printStackTrace();
43
        }
44
        return httprequest;
45
    }
46

47
    @Override
48
    protected void onPostExecute(String temp) {
49
        textView.setText(temp);
50
    }
51
}

Sobald ich die App starte werden die Daten einmalig abgerufen. Also das 
klappt, nur wie mache ich das nun ständig? Also z.b. alle 10 Sek soll 
der die Http abfrage machen?

Und wie kriege ich das umgebaut das ich den HttpRequest in einen String 
bekomme, also z.b. so
1
httprequest = gibmirdenrequest(URL);
und dann steht in httprequest halt eben der request der jeweiligen url 
sodass ich das dann weiter verarbeiten kann bevor ich es auf den 
textview schicke.

Dann verstehe ich das GCM bzw. jetzt das Firebase nicht so richtig. Ich 
habe vor 3 oder 4 Jahren das letzte mal mit GCM gearbeitet. Aber das 
Firebase, da blicke ich nun garnicht mehr durch. Hat da jemand von euch 
vielleicht erfahrungen mit und  oder ein nettes Tutorial  
Informationen?

Danke

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.