Android App

Status
Niet open voor verdere reacties.

gast1235

Gebruiker
Lid geworden
18 mrt 2012
Berichten
35
Hallo allemaal,

Ik ben nu bezig met het programmeren van een android app. De bedoeling van de app is dat je om de zoveel uur een glas water moet drinken.
Nu wil ik dat de app de aantal glazen dat je gedronken heb optelt, maar ik heb geen flauw idee hoe dat moet.
Kan iemand mij ermee helpen??



Code:
package tab.android;

import java.util.Calendar;

import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;

public class VandaagActivity extends Activity {
	
    private boolean drink_glas1 = false;
    private boolean drink_glas2 = false;
    private boolean drink_glas3 = false;
    private boolean drink_glas4 = false;
    private boolean drink_glas5 = false;
    private boolean drink_glas6 = false;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.vandaag_inhoud);
        
        

        
        final MediaPlayer buttonSound1 = MediaPlayer.create(VandaagActivity.this, R.raw.backsound);
        
     // get a Calendar object with current time
        Calendar cal = Calendar.getInstance();
        // add 5 minutes to the calendar object
        cal.add(Calendar.MINUTE, 1);
        Intent intent = new Intent(VandaagActivity.this, AlarmReceiver.class);
        buttonSound1.start();
        intent.putExtra("alarm_message", "Drink glaasje water!");
        // In reality, you would want to have a static variable for the request code instead of 192837
        PendingIntent sender = PendingIntent.getBroadcast(this, 192837, intent, PendingIntent.FLAG_UPDATE_CURRENT);
        
        // Get the AlarmManager service
        AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
        am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), sender);
        
        
        final ImageView drinkglas1_button = (ImageView)findViewById(R.id.drinkglas1);
        final ImageView drinkglas2_button = (ImageView)findViewById(R.id.drinkglas2);
        final ImageView drinkglas3_button = (ImageView)findViewById(R.id.drinkglas3);
        final ImageView drinkglas4_button = (ImageView)findViewById(R.id.drinkglas4);
        final ImageView drinkglas5_button = (ImageView)findViewById(R.id.drinkglas5);
        final ImageView drinkglas6_button = (ImageView)findViewById(R.id.drinkglas6);

        drinkglas1_button.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
            	drinkglas1_button.setImageResource((drink_glas1 ? R.drawable.glas2 : R.drawable.glas));
            	drink_glas1 = (drink_glas1 ? false : true);
            	
    		}
    	});
        
        drinkglas2_button.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
            	drinkglas2_button.setImageResource((drink_glas2 ? R.drawable.glas2 : R.drawable.glas));
            	drink_glas2 = (drink_glas2 ? false : true);
    		}
    	});

        drinkglas3_button.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
            	drinkglas3_button.setImageResource((drink_glas3 ? R.drawable.glas2 : R.drawable.glas));
            	drink_glas3 = (drink_glas3 ? false : true);
    		}
    	});

        drinkglas4_button.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
            	drinkglas4_button.setImageResource((drink_glas4 ? R.drawable.glas2 : R.drawable.glas));
            	drink_glas4 = (drink_glas4 ? false : true);
    		}
    	});
        
        drinkglas5_button.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
            	drinkglas5_button.setImageResource((drink_glas5 ? R.drawable.glas2 : R.drawable.glas));
            	drink_glas5 = (drink_glas5 ? false : true);
    		}
    	});

        drinkglas6_button.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
            	drinkglas6_button.setImageResource((drink_glas6 ? R.drawable.glas2 : R.drawable.glas));
            	drink_glas6 = (drink_glas6 ? false : true);
    		}
    	});

    }

}
 
Een boolean kan alleen op 'true' of 'false' staan, en is dus niet geschikt om iets mee op te tellen.

Een integer is daar wel goed voor, zoals al aangegeven door edje.
 
