package edu.gricar.brezskrbnik.vreme; import java.text.DateFormat; import java.util.Date; import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.net.ConnectivityManager; import android.net.Uri; import android.os.AsyncTask; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.Window; import android.view.View.OnClickListener; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import edu.gricar.brezskrbnik.ApplicationBrezskrbnik; import edu.gricar.brezskrbnik.R; public class ActivityVreme extends Activity{ ApplicationBrezskrbnik app; public static String kraj; Menu nMenu; ImageView ivslika1, ivslika2, ivslika3, ivslika4; ImageView[] slikar; TextView tvDanDanes, tvTempDanes; TextView tvDanDanesPlus1, tvTempDanesPlus1; TextView tvDanDanesPlus2, tvTempDanesPlus2; TextView tvDanDanesPlus3, tvTempDanesPlus3; TextView tvVremeKraj, tvDatumSinhro; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); setContentView(R.layout.vreme); app = (ApplicationBrezskrbnik) getApplication(); tvVremeKraj = (TextView) findViewById(R.id.tv_kraj); tvDatumSinhro = (TextView) findViewById(R.id.vreme_tekst_datumsinhronizacije); ivslika1 = (ImageView) findViewById(R.id.vreme_slika_danes); ivslika2 = (ImageView) findViewById(R.id.vreme_slika_danesPlus1); ivslika3 = (ImageView) findViewById(R.id.vreme_slika_danesPlus2); ivslika4 = (ImageView) findViewById(R.id.vreme_slika_danesPlus3); slikar = new ImageView[4]; slikar[0] = ivslika1; slikar[1] = ivslika2; slikar[2] = ivslika3; slikar[3] = ivslika4; tvDanDanes = (TextView) findViewById(R.id.vreme_tekst_dan_danes); tvTempDanes = (TextView) findViewById(R.id.vreme_tekst_real_danes); tvDanDanesPlus1 = (TextView) findViewById(R.id.vreme_tekst_dan_danesP1); tvTempDanesPlus1 = (TextView) findViewById(R.id.vreme_tekst_real_danesP1); tvDanDanesPlus2 = (TextView) findViewById(R.id.vreme_tekst_dan_danesP2); tvTempDanesPlus2 = (TextView) findViewById(R.id.vreme_tekst_real_danesP2); tvDanDanesPlus3 = (TextView) findViewById(R.id.vreme_tekst_dan_danesP3); tvTempDanesPlus3 = (TextView) findViewById(R.id.vreme_tekst_real_danesP3); try { ivslika1.setOnClickListener(new OnClickListener() { public void onClick(View v) { String url = "http://www.accuweather.com/en-us/si/" + kraj + "/" + kraj + "/details1.aspx"; Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse(url)); startActivity(i); } }); } catch (Exception e) { e.printStackTrace(); } try { ivslika2.setOnClickListener(new OnClickListener() { public void onClick(View v) { String url = "http://www.accuweather.com/en-us/si/" + kraj + "/" + kraj + "/details2.aspx"; Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse(url)); startActivity(i); } }); } catch (Exception e) { e.printStackTrace(); } try { ivslika3.setOnClickListener(new OnClickListener() { public void onClick(View v) { String url = "http://www.accuweather.com/en-us/si/" + kraj + "/" + kraj + "/details3.aspx"; Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse(url)); startActivity(i); } }); } catch (Exception e) { e.printStackTrace(); } try { ivslika4.setOnClickListener(new OnClickListener() { public void onClick(View v) { String url = "http://www.accuweather.com/en-us/si/" + kraj + "/" + kraj + "/details4.aspx"; Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse(url)); startActivity(i); } }); } catch (Exception e) { e.printStackTrace(); } } @Override protected void onPause() { super.onPause(); try { shraniPodatke(); } catch (Exception e) { e.printStackTrace(); } } @Override public void onResume() { super.onResume(); try { SharedPreferences preferences = getPreferences(MODE_PRIVATE); app.vreme = new Vreme[]{new Vreme(), new Vreme(), new Vreme(), new Vreme()}; app.vreme[0].setSlika(preferences.getString("ivslika1", "")); app.vreme[1].setSlika(preferences.getString("ivslika2", "")); app.vreme[2].setSlika(preferences.getString("ivslika3", "")); app.vreme[3].setSlika(preferences.getString("ivslika4", "")); tvDanDanes.setText(preferences.getString("tvDanDanes", "")); tvTempDanes.setText(preferences.getString("tvTempDanes", "")); tvDanDanesPlus1.setText(preferences.getString("tvDanDanesPlus1", "")); tvTempDanesPlus1.setText(preferences.getString("tvTempDanesPlus1", "")); tvDanDanesPlus2.setText(preferences.getString("tvDanDanesPlus2", "")); tvTempDanesPlus2.setText(preferences.getString("tvTempDanesPlus2", "")); tvDanDanesPlus3.setText(preferences.getString("tvDanDanesPlus3", "")); tvTempDanesPlus3.setText(preferences.getString("tvTempDanesPlus3", "")); tvVremeKraj.setText(preferences.getString("tvVremeKraj", "")); nafilajSlike(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } if (tvDanDanes.getText().toString().equalsIgnoreCase("")){ if (preveriInternet()==true){ BackgroundAsyncTask mt = new BackgroundAsyncTask(); mt.execute(app); } else Toast.makeText(this, "Vklju�ite omre�no povezavo!", Toast.LENGTH_SHORT).show(); } } public void shraniPodatke(){ SharedPreferences preferences = getPreferences(MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); String opisS = app.vreme[0].getOpis(); String ivslika1S = app.vreme[0].getSlika(); String ivslika2S = app.vreme[1].getSlika(); String ivslika3S = app.vreme[2].getSlika(); String ivslika4S = app.vreme[3].getSlika(); String tvDanDanesS = tvDanDanes.getText().toString(); String tvTempDanesS = tvTempDanes.getText().toString(); String tvDanDanesPlus1S = tvDanDanesPlus1.getText().toString(); String tvTempDanesPlus1S = tvTempDanesPlus1.getText().toString(); String tvDanDanesPlus2S = tvDanDanesPlus2.getText().toString(); String tvTempDanesPlus2S = tvTempDanesPlus2.getText().toString(); String tvDanDanesPlus3S = tvDanDanesPlus3.getText().toString(); String tvTempDanesPlus3S = tvTempDanesPlus3.getText().toString(); String tvVremeKrajS = tvVremeKraj.getText().toString(); editor.putString("opis", opisS); editor.putString("ivslika1", ivslika1S); editor.putString("ivslika2", ivslika2S); editor.putString("ivslika3", ivslika3S); editor.putString("ivslika4", ivslika4S); editor.putString("tvDanDanes", tvDanDanesS); editor.putString("tvTempDanes", tvTempDanesS); editor.putString("tvDanDanesPlus1", tvDanDanesPlus1S); editor.putString("tvTempDanesPlus1", tvTempDanesPlus1S); editor.putString("tvDanDanesPlus2", tvDanDanesPlus2S); editor.putString("tvTempDanesPlus2", tvTempDanesPlus2S); editor.putString("tvDanDanesPlus3", tvDanDanesPlus3S); editor.putString("tvTempDanesPlus3", tvTempDanesPlus3S); editor.putString("tvVremeKraj", tvVremeKrajS); editor.commit(); } public void nafilajTekst(){ tvVremeKraj.setText("Kraj: " + kraj); tvDanDanesPlus2.setText(app.vreme[2].getDatum()); tvTempDanesPlus2.setText(app.vreme[2].getRealfeel()); tvDanDanesPlus3.setText(app.vreme[3].getDatum()); tvTempDanesPlus3.setText(app.vreme[3].getRealfeel()); tvDanDanes.setText(app.vreme[0].getDatum()); tvTempDanes.setText(app.vreme[0].getRealfeel()); tvDanDanesPlus1.setText(app.vreme[1].getDatum()); tvTempDanesPlus1.setText(app.vreme[1].getRealfeel()); tvDatumSinhro.setText("Posodobljeno!"); shraniPodatke(); } public void nafilajSlike(){ for (int i = 0; i < 4; i++){ String slika = app.vreme[i].getSlika(); if (slika.equalsIgnoreCase("1_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_1)); } if (slika.equalsIgnoreCase("2_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_2)); } if (slika.equalsIgnoreCase("3_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_3)); } if (slika.equalsIgnoreCase("4_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_4)); } if (slika.equalsIgnoreCase("5_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_5)); } if (slika.equalsIgnoreCase("6_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_6)); } if (slika.equalsIgnoreCase("7_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_7)); } if (slika.equalsIgnoreCase("8_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_8)); } if (slika.equalsIgnoreCase("11_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_11)); } if (slika.equalsIgnoreCase("12_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_12)); } if (slika.equalsIgnoreCase("13_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_13)); } if (slika.equalsIgnoreCase("14_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_14)); } if (slika.equalsIgnoreCase("15_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_15)); } if (slika.equalsIgnoreCase("16_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_16)); } if (slika.equalsIgnoreCase("17_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_17)); } if (slika.equalsIgnoreCase("18_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_18)); } if (slika.equalsIgnoreCase("19_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_19)); } if (slika.equalsIgnoreCase("20_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_20)); } if (slika.equalsIgnoreCase("21_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_21)); } if (slika.equalsIgnoreCase("22_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_22)); } if (slika.equalsIgnoreCase("23_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_23)); } if (slika.equalsIgnoreCase("24_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_24)); } if (slika.equalsIgnoreCase("25_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_25)); } if (slika.equalsIgnoreCase("26_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_26)); } if (slika.equalsIgnoreCase("29_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_29)); } if (slika.equalsIgnoreCase("30_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_30)); } if (slika.equalsIgnoreCase("31_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_31)); } if (slika.equalsIgnoreCase("32_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_32)); } if (slika.equalsIgnoreCase("33_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_33)); } if (slika.equalsIgnoreCase("34_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_34)); } if (slika.equalsIgnoreCase("35_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_35)); } if (slika.equalsIgnoreCase("36_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_36)); } if (slika.equalsIgnoreCase("37_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_37)); } if (slika.equalsIgnoreCase("38_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_38)); } if (slika.equalsIgnoreCase("39_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_39)); } if (slika.equalsIgnoreCase("40_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_40)); } if (slika.equalsIgnoreCase("41_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_41)); } if (slika.equalsIgnoreCase("42_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_42)); } if (slika.equalsIgnoreCase("43_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_43)); } if (slika.equalsIgnoreCase("40_int.jpg")){ slikar[i].setImageDrawable(getResources().getDrawable(R.drawable.weather_44)); } } } private boolean preveriInternet() { ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); if (cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isAvailable() && cm.getActiveNetworkInfo().isConnected()) { return true; } else return false; } @Override public boolean onCreateOptionsMenu(Menu menu) { nMenu = menu; SharedPreferences preferences = getPreferences(MODE_PRIVATE); MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.nastavitve_vreme, nMenu); MenuItem menuitem = menu.findItem(R.id.OsveziPodatke); menuitem.setTitle(preferences.getString("Cas", "")); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.OsveziPodatke: try { if (preveriInternet()==true){ BackgroundAsyncTask mt = new BackgroundAsyncTask(); mt.execute(app); } else Toast.makeText(this, "Vklju�ite omre�no povezavo!", Toast.LENGTH_SHORT).show(); } catch (Exception e) { e.printStackTrace(); } return true; default:// Generic catch all for all the other menu resources if (!item.hasSubMenu()) { Toast.makeText(this, item.getTitle(), Toast.LENGTH_SHORT).show(); return true; } break; } return false; } public class BackgroundAsyncTask extends AsyncTask<ApplicationBrezskrbnik, Integer, String> { ProgressDialog dialogWait; @Override protected String doInBackground(ApplicationBrezskrbnik ... params) { new AccuParser(params[0]); return ""; } @Override protected void onPreExecute() { setProgressBarIndeterminateVisibility(true); } protected void onPostExecute(String arg) { try { setProgressBarIndeterminateVisibility(false); nafilajTekst(); nafilajSlike(); SharedPreferences preferences = getPreferences(MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); Date d = new Date(); editor.putString("Cas", DateFormat.getDateTimeInstance().format(d)); editor.commit(); } catch (Exception e) { Toast.makeText(ActivityVreme.this, "Napaka v komunikaciji ali neobstoje� kraj!", Toast.LENGTH_LONG).show(); e.printStackTrace(); } } } }