diff --git a/bin/AndProject.apk b/bin/AndProject.apk
index 7de68f2..59ca3a9 100644
Binary files a/bin/AndProject.apk and b/bin/AndProject.apk differ
diff --git a/bin/classes.dex b/bin/classes.dex
index 840f136..c0861ba 100644
Binary files a/bin/classes.dex and b/bin/classes.dex differ
diff --git a/bin/classes/bonsai/app/AndroidProjectActivity.class b/bin/classes/bonsai/app/AndroidProjectActivity.class
index e05f009..80677b8 100644
Binary files a/bin/classes/bonsai/app/AndroidProjectActivity.class and b/bin/classes/bonsai/app/AndroidProjectActivity.class differ
diff --git a/bin/classes/bonsai/app/BonsaiActivity$1.class b/bin/classes/bonsai/app/BonsaiActivity$1.class
new file mode 100644
index 0000000..93deb90
Binary files /dev/null and b/bin/classes/bonsai/app/BonsaiActivity$1.class differ
diff --git a/bin/classes/bonsai/app/BonsaiActivity.class b/bin/classes/bonsai/app/BonsaiActivity.class
index 6c10701..fd6bd93 100644
Binary files a/bin/classes/bonsai/app/BonsaiActivity.class and b/bin/classes/bonsai/app/BonsaiActivity.class differ
diff --git a/bin/classes/bonsai/app/EditBonsaiActivity$1.class b/bin/classes/bonsai/app/EditBonsaiActivity$1.class
index 79a53f2..fd33a98 100644
Binary files a/bin/classes/bonsai/app/EditBonsaiActivity$1.class and b/bin/classes/bonsai/app/EditBonsaiActivity$1.class differ
diff --git a/bin/classes/bonsai/app/EditBonsaiActivity$2.class b/bin/classes/bonsai/app/EditBonsaiActivity$2.class
index 17c39f3..88d770a 100644
Binary files a/bin/classes/bonsai/app/EditBonsaiActivity$2.class and b/bin/classes/bonsai/app/EditBonsaiActivity$2.class differ
diff --git a/bin/classes/bonsai/app/EditBonsaiActivity$3.class b/bin/classes/bonsai/app/EditBonsaiActivity$3.class
index 5320ac7..2a60c35 100644
Binary files a/bin/classes/bonsai/app/EditBonsaiActivity$3.class and b/bin/classes/bonsai/app/EditBonsaiActivity$3.class differ
diff --git a/bin/classes/bonsai/app/EditBonsaiActivity$4.class b/bin/classes/bonsai/app/EditBonsaiActivity$4.class
index 1a1bda0..6efcba7 100644
Binary files a/bin/classes/bonsai/app/EditBonsaiActivity$4.class and b/bin/classes/bonsai/app/EditBonsaiActivity$4.class differ
diff --git a/bin/classes/bonsai/app/EditBonsaiActivity$5.class b/bin/classes/bonsai/app/EditBonsaiActivity$5.class
index 6743b68..9104f68 100644
Binary files a/bin/classes/bonsai/app/EditBonsaiActivity$5.class and b/bin/classes/bonsai/app/EditBonsaiActivity$5.class differ
diff --git a/bin/classes/bonsai/app/EditBonsaiActivity.class b/bin/classes/bonsai/app/EditBonsaiActivity.class
index ce63f7e..c7d549d 100644
Binary files a/bin/classes/bonsai/app/EditBonsaiActivity.class and b/bin/classes/bonsai/app/EditBonsaiActivity.class differ
diff --git a/bin/classes/bonsai/app/MoreActivity.class b/bin/classes/bonsai/app/MoreActivity.class
index 5ea3cf4..443aeb8 100644
Binary files a/bin/classes/bonsai/app/MoreActivity.class and b/bin/classes/bonsai/app/MoreActivity.class differ
diff --git a/bin/classes/bonsai/app/R$drawable.class b/bin/classes/bonsai/app/R$drawable.class
index 5d3c1ba..204062c 100644
Binary files a/bin/classes/bonsai/app/R$drawable.class and b/bin/classes/bonsai/app/R$drawable.class differ
diff --git a/bin/classes/bonsai/app/R$id.class b/bin/classes/bonsai/app/R$id.class
index 0327e9b..81d43a3 100644
Binary files a/bin/classes/bonsai/app/R$id.class and b/bin/classes/bonsai/app/R$id.class differ
diff --git a/bin/classes/bonsai/app/R$layout.class b/bin/classes/bonsai/app/R$layout.class
index 67ef741..66ed048 100644
Binary files a/bin/classes/bonsai/app/R$layout.class and b/bin/classes/bonsai/app/R$layout.class differ
diff --git a/bin/classes/bonsai/app/R$string.class b/bin/classes/bonsai/app/R$string.class
index 267662e..e1a19ac 100644
Binary files a/bin/classes/bonsai/app/R$string.class and b/bin/classes/bonsai/app/R$string.class differ
diff --git a/bin/classes/bonsai/app/SelectBonsaiActivity.class b/bin/classes/bonsai/app/SelectBonsaiActivity.class
index e9682a2..bf2bf85 100644
Binary files a/bin/classes/bonsai/app/SelectBonsaiActivity.class and b/bin/classes/bonsai/app/SelectBonsaiActivity.class differ
diff --git a/bin/classes/bonsai/app/StartActivity.class b/bin/classes/bonsai/app/StartActivity.class
index dbf7708..761c759 100644
Binary files a/bin/classes/bonsai/app/StartActivity.class and b/bin/classes/bonsai/app/StartActivity.class differ
diff --git a/bin/classes/bonsai/app/TaskActivity.class b/bin/classes/bonsai/app/TaskActivity.class
index 010e286..0b5dfde 100644
Binary files a/bin/classes/bonsai/app/TaskActivity.class and b/bin/classes/bonsai/app/TaskActivity.class differ
diff --git a/bin/classes/bonsai/app/weather/Weather.class b/bin/classes/bonsai/app/weather/Weather.class
new file mode 100644
index 0000000..fe4b9b5
Binary files /dev/null and b/bin/classes/bonsai/app/weather/Weather.class differ
diff --git a/bin/classes/bonsai/app/weather/XmlHandler.class b/bin/classes/bonsai/app/weather/XmlHandler.class
new file mode 100644
index 0000000..d889157
Binary files /dev/null and b/bin/classes/bonsai/app/weather/XmlHandler.class differ
diff --git a/bin/classes/bonsai/app/weather/XmlParserSax.class b/bin/classes/bonsai/app/weather/XmlParserSax.class
new file mode 100644
index 0000000..542c896
Binary files /dev/null and b/bin/classes/bonsai/app/weather/XmlParserSax.class differ
diff --git a/bin/resources.ap_ b/bin/resources.ap_
index 6285786..14192ca 100644
Binary files a/bin/resources.ap_ and b/bin/resources.ap_ differ
diff --git a/gen/bonsai/app/R.java b/gen/bonsai/app/R.java
index f9b36c9..ce2a3aa 100644
--- a/gen/bonsai/app/R.java
+++ b/gen/bonsai/app/R.java
@@ -15,43 +15,60 @@ public static final class array {
public static final class attr {
}
public static final class drawable {
- public static final int escaledlogo=0x7f020000;
- public static final int ic_launcher=0x7f020001;
- public static final int ic_tab_bonsai=0x7f020002;
- public static final int ic_tab_calendar=0x7f020003;
- public static final int ic_tab_more=0x7f020004;
- public static final int ic_tab_selectbonsai=0x7f020005;
+ public static final int chance_of_rain=0x7f020000;
+ public static final int chance_of_snow=0x7f020001;
+ public static final int chance_of_storm=0x7f020002;
+ public static final int cloudy=0x7f020003;
+ public static final int dust=0x7f020004;
+ public static final int escaledlogo=0x7f020005;
+ public static final int fog=0x7f020006;
+ public static final int haze=0x7f020007;
+ public static final int ic_launcher=0x7f020008;
+ public static final int ic_tab_bonsai=0x7f020009;
+ public static final int ic_tab_calendar=0x7f02000a;
+ public static final int ic_tab_more=0x7f02000b;
+ public static final int ic_tab_selectbonsai=0x7f02000c;
+ public static final int icy=0x7f02000d;
+ public static final int mist=0x7f02000e;
+ public static final int mostly_sunny=0x7f02000f;
+ public static final int sleet=0x7f020010;
+ public static final int smoke=0x7f020011;
+ public static final int snow=0x7f020012;
+ public static final int storm=0x7f020013;
+ public static final int sunny=0x7f020014;
+ public static final int thunderstorm=0x7f020015;
}
public static final class id {
public static final int ImageView01=0x7f06000d;
public static final int bonsaiImage=0x7f060002;
public static final int bonsairowtext=0x7f060018;
- public static final int btnCountry=0x7f060024;
- public static final int btnPostCode=0x7f060022;
- public static final int button1=0x7f06001e;
- public static final int button2=0x7f06001f;
- public static final int cancelButton=0x7f06002b;
- public static final int donatebutton=0x7f060029;
- public static final int editAge=0x7f06001b;
- public static final int editCountry=0x7f060023;
- public static final int editHeight=0x7f06001c;
- public static final int editName=0x7f060019;
- public static final int editPostCode=0x7f060021;
- public static final int familySpinner=0x7f06001a;
+ public static final int btnCountry=0x7f060027;
+ public static final int btnPostCode=0x7f060025;
+ public static final int button1=0x7f060021;
+ public static final int button2=0x7f060022;
+ public static final int cancelButton=0x7f06001b;
+ public static final int donatebutton=0x7f06002c;
+ public static final int editAge=0x7f06001e;
+ public static final int editCountry=0x7f060026;
+ public static final int editHeight=0x7f06001f;
+ public static final int editName=0x7f06001c;
+ public static final int editPostCode=0x7f060024;
+ public static final int familySpinner=0x7f06001d;
public static final int footer=0x7f060013;
- public static final int imageButton1=0x7f060026;
+ public static final int imageButton1=0x7f060029;
public static final int imageButton2=0x7f060017;
- public static final int imageButton3=0x7f060027;
- public static final int imageView1=0x7f060008;
+ public static final int imageButton3=0x7f06002a;
+ public static final int imageView1=0x7f06002d;
public static final int imageView2=0x7f06000a;
public static final int imageView4=0x7f060010;
+ public static final int imageWeather=0x7f060008;
public static final int linearLayout1=0x7f060001;
- public static final int photoURLtext=0x7f06001d;
+ public static final int photoURLtext=0x7f060020;
public static final int podeButton=0x7f060015;
- public static final int relativeLayout1=0x7f060025;
- public static final int saveButton=0x7f06002a;
+ public static final int relativeLayout1=0x7f060028;
+ public static final int saveButton=0x7f06001a;
public static final int scrollView1=0x7f060000;
- public static final int spinner1=0x7f060020;
+ public static final int spinner1=0x7f060023;
public static final int tableRow1=0x7f060009;
public static final int tableRow2=0x7f06000c;
public static final int tableRow3=0x7f06000f;
@@ -60,24 +77,27 @@ public static final class id {
public static final int textPrune=0x7f060011;
public static final int textTemperature=0x7f060012;
public static final int textTransplant=0x7f06000e;
- public static final int textView1=0x7f060007;
- public static final int textView2=0x7f060028;
+ public static final int textView1=0x7f060019;
+ public static final int textView2=0x7f06002b;
public static final int textView3=0x7f060006;
public static final int textWater=0x7f06000b;
public static final int textYears=0x7f060005;
+ public static final int textweather=0x7f060007;
public static final int transplantButton=0x7f060016;
public static final int waterButton=0x7f060014;
}
public static final class layout {
public static final int bonsai=0x7f030000;
public static final int bonsai_row=0x7f030001;
- public static final int editbonsai=0x7f030002;
- public static final int main=0x7f030003;
- public static final int more=0x7f030004;
- public static final int selectbonsai=0x7f030005;
- public static final int start=0x7f030006;
- public static final int task=0x7f030007;
- public static final int task_row=0x7f030008;
+ public static final int calendar=0x7f030002;
+ public static final int editbonsai=0x7f030003;
+ public static final int gallery=0x7f030004;
+ public static final int main=0x7f030005;
+ public static final int more=0x7f030006;
+ public static final int selectbonsai=0x7f030007;
+ public static final int start=0x7f030008;
+ public static final int task=0x7f030009;
+ public static final int task_row=0x7f03000a;
}
public static final class string {
public static final int app_name=0x7f040000;
diff --git a/res/drawable/chance_of_rain.gif b/res/drawable/chance_of_rain.gif
new file mode 100644
index 0000000..008825d
Binary files /dev/null and b/res/drawable/chance_of_rain.gif differ
diff --git a/res/drawable/chance_of_snow.gif b/res/drawable/chance_of_snow.gif
new file mode 100644
index 0000000..f15b561
Binary files /dev/null and b/res/drawable/chance_of_snow.gif differ
diff --git a/res/drawable/chance_of_storm.gif b/res/drawable/chance_of_storm.gif
new file mode 100644
index 0000000..9aade2f
Binary files /dev/null and b/res/drawable/chance_of_storm.gif differ
diff --git a/res/drawable/cloudy.gif b/res/drawable/cloudy.gif
new file mode 100644
index 0000000..242dce7
Binary files /dev/null and b/res/drawable/cloudy.gif differ
diff --git a/res/drawable/dust.gif b/res/drawable/dust.gif
new file mode 100644
index 0000000..b810ac8
Binary files /dev/null and b/res/drawable/dust.gif differ
diff --git a/res/drawable/fog.gif b/res/drawable/fog.gif
new file mode 100644
index 0000000..edffc14
Binary files /dev/null and b/res/drawable/fog.gif differ
diff --git a/res/drawable/haze.gif b/res/drawable/haze.gif
new file mode 100644
index 0000000..4a8654b
Binary files /dev/null and b/res/drawable/haze.gif differ
diff --git a/res/drawable/icy.gif b/res/drawable/icy.gif
new file mode 100644
index 0000000..967c7b9
Binary files /dev/null and b/res/drawable/icy.gif differ
diff --git a/res/drawable/mist.gif b/res/drawable/mist.gif
new file mode 100644
index 0000000..a9747f9
Binary files /dev/null and b/res/drawable/mist.gif differ
diff --git a/res/drawable/mostly_sunny.gif b/res/drawable/mostly_sunny.gif
new file mode 100644
index 0000000..9da7a84
Binary files /dev/null and b/res/drawable/mostly_sunny.gif differ
diff --git a/res/drawable/sleet.gif b/res/drawable/sleet.gif
new file mode 100644
index 0000000..3525643
Binary files /dev/null and b/res/drawable/sleet.gif differ
diff --git a/res/drawable/smoke.gif b/res/drawable/smoke.gif
new file mode 100644
index 0000000..edffc14
Binary files /dev/null and b/res/drawable/smoke.gif differ
diff --git a/res/drawable/snow.gif b/res/drawable/snow.gif
new file mode 100644
index 0000000..3525643
Binary files /dev/null and b/res/drawable/snow.gif differ
diff --git a/res/drawable/storm.gif b/res/drawable/storm.gif
new file mode 100644
index 0000000..99af28d
Binary files /dev/null and b/res/drawable/storm.gif differ
diff --git a/res/drawable/sunny.gif b/res/drawable/sunny.gif
new file mode 100644
index 0000000..3c305d9
Binary files /dev/null and b/res/drawable/sunny.gif differ
diff --git a/res/drawable/thunderstorm.gif b/res/drawable/thunderstorm.gif
new file mode 100644
index 0000000..84a727d
Binary files /dev/null and b/res/drawable/thunderstorm.gif differ
diff --git a/res/layout/bonsai.xml b/res/layout/bonsai.xml
index 45ecd7f..9ccd4b9 100644
--- a/res/layout/bonsai.xml
+++ b/res/layout/bonsai.xml
@@ -82,18 +82,18 @@
diff --git a/src/bonsai/app/BonsaiActivity.java b/src/bonsai/app/BonsaiActivity.java
index 5000700..bc78dcd 100644
--- a/src/bonsai/app/BonsaiActivity.java
+++ b/src/bonsai/app/BonsaiActivity.java
@@ -2,8 +2,13 @@
import java.util.Date;
+import java.util.List;
+
+import bonsai.app.weather.Weather;
+import bonsai.app.weather.XmlParserSax;
import android.app.Activity;
+import android.app.ProgressDialog;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
@@ -29,7 +34,16 @@ public class BonsaiActivity extends Activity {
private TextView textTransplant;
private TextView textPrune;
private TextView textTemperature;
+ private TextView textWeather;
+ private ImageView weatherIcon;
+ //variables necesarias para ser asignadas en la hebra de checkWeather
+ private ProgressDialog dialog;
+ private Weather w;
+ private String location;
+
+ //
+ private double temperature;
/** Called when the activity is first created. */
@Override
@@ -46,11 +60,14 @@ public void onCreate(Bundle savedInstanceState) {
textTransplant = (TextView)findViewById(R.id.textTransplant);
textPrune = (TextView)findViewById(R.id.textPrune);
textTemperature = (TextView)findViewById(R.id.textTemperature);
+ textWeather =(TextView)findViewById(R.id.textweather);
+ weatherIcon = (ImageView)findViewById(R.id.imageWeather);
bonsaidb = new BonsaiDbUtil(this); // Construinos el DDBBAdapter
bonsaidb.open();
familydb = new FamilyDbUtil(this); // Construinos el DDBBAdapter
familydb.open();
+ checkWeather();
/*
try {
@@ -92,10 +109,14 @@ public void onResume() {
} else photo.setImageResource(R.drawable.ic_launcher);
long date = new Date().getTime() / (1000*60*60);
age.setText("" + ((date - bonsai.getLong(bonsai.getColumnIndexOrThrow(BonsaiDbUtil.KEY_AGE)))/(365*24)));
+ checkWeather();
checkWater();
checkTransplant();
checkPode();
- checkWeather();
+
+
+
+
} catch (Exception e) {
@@ -143,7 +164,6 @@ private void checkWater() {
long lastwatered;
long waterfrec;
int height = 30;
- int temperature = 20;
long hoursTime = (new Date().getTime())/(1000*60*60);
@@ -236,7 +256,7 @@ private void checkPode() {
// LOGICA DE TRANSPLANTE
if(lastpode == 0) textPrune.setText("No info about " + name + " prunes.\nMaybe never pruned.");
- else if(age < 2) { // Los bonsais con menos de dos a–os se suelen defoliar al 50% cada 2 meses, aprox
+ else if(age < 2) { // Los bonsais con menos de dos a�os se suelen defoliar al 50% cada 2 meses, aprox
if(hoursTime - lastpode > 60 * 24) textPrune.setText("Defoliate your bonsai 50%");
else textPrune.setText("Your bonsai prune is not necessary");
}
@@ -250,6 +270,92 @@ else if(age < 2) { // Los bonsais con menos de dos a
}
private void checkWeather() {
+ Cursor bonsai;
+ String situation;
+ dialog = ProgressDialog.show(this, "", "Data obtaining…", true);
+
+ Thread thread = new Thread() {
+ @Override
+ public void run() {
+ try{
+ Cursor bonsai = bonsaidb.fetchBonsai(AndroidProjectActivity.bonsaiactual);
+ startManagingCursor(bonsai);
+ location = bonsai.getString(bonsai.getColumnIndexOrThrow(BonsaiDbUtil.KEY_LOCALIZATION));
+ XmlParserSax saxparser = new XmlParserSax("http://www.google.com/ig/api?weather="+location);
+ List weather = saxparser.parse();
+ w=weather.get(0);
+
+ }catch(Exception e){
+ Toast tx;
+ System.out.println(e.toString());
+ tx = Toast.makeText(getApplicationContext(), "Conexion is not aviable", Toast.LENGTH_LONG);
+ tx.show();
+ }
+ dialog.dismiss();
+ }
+
+
+ };
+ thread.start();
+ try{
+ bonsai = bonsaidb.fetchBonsai(AndroidProjectActivity.bonsaiactual);
+ startManagingCursor(bonsai);
+ situation= bonsai.getString(bonsai.getColumnIndexOrThrow(BonsaiDbUtil.KEY_SITUATION));
+ System.out.println("la situación es "+situation);
+ textWeather.setText(Double.toString(w.getTempMedia())+"ºC");
+ temperature=w.getTempMedia();
+ String s=w.getIcon();
+ s=s.replaceAll("/ig/images/weather/", "");
+ s=s.replaceAll(".gif", "");
+ System.out.println("El nombre del icono que me queda es "+s);
+ if(s.equals("chance_of_rain")){
+ weatherIcon.setImageResource(R.drawable.chance_of_rain);
+ }
+ if(s.equals("chance_of_snow"))
+ weatherIcon.setImageResource(R.drawable.chance_of_snow);
+ if(s.equals("chance_of_storm"))
+ weatherIcon.setImageResource(R.drawable.chance_of_storm);
+ if(s.equals("cloudly"))
+ weatherIcon.setImageResource(R.drawable.cloudy);
+ if(s.equals("dust"))
+ weatherIcon.setImageResource(R.drawable.dust);
+ if(s.equals("fog"))
+ weatherIcon.setImageResource(R.drawable.fog);
+ if(s.equals("haze"))
+ weatherIcon.setImageResource(R.drawable.haze);
+ if(s.equals("icy")){
+ weatherIcon.setImageResource(R.drawable.icy);
+ if(situation.equals("Exterior"))
+ textTemperature.setText("Your Bonsai is frozen, please put it indoor");}
+ if(s.equals("mist"))
+ weatherIcon.setImageResource(R.drawable.mist);
+ if(s.equals("mostly_sunny")){
+ weatherIcon.setImageResource(R.drawable.mostly_sunny);
+ if(situation.equals("Interior"))
+ textTemperature.setText("Your Bonsai would like to have some sunbathing today");}
+ if(s.equals("smoke"))
+ weatherIcon.setImageResource(R.drawable.smoke);
+ if(s.equals("snow")){
+ weatherIcon.setImageResource(R.drawable.snow);
+ if(situation.equals("Exterior"))
+ textTemperature.setText("Your Bonsai looks like snowman");}
+ if(s.equals("storm")){
+ weatherIcon.setImageResource(R.drawable.storm);
+ if(situation.equals("Exterior"))
+ textTemperature.setText("Your Bonsai is scare of thunderstorm");}
+ if(s.equals("sunny")){
+ weatherIcon.setImageResource(R.drawable.sunny);
+ if(situation.equals("Interior"))
+ textTemperature.setText("Your Bonsai would like to " +
+ "have some sunbathing today");}
+ if(s.equals("thunderstorm")){
+ weatherIcon.setImageResource(R.drawable.thunderstorm);
+ if(situation.equals("Exterior"))
+ textTemperature.setText("Your Bonsai is scare of thunderstorm");}
+ }catch(Exception e){
+ System.out.println("Salta una excepción de el segundo try del tiempo");
+
+ }
}
diff --git a/src/bonsai/app/EditBonsaiActivity.java b/src/bonsai/app/EditBonsaiActivity.java
index 22c831e..1bd7a91 100644
--- a/src/bonsai/app/EditBonsaiActivity.java
+++ b/src/bonsai/app/EditBonsaiActivity.java
@@ -40,6 +40,7 @@ public class EditBonsaiActivity extends Activity {
private Spinner editSituation;
private EditText editpostCode;
private EditText editCountry;
+
private String name;
private String family;
@@ -87,7 +88,7 @@ public void onCreate(Bundle savedInstanceState) {
editpostCode=(EditText)findViewById(R.id.editPostCode);
editCountry=(EditText)findViewById(R.id.editCountry);
-
+
createCancelAlert();
createDeleteAlert();
@@ -125,6 +126,9 @@ public void onCreate(Bundle savedInstanceState) {
photoURLtext.setText("..." + photo.substring((photo.length() - 18), photo.length()));
}
+
+
+
} catch (Exception e) {
Toast.makeText(this, "None bonsai created: " + e.toString(), Toast.LENGTH_LONG).show();
@@ -283,7 +287,7 @@ public void goMakeCountry(View v) {
Location loc = comenzarLocalizacion();
if(loc == null) {
- Toast.makeText(this, "Incapaz de obtener localizacion", Toast.LENGTH_SHORT).show();
+ Toast.makeText(this, "Incapaz de obtener localizacion, turn on 3g please", Toast.LENGTH_SHORT).show();
return;
}
Geocoder myloc = new Geocoder(this,Locale.getDefault());
@@ -295,7 +299,7 @@ public void goMakeCountry(View v) {
editCountry.setText(ad.getCountryCode());
} catch (IOException e) {
// TODO Auto-generated catch block
- Toast.makeText(this, "Error trying to get country " + e.toString(), Toast.LENGTH_SHORT).show();
+ Toast.makeText(this, "Error trying to get country, turn on 3g please " + e.toString(), Toast.LENGTH_SHORT).show();
}
}
@@ -304,7 +308,7 @@ public void goMakePostCode(View v){
Location loc = comenzarLocalizacion();
if(loc == null) {
- Toast.makeText(this, "Cannot get info about localization.", Toast.LENGTH_SHORT).show();
+ Toast.makeText(this, "Cannot get info about localization, turn on 3g please", Toast.LENGTH_SHORT).show();
return;
}
@@ -317,7 +321,7 @@ public void goMakePostCode(View v){
editpostCode.setText(ad.getPostalCode());
} catch (Exception e) {
// TODO Auto-generated catch block
- Toast.makeText(this, "Error trying to get location " + e.toString(), Toast.LENGTH_SHORT).show();
+ Toast.makeText(this, "Error trying to get location, turn on 3g please " + e.toString(), Toast.LENGTH_SHORT).show();
}
}
diff --git a/src/bonsai/app/weather/Weather.java b/src/bonsai/app/weather/Weather.java
new file mode 100644
index 0000000..fdac95d
--- /dev/null
+++ b/src/bonsai/app/weather/Weather.java
@@ -0,0 +1,39 @@
+package bonsai.app.weather;
+
+public class Weather {
+
+ private int tempMax;
+ private int tempMin;
+ private double tempMediaC;
+ private String icon;
+ public int getTempMax() {
+ return tempMax;
+ }
+ public void setTempMax(int tempMax) {
+ this.tempMax = tempMax;
+
+ }
+ public int getTempMin() {
+ return tempMin;
+ }
+ public void setTempMin(int tempMin) {
+ this.tempMin = tempMin;
+ }
+ public double getTempMedia() {
+ int tempMedia=(tempMax+tempMin)/2;
+ tempMediaC=5*tempMedia/9;
+ return tempMediaC;
+
+ }
+ public String getIcon() {
+ return icon;
+ }
+ public void setIcon(String icon) {
+ this.icon = icon;
+ }
+
+
+
+
+
+}
diff --git a/src/bonsai/app/weather/XmlHandler.java b/src/bonsai/app/weather/XmlHandler.java
new file mode 100644
index 0000000..91a0569
--- /dev/null
+++ b/src/bonsai/app/weather/XmlHandler.java
@@ -0,0 +1,50 @@
+package bonsai.app.weather;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+import org.xml.sax.helpers.DefaultHandler;
+
+
+public class XmlHandler extends DefaultHandler {
+ int n=0;
+ private List weathers= new ArrayList();
+ private Weather weatherActual;
+
+ public List getweather(){
+ return weathers;
+ }
+
+ // Asigno a cada dia de la semana la temperatura máxima y mÃnima
+ // en grados Fahrenheit!!!
+ public void startElement (String uri, String name, String qName, Attributes atts) {
+ if (qName.compareTo("day_of_week") == 0) {
+ String day = atts.getValue(0);
+ System.out.println("Day: " + day);
+ weatherActual= new Weather();//inicializao el weather
+ }
+ if(qName.compareToIgnoreCase("low") == 0) {
+ int low = Integer.parseInt(atts.getValue(0));
+ System.out.println("Low: " + low);
+ weatherActual.setTempMin(low);
+ }
+ if(qName.compareToIgnoreCase("high") == 0) {
+ int high = Integer.parseInt(atts.getValue(0));
+ System.out.println("High: " + high);
+ weatherActual.setTempMin(high);
+ }
+ if(qName.compareToIgnoreCase("icon") == 0) {
+ if(n>0){
+ String icon = atts.getValue(0);
+ System.out.println("icon " + icon);
+ weatherActual.setIcon(icon);
+ weathers.add(weatherActual);
+ }
+ n++;
+ }
+ }
+ }
+
+
diff --git a/src/bonsai/app/weather/XmlParserSax.java b/src/bonsai/app/weather/XmlParserSax.java
new file mode 100644
index 0000000..68a84a1
--- /dev/null
+++ b/src/bonsai/app/weather/XmlParserSax.java
@@ -0,0 +1,57 @@
+package bonsai.app.weather;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.List;
+
+import java.net.URL;
+import javax.xml.parsers.SAXParser;
+import java.net.MalformedURLException;
+import javax.xml.parsers.SAXParserFactory;
+
+public class XmlParserSax
+{
+ private URL rssUrl;
+ public XmlParserSax(String url)
+ {
+ try
+ {
+ this.rssUrl = new URL(url);
+ }
+ catch (MalformedURLException e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public List parse()
+ {
+ SAXParserFactory factory = SAXParserFactory.newInstance();
+
+ try
+ {
+ SAXParser parser = factory.newSAXParser();
+ XmlHandler handler = new XmlHandler();
+ parser.parse(this.getInputStream(), handler);
+ return handler.getweather();
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+ private InputStream getInputStream()
+ {
+ try
+ {
+ System.out.println(rssUrl.openConnection().getInputStream());
+ return rssUrl.openConnection().getInputStream();
+
+ }
+ catch (IOException e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+}
\ No newline at end of file