Advertisement
Guest User

Untitled

a guest
Jun 21st, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.49 KB | None | 0 0
  1. package com.polina.nickishina;
  2.  
  3. import android.content.Context;
  4. import android.content.Intent;
  5. import android.content.SharedPreferences;
  6. import android.os.Bundle;
  7. import android.support.annotation.Nullable;
  8. import android.support.v7.app.AppCompatActivity;
  9. import android.util.Log;
  10. import android.view.Menu;
  11. import android.view.MenuItem;
  12. import android.view.View;
  13. import android.widget.AdapterView;
  14. import android.widget.ListView;
  15. import com.polina.nickishina.net.MarvelApi;
  16. import com.polina.nickishina.net.request.characters.model.Character;
  17. import com.polina.nickishina.net.request.characters.model.CharacterDataWrapper;
  18. import com.polina.nickishina.net.request.characters.model.Image;
  19. import com.polina.nickishina.utils.CredentialsUtils;
  20. import java.util.ArrayList;
  21. import butterknife.ButterKnife;
  22. import rx.Subscriber;
  23. import rx.Subscription;
  24. import rx.schedulers.Schedulers;
  25. import static com.polina.nickishina.utils.CredentialsUtils.public_key;
  26. import static com.polina.nickishina.utils.CredentialsUtils.ts;
  27. import static rx.android.schedulers.AndroidSchedulers.mainThread;
  28.  
  29. public class MainActivity extends AppCompatActivity {
  30. ArrayList<Character> characters_data = new ArrayList<Character>();
  31. AdapterListView adapterListView;
  32. private SharedPreferences preferences;
  33.  
  34. @Override
  35. protected void onCreate(@Nullable Bundle savedInstanceState) {
  36. super.onCreate(savedInstanceState);
  37. setContentView(R.layout.activity_main);
  38. preferences = getSharedPreferences("MY_PREFS", Context.MODE_PRIVATE);
  39. getData();
  40. }
  41. @Override
  42. public boolean onCreateOptionsMenu(Menu menu){
  43. super.onCreateOptionsMenu(menu);
  44.  
  45. menu.add(0,1,1,"Выход");
  46. return true;
  47.  
  48.  
  49. }
  50. public boolean onOptionsItemSelected(MenuItem item){
  51. int id = item.getItemId();
  52.  
  53. switch (id){
  54.  
  55. case 1 :
  56. preferences = getSharedPreferences("MY_PREFS", Context.MODE_PRIVATE);
  57. SharedPreferences.Editor editor = preferences.edit();
  58.  
  59. editor.putInt("is_auth",0);
  60.  
  61. editor.apply();
  62.  
  63. Intent intent1 = new Intent(MainActivity.this,LoginActivity.class);
  64. intent1.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  65. startActivity(intent1);
  66. break;
  67. }
  68. return super.onOptionsItemSelected(item);
  69. }
  70.  
  71. private void getData(){
  72. ButterKnife.bind(this);
  73.  
  74. MarvelApi marvelApi = MarvelApi.getInstance();
  75. Subscription subscription = marvelApi.getMarvel(ts, public_key, CredentialsUtils.getHash())
  76. .subscribeOn(Schedulers.io())
  77. .observeOn(mainThread())
  78. .subscribe(new Subscriber<CharacterDataWrapper>() {
  79. @Override
  80. public void onCompleted() {
  81. Log.d("MainActivity", "onCompleted");
  82. }
  83.  
  84. @Override
  85. public void onError(Throwable e) {
  86. Log.e("MainActivity", "onError => " + e.getMessage());
  87. }
  88.  
  89. @Override
  90. public void onNext(CharacterDataWrapper response) {
  91. Log.d("MainActivity", "onNext => " + response);
  92. try {
  93. if (response.getData().getResults().size() > 0) {
  94. for (int i = 0; i < 20; i++) {
  95. String name = response.getData().getResults().get(i).getName();
  96. Image image = response.getData().getResults().get(i).getThumbnail();
  97. String description = response.getData().getResults().get(i).getDescription();
  98. Integer pk = response.getData().getResults().get(i).getPk();
  99. Character character_item = new Character(pk, name, image, description);
  100. characters_data.add(character_item);
  101. }
  102. }
  103. initList();
  104. } catch (NullPointerException e) {
  105. Log.e("MainActivity", "NullPointerException => " + e.getMessage());
  106. }
  107. }
  108. }
  109. );
  110. }
  111.  
  112. private void initList(){
  113. adapterListView = new AdapterListView(this,characters_data);
  114. final ListView listOfRating = (ListView)findViewById(R.id.ItemView);
  115. listOfRating.setAdapter(adapterListView);
  116.  
  117. listOfRating.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  118. @Override
  119. public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
  120.  
  121. Intent intent = new Intent(getApplicationContext(), CharacterDetail.class);
  122. Integer char_id = characters_data.get(position).getPk();
  123. Log.e("XXXX", char_id.toString());
  124. intent.putExtra("char_id", char_id);
  125. startActivity(intent);
  126. }
  127. });
  128. }
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement