package com.upc.pbe.upcnews; import java.io.File; import java.io.IOException; import java.net.MalformedURLException; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageButton; import android.widget.TextView; import android.widget.Toast; //Finestra incial i principal del programa public class MainActivity extends Activity implements OnClickListener { private final static String TAG = "Main"; private static String html; private ImageButton buttonDescarrega; private TextView URLText; @Override public void onCreate(Bundle savedInstanceState){ //Creem el layout super.onCreate(savedInstanceState); setContentView(R.layout.main_activity); Log.d(TAG, "onCreated"); //Especifiquem la ruta de descĂ rrega File tempFolder = new File(((UpcApp)getApplication()).getLocalPath()); if(tempFolder.mkdirs()) { Log.d(TAG,"Directory " + tempFolder.toString() + " created"); } //Creem els botons i text URLText = (TextView) findViewById(R.id.textViewUrl); buttonDescarrega = (ImageButton) findViewById(R.id.button); buttonDescarrega.setOnClickListener(this); updateURL(); } public void onClick(View v) { //Al polsar el boto s'inicia la descarrega Log.d(TAG, "onClicked"); this.descarregar(); if(!html.equals("EMPTY")) { ((UpcApp) getApplication()).setDesc(html); startActivity(new Intent(this, Directoris.class)); } } public void descarregar() { //Descarrega del document HTML de la URL especificada //Si hi ha errors, els mostrem en Toasts Descarrega d = new Descarrega(); html="EMPTY"; try { html = (String) d.doInBackground(((UpcApp)getApplication()).getUrl()); } catch(MalformedURLException e) { Toast.makeText(this, "Invalid URL", Toast.LENGTH_LONG).show(); } catch(IOException e) { Toast.makeText(this, "Can't find URL", Toast.LENGTH_LONG).show(); } } public void onResume(){ super.onResume(); updateURL(); } public void updateURL(){ URLText.setText(((UpcApp)getApplication()).getUrl()); } public boolean onCreateOptionsMenu(Menu menu) { //Determina el funcionament al apretar la tecla d'opcions getMenuInflater().inflate(R.menu.menu, menu); Log.d(TAG, "Menu"); return true; } public boolean onOptionsItemSelected(MenuItem item) { //Determina el funcionament al clickar en el menu d'opcions switch (item.getItemId()) { case R.id.itemprefs: startActivity(new Intent(this, Prefs.class)); Log.d(TAG, "Preferences"); return true; case R.id.itemhelp: startActivity(new Intent(this, Help.class)); Log.d(TAG, "Help"); return true; default: return false; } } }