Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Java
You last visited: Today at 02:15

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Realtime database Frage für Android

Discussion on Realtime database Frage für Android within the Java forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 2785
Join Date: Dec 2014
Posts: 403
Received Thanks: 1,354
Realtime database Frage für Android

Hallo epvp,

Ich bin neu in der app Entwicklung und habe mal eine Frage.

Ich nutze von firebase die Realtime database und möchte einen output haben in dem toast

Hier meine mainactivity

HTML Code:
package com.koridevbrowser.app;

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;

import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;


public class MainActivity extends AppCompatActivity  implement ValueEventListener{

private TextView mText;
private WebView mWebView;
ProgressBar progressBar;
private Toolbar toolbar;


private DatabaseReference database = FirebaseDatabase.getInstance().getReference();
private DatabaseReference mconf = database.child("version");

 [MENTION=295804]Override[/MENTION]
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    toolbar = (Toolbar) findViewById(R.id.app_bar);
    setSupportActionBar(toolbar);

    mText = (TextView) findViewById(R.id.About);

    mWebView = (WebView) findViewById(R.id.activity_main_webview);

    progressBar = (ProgressBar) findViewById(R.id.progressBar1);

    String userAgent = mWebView.getSettings().getUserAgentString();
    mWebView.getSettings().setUserAgentString(userAgent);
    WebSettings webSettings = mWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    mWebView.loadUrl("http://www.********************");
    mWebView.setWebChromeClient(new WebChromeClient());
    mWebView.setWebViewClient(new HelloWebViewClient());

}


 [MENTION=295804]Override[/MENTION]
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu_main, menu);
    return super.onCreateOptionsMenu(menu);
}

 [MENTION=295804]Override[/MENTION]
public boolean onOptionsItemSelected(final MenuItem item) {
    switch (item.getItemId()) {
        case R.id.home:
            mWebView.loadUrl("http://********************/");
            return true;
        case R.id.KoriFiles:
            mWebView.loadUrl("http://********************/forum/11-koridev-releases/");
            return true;
        case R.id.KoriRules:
            mWebView.loadUrl("http://********************/forum/26-foren-regeln/");
            return true;
        case R.id.KoriDonate:
            mWebView.loadUrl("http://********************/store/");
            return true;
        case R.id.KoriContact:
            mWebView.loadUrl("http://********************/contact/");
            return true;
        case R.id.KoriAbout:
            Toast.makeText(MainActivity.this, "Version: 0.3b", Toast.LENGTH_LONG).show();

            return true;
        default:
            return super.onOptionsItemSelected(item);


    }
}

 [MENTION=295804]Override[/MENTION]
public void onDataChange(DataSnapshot dataSnapshot) {
    if (dataSnapshot.getValue(String.class) !=null) {
        String value = dataSnapshot.getKey();
        if(value.equals("version")) {
            String text = dataSnapshot.getValue(String.class);
            mText.setText(text);
        }
    }

}

 [MENTION=295804]Override[/MENTION]
public void onCancelled(DatabaseError databaseError) {

}


private class HelloWebViewClient extends WebViewClient{


    [MENTION=295804]Override[/MENTION]
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        // TODO Auto-generated method stub
        super.onPageStarted(view, url, favicon);
    }

    [MENTION=295804]Override[/MENTION]
    public boolean shouldOverrideUrlLoading(WebView webView, String url)
    {
        webView.loadUrl(url);
        return true;
    }

    [MENTION=295804]Override[/MENTION]
    public void onPageFinished(WebView view, String url) {
        // TODO Auto-generated method stub
        super.onPageFinished(view, url);

        progressBar.setVisibility(view.GONE);
    }

}


 [MENTION=295804]Override[/MENTION]
public boolean onKeyDown(int keyCode, KeyEvent event) { //if back key is pressed
    if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
        mWebView.goBack();
        return true;

    }

    return super.onKeyDown(keyCode, event);

}

public void onBackPressed() {
    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
            MainActivity.this);

    // set title
    alertDialogBuilder.setTitle("Exit");

    // set dialog message
    alertDialogBuilder
            .setMessage("Do you really want to exit KoriDev?")
            .setCancelable(false)
            .setPositiveButton("Yes",new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog,int id) {
                    // if this button is clicked, close
                    // current activity
                    MainActivity.this.finish();
                }
            })
            .setNegativeButton("No",new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog,int id) {
                    // if this button is clicked, just close
                    // the dialog box and do nothing
                    dialog.cancel();
                }
            });

    // create alert dialog
    AlertDialog alertDialog = alertDialogBuilder.create();

    // show it
    alertDialog.show();

}
}
Nun möchte ich das der Wert meiner database hier ausgeben wird :
HTML Code:
Toast.makeText(MainActivity.this, "Version: 0.3b", Toast.LENGTH_LONG).show();
Die normale API von firebase schaut so aus :


HTML Code:
irebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("version");

// Read from the database
myRef.addValueEventListener(new ValueEventListener() {
    [MENTION=295804]Override[/MENTION]
    public void onDataChange(DataSnapshot dataSnapshot) {
        // This method is called once with the initial value and again
        // whenever data at this location is updated.
        String value = dataSnapshot.getValue(String.class);
        Log.d(TAG, "Value is: " + value);
    }

    [MENTION=295804]Override[/MENTION]
    public void onCancelled(DatabaseError error) {
        // Failed to read value
        Log.w(TAG, "Failed to read value.", error.toException());
    }
});
Also ich müsste es wieder auf die Standard API zurücksetzen das weiß ich aber wie lasse ich mir die value ausgeben? Ich habe via stackoverflow.com schon gefragt aber da kommt nichts mehr

Link dazu
.K0rí is offline  
Reply


Similar Threads Similar Threads
FRAGE FRAGE FRAGE FRAGE FRAGE FRAGE FRAGE
03/21/2011 - Technical Support - 5 Replies
Hi Leute, Habe ein Problem mit meinen PC. Habe Win 7 drauf will ihn formatieren also komlett reseten auf werkseinstellungen. Eine Recovery CD ist net dabei ( ist ein Notebook falls es wichtig ist xD ). Habe es mit dem format c probiert dann klick ich das an öffnet sich nur ein schwarzes kleines fenster das sich sofort wieder schließt. Wahrscheinlich falsche ruprik für solche probleme verschiebt mich einfach xDD. Danke im Vorraus ;) MFG
[Tool] Realtime server stats retriever (login trick)
10/22/2007 - SRO Hacks, Bots, Cheats & Exploits - 13 Replies
This little script shows stats of chosen server(stats=population) So you can login in few minutes with this tool It has autologin funcionality too - it can type your login info and then wait for free slots on server and login you automaticaly. This works for every server - just specifiy it in settings.ini(there is option for your acc info too) well... loading times are really long... this script DOES NOT send your id pw anywhere...



All times are GMT +1. The time now is 02:16.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.