Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ur.grades;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
- import java.io.Serializable;
- import java.io.StreamCorruptedException;
- import java.util.ArrayList;
- import android.app.Activity;
- import android.app.AlertDialog;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.os.Bundle;
- import android.text.Editable;
- import android.view.ContextMenu;
- import android.view.LayoutInflater;
- import android.view.Menu;
- import android.view.MenuInflater;
- import android.view.MenuItem;
- import android.view.View;
- import android.view.ContextMenu.ContextMenuInfo;
- import android.widget.AdapterView;
- import android.widget.ArrayAdapter;
- import android.widget.EditText;
- import android.widget.LinearLayout;
- import android.widget.ListAdapter;
- import android.widget.ListView;
- import android.widget.AdapterView.OnItemClickListener;
- import android.widget.Toast;
- public class Start extends Activity implements Serializable {
- private ListView listView;
- private ArrayList<String> lista = new ArrayList<String>();
- private ArrayList<String> cadeiras = new ArrayList<String>();
- private ArrayList<String> notas = new ArrayList<String>();
- private ArrayAdapter<String> adapter = null;
- private static String fich = "gravar.dat";
- EditText aux;
- LinearLayout dialerLayout;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.listagem);
- listView = (ListView)findViewById(R.id.listView1);
- listView.setTextFilterEnabled(true);
- listView.setChoiceMode( 1);
- registerForContextMenu(listView);
- listView.setOnItemClickListener(new OnItemClickListener() {
- public void onItemClick(AdapterView<?> parent, View view,
- int position, long id) {
- }
- });
- }
- @Override
- protected void onStart() {
- super.onStart();
- FileInputStream fin;
- try {
- fin = new FileInputStream(fich);
- ObjectInputStream in = new ObjectInputStream(fin);
- carregar(in);
- } catch (FileNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (StreamCorruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (ClassNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, lista);
- listView.setAdapter(adapter);
- }
- @Override
- protected void onPause() {
- // TODO Auto-generated method stub
- super.onPause();
- ObjectOutputStream out;
- try {
- out = new ObjectOutputStream(new FileOutputStream(fich));
- gravar(out);
- } catch (FileNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- //Menu de contexto
- public void onCreateContextMenu(ContextMenu menu, View v,
- ContextMenuInfo menuInfo) {
- super.onCreateContextMenu(menu, v, menuInfo);
- menu.setHeaderTitle("Opções");
- MenuInflater inflater = getMenuInflater();
- inflater.inflate(R.menu.menu, menu);
- }
- //Ao criar a aplicação, cria o menu com as devidas opções.
- public boolean onCreateOptionsMenu(Menu menu) {
- MenuInflater inflater = getMenuInflater();
- inflater.inflate(R.menu.menu_principal, menu);
- return true;
- }
- // O que fazer quando se clica num botão do Menu
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case R.id.adicionar:
- //Toast.makeText(this, "This is the Toast message", Toast.LENGTH_LONG).show();
- final AlertDialog.Builder alert = new AlertDialog.Builder(this);
- final EditText input = new EditText(this);
- LayoutInflater layoutInflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- dialerLayout = (LinearLayout) layoutInflater.inflate(R.layout.input, null);
- LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT);
- dialerLayout.setLayoutParams(params);
- alert.setView(dialerLayout);
- alert.setPositiveButton("Adicionar", new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int whichButton) {
- aux = (EditText)dialerLayout.findViewById(R.id.cadeira);
- String value = aux.getText().toString();
- aux = (EditText)dialerLayout.findViewById(R.id.nota);
- int nota = Integer.parseInt(aux.getText().toString());
- notas.add(String.valueOf(nota));
- cadeiras.add(value);
- String finalz = value+" : "+nota;
- lista.add(finalz);
- adapter.notifyDataSetChanged();
- }
- });
- alert.setNegativeButton("Cancelar",
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int whichButton) {
- dialog.cancel();
- }
- });
- alert.show();
- return true;
- case R.id.media:
- calcular_media();
- return true;
- case R.id.gravar:
- ObjectOutputStream out;
- try {
- out = new ObjectOutputStream(new FileOutputStream(fich));
- gravar(out);
- Toast.makeText(getApplicationContext(), "nice!", Toast.LENGTH_LONG).show();
- } catch (FileNotFoundException e) {
- // TODO Auto-generated catch block
- Toast.makeText(getApplicationContext(), "error1!", Toast.LENGTH_LONG).show();
- e.printStackTrace();
- } catch (IOException e) {
- Toast.makeText(getApplicationContext(), "error2!", Toast.LENGTH_LONG).show();
- e.printStackTrace();
- }
- return true;
- default: return super.onOptionsItemSelected(item);
- }
- }
- @Override
- public boolean onContextItemSelected(MenuItem item) {
- AdapterView.AdapterContextMenuInfo contextMenuInfo = (AdapterView.AdapterContextMenuInfo)item.getMenuInfo();
- if(item.getItemId()==R.id.item2){
- lista.remove(contextMenuInfo.position);
- notas.remove(contextMenuInfo.position);
- cadeiras.remove(contextMenuInfo.position);
- adapter.notifyDataSetChanged();
- return true;
- }
- return false;
- }
- public void calcular_media(){
- double contador=0;
- double soma_notas=0;
- double media=0;
- for(int i=0;i<notas.size();i++){
- contador++;
- soma_notas+=Double.parseDouble(notas.get(i));
- }
- media= (soma_notas)/(contador);
- Toast.makeText(getApplicationContext(), "Média = "+media, Toast.LENGTH_LONG).show();
- }
- public void gravar(ObjectOutputStream out) throws IOException {
- out.writeObject(lista);
- out.writeObject(cadeiras);
- out.writeObject(notas);
- out.close();
- }
- public void carregar(ObjectInputStream in) throws IOException, ClassNotFoundException {
- lista=(ArrayList<String>) in.readObject();
- cadeiras=(ArrayList<String>) in.readObject();
- notas= (ArrayList<String>) in.readObject();
- in.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement