X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fuk%2Fme%2Fnjae%2Fsunshine%2FMainActivity.java;fp=app%2Fsrc%2Fmain%2Fjava%2Fuk%2Fme%2Fnjae%2Fsunshine%2FMainActivity.java;h=ce0d65baf5a7529970de890641765536cc821458;hb=f14ccbc1b7fb239c5f3cdb20084be04dd85fc076;hp=3d687974fd39433cb11a6fe20fb397bc0b9de4fb;hpb=91d02d636afa5df9c20d0c652e8a8775b4ed7527;p=Sunshine.git diff --git a/app/src/main/java/uk/me/njae/sunshine/MainActivity.java b/app/src/main/java/uk/me/njae/sunshine/MainActivity.java index 3d68797..ce0d65b 100644 --- a/app/src/main/java/uk/me/njae/sunshine/MainActivity.java +++ b/app/src/main/java/uk/me/njae/sunshine/MainActivity.java @@ -1,30 +1,9 @@ package uk.me.njae.sunshine; import android.support.v7.app.ActionBarActivity; -import android.support.v7.app.ActionBar; -import android.support.v4.app.Fragment; import android.os.Bundle; -import android.util.Log; -import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; -import android.view.View; -import android.view.ViewGroup; -import android.os.Build; -import android.widget.ArrayAdapter; -import android.widget.ListView; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.net.HttpURLConnection; -import java.net.URL; - - -import java.util.ArrayList; -import java.util.List; -import java.util.Arrays; public class MainActivity extends ActionBarActivity { @@ -35,7 +14,7 @@ public class MainActivity extends ActionBarActivity { setContentView(R.layout.activity_main); if (savedInstanceState == null) { getSupportFragmentManager().beginTransaction() - .add(R.id.container, new PlaceholderFragment()) + .add(R.id.container, new ForecastFragment()) .commit(); } } @@ -60,100 +39,4 @@ public class MainActivity extends ActionBarActivity { return super.onOptionsItemSelected(item); } - /** - * A placeholder fragment containing a simple view. - */ - public static class PlaceholderFragment extends Fragment { - - public PlaceholderFragment() { - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - View rootView = inflater.inflate(R.layout.fragment_main, container, false); - - String[] forecastArray = { - "Today - Sunny - 10/10", - "Tomorrow - Cloudy - 11/11", - "Tuesday - Snow - 12/12", - "Wednesday - Rain - 13/13", - "Thursday - Hail - 14/14", - "Friday - Scorchio - 15/15", - "Saturday - Fog - 16/16" - }; - - List weekForecast = new ArrayList( - Arrays.asList(forecastArray)); - ArrayAdapter forecastAdapter = new ArrayAdapter( - getActivity(), - R.layout.list_item_forecast, - R.id.list_item_forecast_textview, - weekForecast - ); - ListView list_view = (ListView) rootView.findViewById(R.id.listview_forecast); - list_view.setAdapter(forecastAdapter); - - // These two need to be declared outside the try/catch - // so that they can be closed in the finally block. - HttpURLConnection urlConnection = null; - BufferedReader reader = null; - - // Will contain the raw JSON response as a string. - String forecastJsonStr = null; - - try { - // Construct the URL for the OpenWeatherMap query - // Possible parameters are avaiable at OWM's forecast API page, at - // http://openweathermap.org/API#forecast - URL url = new URL("http://api.openweathermap.org/data/2.5/forecast/daily?q=94043&mode=json&units=metric&cnt=7"); - - // Create the request to OpenWeatherMap, and open the connection - urlConnection = (HttpURLConnection) url.openConnection(); - urlConnection.setRequestMethod("GET"); - urlConnection.connect(); - - // Read the input stream into a String - InputStream inputStream = urlConnection.getInputStream(); - StringBuffer buffer = new StringBuffer(); - if (inputStream == null) { - // Nothing to do. - forecastJsonStr = null; - } - reader = new BufferedReader(new InputStreamReader(inputStream)); - - String line; - while ((line = reader.readLine()) != null) { - // Since it's JSON, adding a newline isn't necessary (it won't affect parsing) - // But it does make debugging a *lot* easier if you print out the completed - // buffer for debugging. - buffer.append(line + "\n"); - } - - if (buffer.length() == 0) { - // Stream was empty. No point in parsing. - forecastJsonStr = null; - } - forecastJsonStr = buffer.toString(); - } catch (IOException e) { - Log.e("PlaceholderFragment", "Error ", e); - // If the code didn't successfully get the weather data, there's no point in attemping - // to parse it. - forecastJsonStr = null; - } finally{ - if (urlConnection != null) { - urlConnection.disconnect(); - } - if (reader != null) { - try { - reader.close(); - } catch (final IOException e) { - Log.e("PlaceholderFragment", "Error closing stream", e); - } - } - } - - return rootView; - } - } }