Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.frine.shuriken.data.remote;
- import org.json.JSONObject;
- import java.util.List;
- import me.frine.shuriken.data.models.TokenModel;
- import me.frine.shuriken.data.models.UserModel;
- import retrofit2.Call;
- import retrofit2.Callback;
- import retrofit2.http.Body;
- import retrofit2.http.Field;
- import retrofit2.http.FormUrlEncoded;
- import retrofit2.http.GET;
- import retrofit2.http.Headers;
- import retrofit2.http.POST;
- import retrofit2.http.Query;
- /**
- * Created by Stefan96100 on 7/26/2017.
- */
- public interface UserClient {
- @Headers({
- "Accept: application/json",
- })
- @GET("/users/getAllUsers")
- Call<List<UserModel>> getAllUsers();
- @FormUrlEncoded
- @POST("/users/register")
- Call<UserModel> register(@Field("user") String user);
- @FormUrlEncoded
- @POST("/oauth/token")
- Call<TokenModel> token(@Field("username") String username, @Field("password") String password,@Field("grant_type")String grant_type);
- @POST("/users/login")
- Call<UserModel> login(@Body UserModel user);
- }
- package me.frine.shuriken;
- import android.content.Intent;
- import android.os.AsyncTask;
- import android.os.Bundle;
- import android.support.v7.app.AppCompatActivity;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.TextView;
- import com.google.gson.Gson;
- import com.google.gson.JsonObject;
- import org.json.JSONException;
- import org.json.JSONObject;
- import org.springframework.http.HttpEntity;
- import org.springframework.http.HttpMethod;
- import org.springframework.http.ResponseEntity;
- import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
- import org.springframework.util.LinkedMultiValueMap;
- import org.springframework.util.MultiValueMap;
- import org.springframework.web.client.RestTemplate;
- import java.net.URI;
- import java.util.List;
- import me.frine.shuriken.data.models.TokenModel;
- import me.frine.shuriken.data.models.UserModel;
- import me.frine.shuriken.data.remote.UserClient;
- import okhttp3.OkHttpClient;
- import okhttp3.ResponseBody;
- import retrofit2.Call;
- import retrofit2.Callback;
- import retrofit2.Response;
- import retrofit2.Retrofit;
- import retrofit2.converter.gson.GsonConverterFactory;
- public class LogInActivity extends AppCompatActivity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_log_in);
- //Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
- //setSupportActionBar(toolbar);
- String API_BASE_URL = "http://frine:darko96%@api.frine.me:7777/";
- OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
- Retrofit.Builder builder =
- new Retrofit.Builder()
- .baseUrl(API_BASE_URL)
- .addConverterFactory(
- GsonConverterFactory.create()
- );
- final Retrofit retrofit =
- builder
- .client(
- httpClient.build()
- )
- .build();
- //GitHubClient client = retrofit.create(GitHubClient.class);
- /*
- UserClient client = retrofit.create(UserClient.class);
- Call<List<UserModel>> list;
- list = client.getAllUsers();
- list.enqueue(new Callback<List<UserModel>>() {
- @Override
- public void onResponse(Call<List<UserModel>> call, Response<List<UserModel>> response) {
- List<UserModel> users = response.body();
- for(UserModel user : users){
- System.out.println(user.getUsername());
- }
- }
- @Override
- public void onFailure(Call<List<UserModel>> call, Throwable t) {
- System.out.println("Fail to request");
- }
- });
- */
- final EditText username = (EditText) findViewById(R.id.usernameEditText);
- final EditText password = (EditText) findViewById(R.id.passwordEditText);
- // Register button
- Button register = (Button) findViewById(R.id.register_button);
- register.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- final String usernameRegister = username.getText().toString();
- final String passwordRegister = password.getText().toString();
- final UserClient client = retrofit.create(UserClient.class);
- Call<UserModel> userModelCall;
- UserModel user = new UserModel();
- user.setAvatar(1);
- user.setColor(1);
- user.setIsmoderator(false);
- user.setPassword(passwordRegister);
- user.setUsername(usernameRegister);
- System.out.println("User: " + new Gson().toJson(user));
- //new HttpRequestTask().execute(model);
- userModelCall = client.register(new Gson().toJson(user));
- userModelCall.enqueue(new Callback<UserModel>(){
- @Override
- public void onResponse(Call<UserModel> call, Response<UserModel> response) {
- System.out.println("Success: " + response.body().getUsername());
- System.out.println("Call: " + new Gson().toJson(call.request().body()));
- if(response.isSuccessful()) {
- //the response-body is already parseable to your ResponseBody object
- //ResponseBody responseBody = response.body();
- //you can do whatever with the response body now...
- //String responseBodyString= responseBody.toString();
- //Log.d("Response body", responseBodyString);
- }
- else {
- try {
- System.out.println("Response errorBody"+ new JSONObject(response.errorBody().toString()).get("message"));
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
- }
- @Override
- public void onFailure(Call<UserModel> call, Throwable t) {
- System.out.println("Fail to register");
- }
- });
- }
- });
- //Log in button
- Button login = (Button) findViewById(R.id.logIn_button);
- login.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- final String usernameLogin = username.getText().toString();
- final String passwordLogin = password.getText().toString();
- final UserClient client = retrofit.create(UserClient.class);
- Call<TokenModel> tokenModelCall;
- tokenModelCall = client.token(usernameLogin, passwordLogin,"password");
- tokenModelCall.enqueue(new Callback<TokenModel>() {
- @Override
- public void onResponse(Call<TokenModel> call, Response<TokenModel> response) {
- System.out.println(response.body().getAccess_token());
- }
- @Override
- public void onFailure(Call<TokenModel> call, Throwable t) {
- }
- });
- }
- UserModel user = new UserModel();
- });
- //new HttpRequestTask().execute();
- }
- /*private class HttpRequestTask extends AsyncTask<UserModel, Void, UserModel> {
- @Override
- protected UserModel doInBackground(UserModel... params) {
- try {
- final String url = "http://api.frine.me:7777/users/register";
- RestTemplate restTemplate = new RestTemplate();
- //restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
- // restTemplate.postForLocation(url, UserModel.class, params[0]);
- MultiValueMap<String, Object> body = new LinkedMultiValueMap<String, Object>();
- body.add("username", (String)"stefcopedal");
- body.add("password", (String)"12345678");
- body.add("ismoderator",(boolean)false);
- body.add("avatar",(int)1);
- body.add("color",(int)1);
- System.out.println(body);
- // Note the body object as first parameter!
- HttpEntity<?> httpEntity = new HttpEntity<Object>(body);
- ResponseEntity<UserModel> model = restTemplate.exchange(url, HttpMethod.POST, httpEntity,UserModel.class);
- return model.getBody();
- } catch (Exception e) {
- Log.e("MainActivity", e.getMessage(), e);
- }
- return null;
- }
- @Override
- protected void onPostExecute(UserModel greeting) {
- System.out.println("Message: " + greeting);
- }
- }
- */
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement