Advertisement
Guest User

Untitled

a guest
Aug 8th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.24 KB | None | 0 0
  1. package me.frine.shuriken;
  2.  
  3. import android.content.Intent;
  4. import android.os.AsyncTask;
  5. import android.os.Bundle;
  6. import android.support.v7.app.AppCompatActivity;
  7. import android.util.Log;
  8. import android.view.View;
  9. import android.widget.Button;
  10. import android.widget.EditText;
  11. import android.widget.TextView;
  12.  
  13. import com.google.gson.Gson;
  14. import com.google.gson.JsonObject;
  15.  
  16. import org.json.JSONException;
  17. import org.json.JSONObject;
  18. import org.springframework.http.HttpEntity;
  19. import org.springframework.http.HttpMethod;
  20. import org.springframework.http.ResponseEntity;
  21. import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
  22. import org.springframework.util.LinkedMultiValueMap;
  23. import org.springframework.util.MultiValueMap;
  24. import org.springframework.web.client.RestTemplate;
  25.  
  26. import java.net.URI;
  27. import java.util.List;
  28.  
  29. import me.frine.shuriken.data.models.TokenModel;
  30. import me.frine.shuriken.data.models.UserModel;
  31. import me.frine.shuriken.data.remote.UserClient;
  32. import okhttp3.OkHttpClient;
  33. import okhttp3.ResponseBody;
  34. import retrofit2.Call;
  35. import retrofit2.Callback;
  36. import retrofit2.Response;
  37. import retrofit2.Retrofit;
  38. import retrofit2.converter.gson.GsonConverterFactory;
  39.  
  40. public class LogInActivity extends AppCompatActivity {
  41.  
  42. @Override
  43. protected void onCreate(Bundle savedInstanceState) {
  44. super.onCreate(savedInstanceState);
  45. setContentView(R.layout.activity_log_in);
  46. //Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
  47. //setSupportActionBar(toolbar);
  48.  
  49.  
  50.  
  51. String API_BASE_URL = "http://api.frine.me:7777/";
  52. OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
  53.  
  54. Retrofit.Builder builder =
  55. new Retrofit.Builder()
  56. .baseUrl(API_BASE_URL)
  57. .addConverterFactory(
  58. GsonConverterFactory.create()
  59. );
  60.  
  61. final Retrofit retrofit =
  62. builder
  63. .client(
  64. httpClient.build()
  65. )
  66. .build();
  67.  
  68. //GitHubClient client = retrofit.create(GitHubClient.class);
  69. /*
  70. UserClient client = retrofit.create(UserClient.class);
  71. Call<List<UserModel>> list;
  72.  
  73. list = client.getAllUsers();
  74.  
  75. list.enqueue(new Callback<List<UserModel>>() {
  76. @Override
  77. public void onResponse(Call<List<UserModel>> call, Response<List<UserModel>> response) {
  78. List<UserModel> users = response.body();
  79. for(UserModel user : users){
  80. System.out.println(user.getUsername());
  81. }
  82. }
  83.  
  84. @Override
  85. public void onFailure(Call<List<UserModel>> call, Throwable t) {
  86. System.out.println("Fail to request");
  87. }
  88. });
  89. */
  90.  
  91. final EditText username = (EditText) findViewById(R.id.usernameEditText);
  92. final EditText password = (EditText) findViewById(R.id.passwordEditText);
  93.  
  94.  
  95. // Register button
  96. Button register = (Button) findViewById(R.id.register_button);
  97. register.setOnClickListener(new View.OnClickListener() {
  98. @Override
  99. public void onClick(View v) {
  100. final String usernameRegister = username.getText().toString();
  101. final String passwordRegister = password.getText().toString();
  102. final UserClient client = retrofit.create(UserClient.class);
  103. Call<UserModel> userModelCall;
  104.  
  105. UserModel user = new UserModel();
  106. user.setAvatar(1);
  107. user.setColor(1);
  108. user.setIsmoderator(false);
  109. user.setPassword(passwordRegister);
  110. user.setUsername(usernameRegister);
  111.  
  112.  
  113. System.out.println("User: " + new Gson().toJson(user));
  114.  
  115. //new HttpRequestTask().execute(model);
  116. userModelCall = client.register(new Gson().toJson(user));
  117. userModelCall.enqueue(new Callback<UserModel>(){
  118. @Override
  119. public void onResponse(Call<UserModel> call, Response<UserModel> response) {
  120.  
  121. System.out.println("Success: " + response.body().getUsername());
  122. System.out.println("Call: " + new Gson().toJson(call.request().body()));
  123. if(response.isSuccessful()) {
  124. //the response-body is already parseable to your ResponseBody object
  125. //ResponseBody responseBody = response.body();
  126. //you can do whatever with the response body now...
  127. //String responseBodyString= responseBody.toString();
  128. //Log.d("Response body", responseBodyString);
  129. }
  130. else {
  131. try {
  132. System.out.println("Response errorBody"+ new JSONObject(response.errorBody().toString()).get("message"));
  133. } catch (JSONException e) {
  134. e.printStackTrace();
  135. }
  136. }
  137. }
  138.  
  139. @Override
  140. public void onFailure(Call<UserModel> call, Throwable t) {
  141. System.out.println("Fail to register");
  142. }
  143. });
  144. }
  145. });
  146.  
  147.  
  148.  
  149. //Log in button
  150. Button login = (Button) findViewById(R.id.logIn_button);
  151. login.setOnClickListener(new View.OnClickListener() {
  152. @Override
  153. public void onClick(View v) {
  154. final String usernameLogin = username.getText().toString();
  155. final String passwordLogin = password.getText().toString();
  156.  
  157. final UserClient client = retrofit.create(UserClient.class);
  158.  
  159. Call<TokenModel> tokenModelCall;
  160. tokenModelCall = client.token(usernameLogin, passwordLogin,"password");
  161. tokenModelCall.enqueue(new Callback<TokenModel>() {
  162. @Override
  163. public void onResponse(Call<TokenModel> call, Response<TokenModel> response) {
  164. System.out.println(response.body().getAccess_token());
  165. }
  166.  
  167. @Override
  168. public void onFailure(Call<TokenModel> call, Throwable t) {
  169.  
  170. }
  171. });
  172. }
  173. UserModel user = new UserModel();
  174.  
  175.  
  176. });
  177.  
  178. //new HttpRequestTask().execute();
  179.  
  180. }
  181.  
  182. /*private class HttpRequestTask extends AsyncTask<UserModel, Void, UserModel> {
  183. @Override
  184. protected UserModel doInBackground(UserModel... params) {
  185. try {
  186. final String url = "http://api.frine.me:7777/users/register";
  187. RestTemplate restTemplate = new RestTemplate();
  188. //restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
  189. // restTemplate.postForLocation(url, UserModel.class, params[0]);
  190. MultiValueMap<String, Object> body = new LinkedMultiValueMap<String, Object>();
  191.  
  192. body.add("username", (String)"stefcopedal");
  193. body.add("password", (String)"12345678");
  194. body.add("ismoderator",(boolean)false);
  195. body.add("avatar",(int)1);
  196. body.add("color",(int)1);
  197.  
  198. System.out.println(body);
  199.  
  200.  
  201. // Note the body object as first parameter!
  202. HttpEntity<?> httpEntity = new HttpEntity<Object>(body);
  203.  
  204. ResponseEntity<UserModel> model = restTemplate.exchange(url, HttpMethod.POST, httpEntity,UserModel.class);
  205.  
  206. return model.getBody();
  207. } catch (Exception e) {
  208. Log.e("MainActivity", e.getMessage(), e);
  209. }
  210.  
  211. return null;
  212. }
  213.  
  214. @Override
  215. protected void onPostExecute(UserModel greeting) {
  216. System.out.println("Message: " + greeting);
  217. }
  218.  
  219. }
  220. */
  221.  
  222. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement