Advertisement
Guest User

android

a guest
Aug 22nd, 2019
291
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.95 KB | None | 0 0
  1. package com.example.user.weatherreport;
  2.  
  3. import android.graphics.Color;
  4. import android.net.Uri;
  5. import android.support.design.widget.TabLayout;
  6. import android.support.v4.app.Fragment;
  7. import android.support.v4.app.FragmentManager;
  8. import android.support.v4.app.FragmentPagerAdapter;
  9. import android.support.v4.view.ViewPager;
  10. import android.support.v7.app.AppCompatActivity;
  11. import android.os.Bundle;
  12. import android.util.Log;
  13. import android.widget.TableLayout;
  14.  
  15. import android.widget.TextView;
  16. import android.widget.Toast;
  17.  
  18. import com.example.user.weatherreport.web.WeatherResponse;
  19.  
  20. import retrofit2.Call;
  21. import retrofit2.Callback;
  22. import retrofit2.Response;
  23. import retrofit2.Retrofit;
  24. import retrofit2.converter.gson.GsonConverterFactory;
  25.  
  26. import static com.example.user.weatherreport.CurrentFragment.*;
  27.  
  28. public class MainActivity extends AppCompatActivity {
  29.  
  30. private TabLayout tabLayout;
  31. private ViewPager viewPager;
  32. private TextView text;
  33. private static final String BASE_URL = "http://api.openweathermap.org/data/2.5/";
  34.  
  35.  
  36. @Override
  37. protected void onCreate(Bundle savedInstanceState) {
  38. super.onCreate(savedInstanceState);
  39. setContentView(R.layout.activity_main);
  40.  
  41. tabLayout = (TabLayout) findViewById(R.id.tabLayout);
  42. viewPager = (ViewPager) findViewById(R.id.viewPager);
  43. text = (TextView) findViewById(R.id.text);
  44. tabLayout.addTab(tabLayout.newTab().setText("CURRENT"));
  45.  
  46. tabLayout.addTab(tabLayout.newTab().setText("7 DAYS FORECAST"));
  47. tabLayout.setSelectedTabIndicatorColor(Color.parseColor("#ffffff"));
  48. tabLayout.setTabTextColors(Color.parseColor("#727272"), Color.parseColor("#ffffff"));
  49.  
  50. CustomAdapter adapter=new CustomAdapter(getSupportFragmentManager(),tabLayout.getTabCount());
  51. viewPager.setAdapter(adapter);
  52.  
  53. Retrofit retrofit = new Retrofit.Builder()
  54. .baseUrl(BASE_URL)
  55. .addConverterFactory(GsonConverterFactory.create())
  56. .build();
  57.  
  58. WebService service = retrofit.create(WebService.class);
  59.  
  60. service.getResponse().enqueue(new Callback<WeatherResponse>() {
  61.  
  62. public void onResponse(Call<WeatherResponse> call, Response<WeatherResponse> response) {
  63.  
  64.  
  65. if (response.code() == 200) {
  66.  
  67. WeatherResponse wr = response.body();
  68. Log.d("MainActivity","response:" + response.body().toString());
  69. double temp=wr.getMain().getTemp();
  70. text.setText("temp: " + temp);
  71.  
  72. } else {
  73.  
  74. Toast.makeText(MainActivity.this, "errorcode-"
  75. + response.code(), Toast.LENGTH_LONG).show();
  76.  
  77. }
  78. }
  79.  
  80. @Override
  81. public void onFailure(Call<WeatherResponse> call, Throwable t) {
  82.  
  83. Toast.makeText(MainActivity.this, t.getLocalizedMessage(), Toast.LENGTH_LONG).show();
  84.  
  85.  
  86. }
  87. });
  88.  
  89. class CustomAdapter extends FragmentPagerAdapter {
  90. private int frameCount=0;
  91.  
  92. public CustomAdapter(FragmentManager fm,int frameCount) {
  93. super(fm);
  94. this.frameCount=frameCount;
  95. }
  96.  
  97. @Override
  98. public Fragment getItem(int position) {
  99. switch(position){
  100. case 0:
  101. return new CurrentFragment();
  102. case 1:
  103. return new WeatherFragment();
  104. }
  105. return null;
  106. }
  107.  
  108. @Override
  109. public int getCount() {
  110. return frameCount;
  111. }
  112. }
  113.  
  114.  
  115. }
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement