Advertisement
Guest User

ma

a guest
Apr 2nd, 2016
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.63 KB | None | 0 0
  1. package ru.travellingtogether.travellingtogether;
  2.  
  3. import android.app.FragmentTransaction;
  4. import android.os.Bundle;
  5. import android.view.View;
  6. import android.support.design.widget.NavigationView;
  7. import android.support.v4.view.GravityCompat;
  8. import android.support.v4.widget.DrawerLayout;
  9. import android.support.v7.app.ActionBarDrawerToggle;
  10. import android.support.v7.app.AppCompatActivity;
  11. import android.support.v7.widget.Toolbar;
  12. import android.view.Menu;
  13. import android.view.MenuItem;
  14. import android.widget.EditText;
  15. import android.widget.TextView;
  16.  
  17.  
  18. import org.json.JSONArray;
  19. import org.json.JSONException;
  20. import org.json.JSONObject;
  21.  
  22.  
  23. import ru.travellingtogether.travellingtogether.fragments.FragmentDriver;
  24. import ru.travellingtogether.travellingtogether.fragments.FragmentInfo;
  25. import ru.travellingtogether.travellingtogether.fragments.FragmentLogin;
  26. import ru.travellingtogether.travellingtogether.fragments.FragmentPassenger;
  27. import ru.travellingtogether.travellingtogether.fragments.FragmentRegister;
  28. import ru.travellingtogether.travellingtogether.fragments.FragmentUser;
  29.  
  30. public class MainActivity extends AppCompatActivity
  31. implements NavigationView.OnNavigationItemSelectedListener {
  32.  
  33. // declaration of variables for fragments
  34. FragmentDriver fdriver;
  35. FragmentPassenger fpassenger;
  36. FragmentInfo finfo;
  37. FragmentLogin flogin;
  38. FragmentRegister fregister;
  39. FragmentUser fuser;
  40.  
  41. // declaration of variables for fragment_login and fragment_register ets
  42. EditText etLogUsername, etLogPassword;
  43. EditText etRegUsername, etRegPassword, etRegName, etRegSurname;
  44.  
  45. // declaration of variables for fragment_user and header tvs
  46. TextView tvUserUsername, tvUserName, tvUserSurname;
  47. TextView navHeaderName;
  48.  
  49. // declaration of variables for showData()
  50. private JSONArray userinfo = null;
  51. private static final String JSON_ARRAY ="result";
  52. private static final String JSON_USERNAME = "username";
  53. private static final String JSON_NAME= "name";
  54. private static final String JSON_SURNAME = "surname";
  55.  
  56. @Override
  57. protected void onCreate(Bundle savedInstanceState) {
  58. super.onCreate(savedInstanceState);
  59. setContentView(R.layout.activity_main);
  60. Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
  61. setSupportActionBar(toolbar);
  62.  
  63. DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
  64. ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
  65. this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
  66. drawer.setDrawerListener(toggle);
  67. toggle.syncState();
  68.  
  69. NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
  70. navigationView.setNavigationItemSelectedListener(this);
  71.  
  72. // attaching fragments to variables
  73. fdriver = new FragmentDriver();
  74. fpassenger = new FragmentPassenger();
  75. finfo = new FragmentInfo();
  76. flogin = new FragmentLogin();
  77. fregister = new FragmentRegister();
  78. fuser = new FragmentUser();
  79.  
  80. // attaching tv to variable
  81. navHeaderName = (TextView) findViewById(R.id.navHeaderName);
  82.  
  83. // call for FragmentLogin
  84. FragmentTransaction ftLogin = getFragmentManager().beginTransaction();
  85. ftLogin.replace(R.id.container, flogin);
  86. ftLogin.commit();
  87.  
  88. }
  89.  
  90. @Override
  91. public void onBackPressed() {
  92. DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
  93. if (drawer.isDrawerOpen(GravityCompat.START)) {
  94. drawer.closeDrawer(GravityCompat.START);
  95. } else {
  96. super.onBackPressed();
  97. }
  98. }
  99.  
  100. @Override
  101. public boolean onCreateOptionsMenu(Menu menu) {
  102. // Inflate the menu; this adds items to the action bar if it is present.
  103. getMenuInflater().inflate(R.menu.main, menu);
  104. return true;
  105. }
  106.  
  107. @Override
  108. public boolean onOptionsItemSelected(MenuItem item) {
  109. // Handle action bar item clicks here. The action bar will
  110. // automatically handle clicks on the Home/Up button, so long
  111. // as you specify a parent activity in AndroidManifest.xml.
  112. int id = item.getItemId();
  113.  
  114. //noinspection SimplifiableIfStatement
  115. if (id == R.id.action_settings) {
  116. return true;
  117. }
  118.  
  119. return super.onOptionsItemSelected(item);
  120. }
  121.  
  122. @SuppressWarnings("StatementWithEmptyBody")
  123. @Override
  124. public boolean onNavigationItemSelected(MenuItem item) {
  125. // Handle navigation view item clicks here.
  126. int id = item.getItemId();
  127.  
  128. FragmentTransaction ftMenu = getFragmentManager().beginTransaction();
  129.  
  130. if (id == R.id.nav_driver) {
  131. ftMenu.replace(R.id.container, fdriver);
  132. } else if (id == R.id.nav_passenger) {
  133. ftMenu.replace(R.id.container, fpassenger);
  134. } else if (id == R.id.nav_info) {
  135. ftMenu.replace(R.id.container, finfo);
  136.  
  137. } ftMenu.commit();
  138.  
  139. DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
  140. drawer.closeDrawer(GravityCompat.START);
  141. return true;
  142. }
  143.  
  144. // method for "register" button at FragmentLogin
  145. public void onLogRegister(View view) {
  146. FragmentTransaction ftRegister = getFragmentManager().beginTransaction();
  147. ftRegister.replace(R.id.container, fregister);
  148. ftRegister.commit();
  149. }
  150.  
  151. // method for "login" button at FragmentLogin
  152. public void onLogin(View view) {
  153.  
  154. etLogUsername = (EditText) findViewById(R.id.etLogUsername);
  155. etLogPassword = (EditText) findViewById(R.id.etLogPassword);
  156.  
  157. String username = etLogUsername.getText().toString();
  158. String password = etLogPassword.getText().toString();
  159.  
  160. String type = "login";
  161.  
  162. BackgroundWorker backgroundWorker = new BackgroundWorker(this);
  163. backgroundWorker.execute(type, username, password);
  164.  
  165. // if (BackgroundWorker.result.equals("login success")) {
  166.  
  167. GetJSON getJSON = new GetJSON();
  168. getJSON.execute(username, password);
  169.  
  170. FragmentTransaction ftUser = getFragmentManager().beginTransaction();
  171. ftUser.replace(R.id.container, fuser);
  172. ftUser.commit();
  173.  
  174. // }
  175.  
  176. }
  177.  
  178. // method for "register" button at FragmentRegister
  179. public void onRegRegister(View view) {
  180.  
  181. etRegUsername = (EditText) findViewById(R.id.etRegUsername);
  182. etRegPassword = (EditText) findViewById(R.id.etRegPassword);
  183. etRegName = (EditText) findViewById(R.id.etRegName);
  184. etRegSurname = (EditText) findViewById(R.id.etRegSurname);
  185.  
  186. String username = etRegUsername.getText().toString();
  187. String password = etRegPassword.getText().toString();
  188. String name = etRegName.getText().toString();
  189. String surname = etRegSurname.getText().toString();
  190.  
  191. String type = "register";
  192.  
  193. BackgroundWorker backgroundWorker = new BackgroundWorker(this);
  194. backgroundWorker.execute(type, username, password, name, surname);
  195.  
  196. GetJSON getJSON = new GetJSON();
  197. getJSON.execute(username, password);
  198.  
  199. FragmentTransaction ftUser = getFragmentManager().beginTransaction();
  200. ftUser.replace(R.id.container, fuser);
  201. ftUser.commit();
  202.  
  203. }
  204.  
  205. // method for "show data" button at FragmentUser
  206. public void onShowDataTest(View view) {
  207.  
  208. tvUserUsername = (TextView) findViewById(R.id.tvUserUsername);
  209. tvUserName = (TextView) findViewById(R.id.tvUserName);
  210. tvUserSurname = (TextView) findViewById(R.id.tvUserSurname);
  211.  
  212. extractJSON();
  213. showData();
  214.  
  215. }
  216.  
  217. // extracting json string to array
  218. private void extractJSON(){
  219. try {
  220. JSONObject jsonObject = new JSONObject(GetJSON.jsonResult);
  221. userinfo = jsonObject.getJSONArray(JSON_ARRAY);
  222. } catch (JSONException e) {
  223. e.printStackTrace();
  224. }
  225. }
  226.  
  227. // getting data and inserting it to views
  228. private void showData(){
  229. try {
  230. JSONObject jsonObject = userinfo.getJSONObject(0);
  231.  
  232. tvUserUsername.setText(jsonObject.getString(JSON_USERNAME));
  233. tvUserName.setText(jsonObject.getString(JSON_NAME));
  234. tvUserSurname.setText(jsonObject.getString(JSON_SURNAME));
  235.  
  236. // String name = jsonObject.getString(JSON_NAME)+" "+jsonObject.getString(JSON_SURNAME);
  237. // navHeaderName.setText(name);
  238.  
  239.  
  240. } catch (JSONException e) {
  241. e.printStackTrace();
  242. }
  243. }
  244.  
  245. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement