oimtrust

MainActivity_WeatherYahooApp

Nov 27th, 2016
1,578
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.46 KB | None | 0 0
  1. package com.oimtrust.weatheryahoo;
  2.  
  3. import android.app.ProgressDialog;
  4. import android.graphics.drawable.Drawable;
  5. import android.os.Bundle;
  6. import android.support.v7.app.AppCompatActivity;
  7. import android.widget.ImageView;
  8. import android.widget.TextView;
  9. import android.widget.Toast;
  10.  
  11. import com.oimtrust.weatheryahoo.data.Channel;
  12. import com.oimtrust.weatheryahoo.data.Item;
  13. import com.oimtrust.weatheryahoo.service.WeatherServiceCallback;
  14. import com.oimtrust.weatheryahoo.service.YahooWeatherService;
  15.  
  16. public class MainActivity extends AppCompatActivity implements WeatherServiceCallback {
  17.  
  18.     private ImageView iconWeatherImageView;
  19.     private TextView temperatureTextview;
  20.     private TextView conditionTextView;
  21.     private TextView locationTextView;
  22.  
  23.     private YahooWeatherService service;
  24.     private ProgressDialog dialog;
  25.  
  26.     @Override
  27.     protected void onCreate(Bundle savedInstanceState) {
  28.         super.onCreate(savedInstanceState);
  29.         setContentView(R.layout.activity_main);
  30.  
  31.         iconWeatherImageView    = (ImageView) findViewById(R.id.imgView_iconWeather);
  32.         temperatureTextview     = (TextView) findViewById(R.id.textView_temperature);
  33.         conditionTextView       = (TextView) findViewById(R.id.textView_condition);
  34.         locationTextView        = (TextView) findViewById(R.id.textView_location);
  35.  
  36.         service = new YahooWeatherService(this);
  37.         dialog  = new ProgressDialog(this);
  38.         dialog.setMessage("Loading...");
  39.         dialog.show();
  40.  
  41.         service.refreshWeather("Malang, Indonesia");
  42.     }
  43.  
  44.     @Override
  45.     public void serviceSuccess(Channel channel) {
  46.         dialog.hide();
  47.  
  48.         Item item = channel.getItem();
  49.  
  50.         int resourceId    = getResources().getIdentifier("drawable/icon_" + item.getCondition().getCode(), null, getPackageName());
  51.  
  52.         @SuppressWarnings("deprecation")
  53.         Drawable weatherIconDrawable    = getResources().getDrawable(resourceId);
  54.         iconWeatherImageView.setImageDrawable(weatherIconDrawable);
  55.  
  56.         temperatureTextview.setText(item.getCondition().getTemperature() + "\u00B0" + channel.getUnits().getTemperature());
  57.         conditionTextView.setText(item.getCondition().getDescription());
  58.         locationTextView.setText(service.getLocation());
  59.  
  60.     }
  61.  
  62.     @Override
  63.     public void serviceFailure(Exception exception) {
  64.         dialog.hide();
  65.         Toast.makeText(this, exception.getMessage(), Toast.LENGTH_LONG).show();
  66.     }
  67. }
Add Comment
Please, Sign In to add comment