Het kan wel dat je bedoelt van:
Is het glas gedronken dan moet je optellen.

Dus melding weergeven, er is nog niks gedronken.
Boolean gedronken = false;

Er is gedronken en wordt aangegeven.
gedronken = true;

int aantalGlazen = 0;
if(gedronken)
{
aantalGlazen + 1;
}
 
Laatst bewerkt:
Dus zoiets is niet mogelijk dan:

als de waarde true is tel je er 1 bij op en als de waarde false is trek je er 1 van af.
 
jah dat bedoel ik EdjeCageman, maar waar moet ik die code zetten dan ??

Want ik heb 6 glazen.
 
EdjeCageman ik bedoel hoe moet ik het totale uitrekenen.

Dus als ik het glaasje heb aangevinkt dat die het optelt en als ik het vinkje weg haal dat die het aftrekt.
Ik wil het totale aantal gedronken glazen op die dag bij elkaar optellen.

En het totale wil ik op mijn scherm zien.
 
Waarom wil je precies met een boolean werken?

Gewoon een integer is veel makkelijker

als je hem aanklikt telt hij op

int + 1

Als je hem weer wegklikt telt hij af

int - 1
 
Als je goed in mijn code kijkt kan je zien waarom ik een boolean gebruik.
Ik gebruik het voor het aan en uit vinken van mijn glas water (zie afb.)
Het probleem is: ik moet 2 keer op glaasje klikken en dan komt er 1 te staan en als ik het vinkje weg haal wordt het ook niet 0 meer.


hierbij mail ik mijn xml en java file.
Ik kom er niet uit ??
water.jpg

[XML]
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
android:id="@+id/widget0"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView
android:id="@+id/drinkglas1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="30dp"
android:layout_y="150dp"
android:background="@drawable/glas" />
<ImageView
android:id="@+id/drinkglas2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="120dp"
android:layout_y="150dp"
android:background="@drawable/glas"
android:drawable="@drawable/glas"
android:state_selected="true" />
<ImageView
android:id="@+id/drinkglas3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="210dp"
android:layout_y="150dp"
android:background="@drawable/glas" />
<ImageView
android:id="@+id/drinkglas4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="30dp"
android:layout_y="220dp"
android:background="@drawable/glas" />
<ImageView
android:id="@+id/drinkglas5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="120dp"
android:layout_y="220dp"
android:background="@drawable/glas" />
<ImageView
android:id="@+id/drinkglas6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="210dp"
android:layout_y="220dp"
android:background="@drawable/glas" />
<TextView
android:id="@+id/widget33"
android:layout_width="wrap_content"
android:layout_height="18dp"
android:text="Welkom bij H2O wekker!" />
<TextView
android:id="@+id/widget34"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hieronder zijn de glazen te vinden die je vandaag nog moet drinken."
android:layout_y="40dp" />

<TextView
android:id="@+id/totaalGlazen"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_y="80dp" />

</AbsoluteLayout>

[/XML]



Code:
package tab.android;

import java.util.Calendar;

import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.TextView;

public class VandaagActivity extends Activity {
	
