Android Open Source - RateBeer-Mobile Rate






From Project

Back to project page RateBeer-Mobile.

License

The source code is released under:

GNU General Public License

If you think the Android project RateBeer-Mobile listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Copyright 2010, Jesper Fussing Mrk/*from   www . j  a  v  a 2  s  .  c o  m*/
 *
 * This file is part of Ratebeer Mobile for Android.
 *
 * Ratebeer Mobile is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Ratebeer Mobile is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Ratebeer Mobile.  If not, see <http://www.gnu.org/licenses/>.
 */
package dk.moerks.ratebeermobile;

import java.util.ArrayList;
import java.util.List;

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;

import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import dk.moerks.ratebeermobile.activity.BetterRBDefaultActivity;
import dk.moerks.ratebeermobile.task.PostTwitterStatusTask;
import dk.moerks.ratebeermobile.task.SaveRatingTask;

public class Rate extends BetterRBDefaultActivity {
  @SuppressWarnings("unused")
  private static final String LOGTAG = "Rate";
    String beername =  null;
    String beerid =  null;
  
    private TextView rateCharleftText = null;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.rate);
        
        Bundle extras = getIntent().getExtras();
        if(extras !=null) {
          beername = extras.getString("BEERNAME");
          beerid = extras.getString("BEERID");
        }
        
        rateCharleftText = (TextView) findViewById(R.id.rate_label_charleft);
        rateCharleftText.setText(getText(R.string.rate_charleft) + " 75");
        EditText rateComment = (EditText) findViewById(R.id.rate_value_comments);
        rateComment.addTextChangedListener(new TextWatcher(){
      public void afterTextChanged(Editable s) {
      }

      public void beforeTextChanged(CharSequence s, int start, int count,  int after) {
      }

      public void onTextChanged(CharSequence s, int start, int before, int count) {
        int charNumber = s.length();
        int resultNumber = 75 - charNumber;
        if(resultNumber > 0){
          rateCharleftText.setText(getText(R.string.rate_charleft) + " " + resultNumber);
        } else {
          rateCharleftText.setText("");
        }
      }
        });
        
        TextView beernameText = (TextView) findViewById(R.id.rate_label_beername);
        beernameText.setText(beername);
        
        Button rateButton = (Button) findViewById(R.id.rate_button);
        rateButton.setOnClickListener(new View.OnClickListener() {
          public void onClick(View v) {
                
              EditText comment = (EditText) findViewById(R.id.rate_value_comments);
              final String commentString = comment.getText().toString();
                
          if(commentString.length() > 74){

                  Spinner aromaText = (Spinner) findViewById(R.id.rate_value_aroma);
                  Spinner appearanceText = (Spinner) findViewById(R.id.rate_value_appearance);
                  Spinner flavorText = (Spinner) findViewById(R.id.rate_value_flavor);
                  Spinner palateText = (Spinner) findViewById(R.id.rate_value_palate);
                  Spinner overallText = (Spinner) findViewById(R.id.rate_value_overall);
                  
                  final String aromaString = (String)aromaText.getSelectedItem();
                  final String appearanceString = (String)appearanceText.getSelectedItem();
                  final String flavorString = (String)flavorText.getSelectedItem();
                  final String palateString = (String)palateText.getSelectedItem();
                  final String overallString = (String)overallText.getSelectedItem();
                  String totalScore = calculateTotalScore(aromaString, appearanceString, flavorString, palateString, overallString);
                  
            List<NameValuePair> parameters = new ArrayList<NameValuePair>();  
            parameters.add(new BasicNameValuePair("BeerID", beerid));  
            parameters.add(new BasicNameValuePair("aroma", aromaString));  
            parameters.add(new BasicNameValuePair("appearance", appearanceString));  
            parameters.add(new BasicNameValuePair("flavor", flavorString));  
            parameters.add(new BasicNameValuePair("palate", palateString));  
            parameters.add(new BasicNameValuePair("overall", overallString));
            parameters.add(new BasicNameValuePair("totalscore", totalScore));
            parameters.add(new BasicNameValuePair("Comments", commentString));
            
            new SaveRatingTask(Rate.this).execute(parameters.toArray(new NameValuePair[] {}));
            
            SharedPreferences prefs = getSharedPreferences(Settings.PREFERENCETAG, 0);
            if (prefs.getBoolean("rb_twitter_ratings", false)) {
              new PostTwitterStatusTask(Rate.this).execute(buildTwitterMessage(totalScore));
            }
            
            finish();
            
          } else {
            Toast.makeText(Rate.this, R.string.toast_minimum_length, Toast.LENGTH_LONG).show();
          }
            }
          
          private String buildTwitterMessage(String score) {
            return getString(R.string.twitter_rating_message, beername, score, getUserId());
          }

      private String calculateTotalScore(String aromaString, String appearanceString, String flavorString, String palateString, String overallString) {
        int aroma = Integer.parseInt(aromaString);
        int appearance = Integer.parseInt(appearanceString);
        int flavor = Integer.parseInt(flavorString);
        int palate = Integer.parseInt(palateString);
        int overall = Integer.parseInt(overallString);
        
        int total = (aroma + appearance + flavor + palate + overall);

        float totalscore =  ((float)total) / 10;
        String result = "" + totalscore;
        return result;
      }
        });
    }
    
    @Override
    protected void onStart() {
      super.onStart();
    TextView beernameText = (TextView) findViewById(R.id.rate_label_beername);
    beernameText.setFocusable(true);
    beernameText.setFocusableInTouchMode(true);
    beernameText.requestFocus();

    }

  public void onRatingSaved() {
    Toast.makeText(getApplicationContext(), getText(R.string.toast_rate_success), Toast.LENGTH_SHORT).show();
  }
  
}




Java Source Code List

com.github.droidfu.DroidFuApplication.java
com.github.droidfu.DroidFu.java
com.github.droidfu.activities.BetterActivityHelper.java
com.github.droidfu.activities.BetterActivity.java
com.github.droidfu.activities.BetterDefaultActivity.java
com.github.droidfu.activities.BetterListActivity.java
com.github.droidfu.adapters.ListAdapterWithProgress.java
com.github.droidfu.concurrent.BetterAsyncTaskCallable.java
com.github.droidfu.concurrent.BetterAsyncTask.java
com.github.droidfu.services.BetterService.java
dk.moerks.ratebeermobile.BeerMail.java
dk.moerks.ratebeermobile.BeerView.java
dk.moerks.ratebeermobile.Home.java
dk.moerks.ratebeermobile.MailAction.java
dk.moerks.ratebeermobile.MailView.java
dk.moerks.ratebeermobile.PlaceView.java
dk.moerks.ratebeermobile.Places.java
dk.moerks.ratebeermobile.RateBeer.java
dk.moerks.ratebeermobile.Rate.java
dk.moerks.ratebeermobile.Rating.java
dk.moerks.ratebeermobile.Search.java
dk.moerks.ratebeermobile.Settings.java
dk.moerks.ratebeermobile.activity.BetterRBActivity.java
dk.moerks.ratebeermobile.activity.BetterRBDefaultActivity.java
dk.moerks.ratebeermobile.activity.BetterRBListActivity.java
dk.moerks.ratebeermobile.activity.RBActivity.java
dk.moerks.ratebeermobile.adapters.FeedAdapter.java
dk.moerks.ratebeermobile.adapters.MessageAdapter.java
dk.moerks.ratebeermobile.adapters.PlacesAdapter.java
dk.moerks.ratebeermobile.adapters.ReviewAdapter.java
dk.moerks.ratebeermobile.adapters.SearchAdapter.java
dk.moerks.ratebeermobile.exceptions.LocationException.java
dk.moerks.ratebeermobile.exceptions.LoginException.java
dk.moerks.ratebeermobile.exceptions.NetworkException.java
dk.moerks.ratebeermobile.exceptions.RBException.java
dk.moerks.ratebeermobile.exceptions.RBParserException.java
dk.moerks.ratebeermobile.io.NetBroker.java
dk.moerks.ratebeermobile.io.TwitterPoster.java
dk.moerks.ratebeermobile.overlays.PinOverlayItem.java
dk.moerks.ratebeermobile.receivers.BeerMailServiceReceiver.java
dk.moerks.ratebeermobile.receivers.BootReceiver.java
dk.moerks.ratebeermobile.services.BeerMailService.java
dk.moerks.ratebeermobile.services.BeerSearchHistoryProvider.java
dk.moerks.ratebeermobile.task.BarcodeLookupTask.java
dk.moerks.ratebeermobile.task.BetterRBTask.java
dk.moerks.ratebeermobile.task.DeleteBeermailTask.java
dk.moerks.ratebeermobile.task.PostTwitterStatusTask.java
dk.moerks.ratebeermobile.task.RefreshFriendFeedTask.java
dk.moerks.ratebeermobile.task.RetrieveBeerImageTask.java
dk.moerks.ratebeermobile.task.RetrieveBeerInfoTask.java
dk.moerks.ratebeermobile.task.RetrieveBeerReviewsTask.java
dk.moerks.ratebeermobile.task.RetrieveBeermailTask.java
dk.moerks.ratebeermobile.task.RetrieveBeermailsTask.java
dk.moerks.ratebeermobile.task.RetrievePlacesTask.java
dk.moerks.ratebeermobile.task.RetrieveRatingTask.java
dk.moerks.ratebeermobile.task.RetrieveUserIdTask.java
dk.moerks.ratebeermobile.task.SaveRatingTask.java
dk.moerks.ratebeermobile.task.SearchTask.java
dk.moerks.ratebeermobile.task.SendBeermailTask.java
dk.moerks.ratebeermobile.task.SetDrinkingBeerIdTask.java
dk.moerks.ratebeermobile.task.SetDrinkingStatusTask.java
dk.moerks.ratebeermobile.util.BCPParser.java
dk.moerks.ratebeermobile.util.RBJSONParser.java
dk.moerks.ratebeermobile.util.RBParser.java
dk.moerks.ratebeermobile.util.StringUtils.java
dk.moerks.ratebeermobile.vo.BeerInfo.java
dk.moerks.ratebeermobile.vo.Feed.java
dk.moerks.ratebeermobile.vo.MessageHeader.java
dk.moerks.ratebeermobile.vo.Message.java
dk.moerks.ratebeermobile.vo.PlacesInfo.java
dk.moerks.ratebeermobile.vo.RatingData.java
dk.moerks.ratebeermobile.vo.Review.java
dk.moerks.ratebeermobile.vo.SearchResult.java