PanelRandomTeam.java :  » App » picturecounter » com » appspot » thinkhea » Android Open Source

Android Open Source » App » picturecounter 
picturecounter » com » appspot » thinkhea » PanelRandomTeam.java
package com.appspot.thinkhea;

import java.util.Vector;

import android.app.Activity;
import android.content.Intent;
import android.database.SQLException;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.GridView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

import com.appspot.thinkhea.model.MyDBHelper;
import com.appspot.thinkhea.model.Picture;
import com.appspot.thinkhea.view.SeleableGridRecordAdapter;

public class PanelRandomTeam extends Activity {
  private Vector<Picture> c;
  private MyDBHelper db;
  private GridView v;
  private String tag = "PanelRandomTeam";
  
  private int players =0;
  private int players_per_team =0;
  private int teams =0;

  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().setBackgroundDrawableResource(R.drawable.bg);
    setTitle(R.string.desc_random_picture);
    setContentView(R.layout.panel_add_record);
    
    Bundle bundle = this.getIntent().getExtras();
    players = bundle.getInt("PLAYERS");
    players_per_team = bundle.getInt("PLAYER_PER_TEAM");
    teams = bundle.getInt("TEAM");
    
    // handle list event and model
    v = (GridView) findViewById(R.id.RecordGridView);
    v.setFocusable(true);
    v.setClickable(true);
    v.setOnItemClickListener(new OnItemClickListener() {
      @Override
      public void onItemClick(AdapterView<?> a, View v, int position,
          long id) {
        ((SeleableGridRecordAdapter) a.getAdapter())
            .setSelected(position);
      }
    });
    loadPictures();

    // Add Button Listener
    Button b = (Button) findViewById(R.id.BtnGoBack);
    b.setOnClickListener(new View.OnClickListener() {
      public void onClick(View v) {
        Intent myIntent = new Intent(PanelRandomTeam.this,
            PanelSelectRandomFormat.class);
        PanelRandomTeam.this.startActivity(myIntent);

      }
    });

    // Add Button Listener
    Button ba = (Button) findViewById(R.id.BtnAddRecordNext);
    ba.setOnClickListener(new View.OnClickListener() {
      public void onClick(View v) {
        GridView lv = (GridView) findViewById(R.id.RecordGridView);
        Vector<Picture> pics = ((SeleableGridRecordAdapter) lv
            .getAdapter()).getSelected();

        if (pics.size() != players) {
          Toast.makeText(PanelRandomTeam.this,
              "Please select "+players+" players for a game.",
              Toast.LENGTH_SHORT).show();
          return;
        }
        // save selected Game into DB
        long result = savePictures(pics);
        if (result == -1) {
          Toast.makeText(PanelRandomTeam.this,
              tag + " Error in saving record.",
              Toast.LENGTH_SHORT).show();
          return;
        }
        Toast.makeText(PanelRandomTeam.this, "Random Team up.",
            Toast.LENGTH_SHORT).show();
          
        Bundle bundle = new Bundle();
        bundle.putInt("PLAYERS", players);
        bundle.putInt("PLAYER_PER_TEAM", players_per_team);
        bundle.putInt("TEAM", teams);
        
         Intent myIntent = new Intent(PanelRandomTeam.this,
             PanelRandomTeamView.class);
         myIntent.putExtras(bundle);
         PanelRandomTeam.this.startActivity(myIntent);
      }
    });

  }

  protected long savePictures(Vector<Picture> pics) {
    if (db == null) {
      db = new MyDBHelper(this);
    }
    db.open();
    long result = -1;
    try {
      for (int b = 0; b < pics.size(); b++) {
        Picture f = pics.get(b);
        f.setRate(1);
        result = db.updatePicutre(f);
      }      
    } catch (SQLException e) {
      Log.e(tag, "SQLException - addRecord");
    }
    db.close();
    return result;
  }

  protected void loadPictures() {
    // load data from DB
    if (c != null) {
      c.clear();
    }
    if (db == null) {
      db = new MyDBHelper(this);
    }
    db.open();
    c = db.getAllPicutres();
    
    for (int b = 0; b < c.size(); b++) {
      Picture f = c.get(b);
      f.setRate(0);
      db.updatePicutre(f);
    }  
    db.close();
    SeleableGridRecordAdapter iAdapter = new SeleableGridRecordAdapter(
        this, c);
    // handle list event and model
    v.setAdapter(iAdapter);
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.