    private boolean drink_glas1 = false;
    private boolean drink_glas2 = false;
    private boolean drink_glas3 = false;
    private boolean drink_glas4 = false;
    private boolean drink_glas5 = false;
    private boolean drink_glas6 = false;
    
    
    TextView AantalGlazenv;
    
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.vandaag_inhoud);
       
        

        AantalGlazenv = (TextView) findViewById(R.id.totaalGlazen);
        
        
        final MediaPlayer buttonSound1 = MediaPlayer.create(VandaagActivity.this, R.raw.backsound);
        
     // get a Calendar object with current time
        Calendar cal = Calendar.getInstance();
        // add 5 minutes to the calendar object
        cal.add(Calendar.MINUTE, 1);
        Intent intent = new Intent(VandaagActivity.this, AlarmReceiver.class);
        buttonSound1.start();
        intent.putExtra("alarm_message", "Drink glaasje water!");
        // In reality, you would want to have a static variable for the request code instead of 192837
        PendingIntent sender = PendingIntent.getBroadcast(this, 192837, intent, PendingIntent.FLAG_UPDATE_CURRENT);
        
        // Get the AlarmManager service
        AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
        am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), sender);
        
        
        final ImageView drinkglas1_button = (ImageView)findViewById(R.id.drinkglas1);
        final ImageView drinkglas2_button = (ImageView)findViewById(R.id.drinkglas2);
        final ImageView drinkglas3_button = (ImageView)findViewById(R.id.drinkglas3);
        final ImageView drinkglas4_button = (ImageView)findViewById(R.id.drinkglas4);
        final ImageView drinkglas5_button = (ImageView)findViewById(R.id.drinkglas5);
        final ImageView drinkglas6_button = (ImageView)findViewById(R.id.drinkglas6);

        drinkglas1_button.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
            	drinkglas1_button.setImageResource((drink_glas1 ? R.drawable.glas2 : R.drawable.glas));
            	drink_glas1 = (drink_glas1 ? false : true);
            	int AantalGlazen = 0;
            	boolean gedronken = false;
            	AantalGlazen = (gedronken ? AantalGlazen-1 : AantalGlazen+1);
            	AantalGlazenv.setText("Totaal gedronken " + AantalGlazen);
    		}
    	});
        
        drinkglas2_button.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
            	drinkglas2_button.setImageResource((drink_glas2 ? R.drawable.glas2 : R.drawable.glas));
            	drink_glas2 = (drink_glas2 ? false : true);
    		}
    	});

        drinkglas3_button.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
            	drinkglas3_button.setImageResource((drink_glas3 ? R.drawable.glas2 : R.drawable.glas));
            	drink_glas3 = (drink_glas3 ? false : true);
    		}
    	});

        drinkglas4_button.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
            	drinkglas4_button.setImageResource((drink_glas4 ? R.drawable.glas2 : R.drawable.glas));
            	drink_glas4 = (drink_glas4 ? false : true);
    		}
    	});
        
        drinkglas5_button.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
            	drinkglas5_button.setImageResource((drink_glas5 ? R.drawable.glas2 : R.drawable.glas));
            	drink_glas5 = (drink_glas5 ? false : true);
    		}
    	});

        drinkglas6_button.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
            	drinkglas6_button.setImageResource((drink_glas6 ? R.drawable.glas2 : R.drawable.glas));
            	drink_glas6 = (drink_glas6 ? false : true);
    		}
    	});
        

    }

}
 

Bijlagen

  • water.jpg
    water.jpg
    66,1 KB · Weergaven: 94
  • water.jpg
    water.jpg
    62,7 KB · Weergaven: 22
Ik heb je 4x een code gegeven, als ik kijk naar je code snap ik niet waarom je vastloopt op zo'n basic iets.

EdjeCageman ik bedoel hoe moet ik het totale uitrekenen.

Dus als ik het glaasje heb aangevinkt dat die het optelt en als ik het vinkje weg haal dat die het aftrekt.
Ik wil het totale aantal gedronken glazen op die dag bij elkaar optellen.

En het totale wil ik op mijn scherm zien.

Zoals ik het zie is mijn code gewoon wat je zoekt:
int AantalGlazen = 0; //Totaal aantal glazen water
Boolean gedronken = false; //De bool die kijkt of er geklikt is of niet
AantalGlazen = (gedronken ? AantalGlazen+1 : AantalGlazen-1) //controleert of de waarde true ( +1 ) of fals is ( -1 ) en plus/min dit bedrag aan het aantal glazen.
 
Laatst bewerkt door een moderator:
Ik ben nog maar een beginner met programmeren, dus daarom is het voor mij nog wat moeilijk om het te begrijpen.

Bedankt voor je hulp
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan