Guest User

Untitled

a guest
Apr 18th, 2018
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.72 KB | None | 0 0
  1. E/SystemUpdater-DataParser: [AppList] JSON : list is null No value for miuiApp. E/SystemUpdater-DataParser: [AppList] JSON : list is null. No value for listApp E/adTracker: Value 34699728403-1500805818@g.us of type java.lang.String cannot be converted to JSONObject E/adTracker: Value 34633304234@s.whatsapp.net of type java.lang.String cannot be converted to JSONObject E/adTracker: Value 34678292656@s.whatsapp.net of type java.lang.String cannot be converted to JSONObject
  2.  
  3. public class Constants {
  4.  
  5. public static final String BASE_URL = "http://10.0.2.2/";
  6. public static final String REGISTER_OPERATION = "register";
  7. public static final String LOGIN_OPERATION = "login";
  8. public static final String CHANGE_PASSWORD_OPERATION = "chgPass";
  9.  
  10. public static final String SUCCESS = "success";
  11. public static final String FAILURE = "failure";
  12. public static final String IS_LOGGED_IN = "isLoggedIn";
  13.  
  14. public static final String NAME = "name";
  15. public static final String EMAIL = "email";
  16. public static final String UNIQUE_ID = "unique_id";
  17.  
  18. public static final String TAG = "C4Growth";
  19.  
  20. }
  21.  
  22. package nutriapp.nut.nut.activities;
  23.  
  24. import android.app.Fragment;
  25. import android.app.FragmentTransaction;
  26. import android.content.SharedPreferences;
  27. import android.os.Bundle;
  28. import android.support.design.widget.Snackbar;
  29. import android.support.v7.widget.AppCompatButton;
  30. import android.util.Log;
  31. import android.view.LayoutInflater;
  32. import android.view.View;
  33. import android.view.ViewGroup;
  34. import android.widget.EditText;
  35. import android.widget.ProgressBar;
  36. import android.widget.TextView;
  37.  
  38. import com.google.gson.Gson;
  39. import com.google.gson.GsonBuilder;
  40.  
  41. import nutriapp.nut.nut.Constants;
  42. import nutriapp.nut.nut.R;
  43. import nutriapp.nut.nut.model.RequestInterface;
  44. import nutriapp.nut.nut.model.User;
  45. import nutriapp.nut.nut.model.ServerResquest;
  46. import nutriapp.nut.nut.model.ServerResponse;
  47.  
  48.  
  49. import retrofit2.Call;
  50. import retrofit2.Callback;
  51. import retrofit2.Retrofit;
  52. import retrofit2.converter.gson.GsonConverterFactory;
  53.  
  54. public class LoginFragment extends Fragment implements View.OnClickListener{
  55.  
  56. private AppCompatButton btn_login;
  57. private EditText et_email,et_password;
  58. private TextView tv_register;
  59. private ProgressBar progress;
  60. private SharedPreferences pref;
  61.  
  62. @Override
  63. public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  64.  
  65. View view = inflater.inflate(R.layout.fragment_login,container,false);
  66. initViews(view);
  67. return view;
  68. }
  69.  
  70. private void initViews(View view){
  71.  
  72. pref = getActivity().getPreferences(0);
  73.  
  74. btn_login = (AppCompatButton)view.findViewById(R.id.btn_login);
  75. tv_register = (TextView)view.findViewById(R.id.tv_register);
  76. et_email = (EditText)view.findViewById(R.id.et_email);
  77. et_password = (EditText)view.findViewById(R.id.et_password);
  78.  
  79. progress = (ProgressBar)view.findViewById(R.id.progress);
  80.  
  81. btn_login.setOnClickListener(this);
  82. tv_register.setOnClickListener(this);
  83. }
  84.  
  85. @Override
  86. public void onClick(View v) {
  87.  
  88. switch (v.getId()){
  89.  
  90. case R.id.tv_register:
  91. goToRegister();
  92. break;
  93.  
  94. case R.id.btn_login:
  95. String email = et_email.getText().toString();
  96. String password = et_password.getText().toString();
  97.  
  98. if(!email.isEmpty() && !password.isEmpty()) {
  99.  
  100. progress.setVisibility(View.VISIBLE);
  101. loginProcess(email,password);
  102.  
  103. } else {
  104.  
  105. Snackbar.make(getView(), "Fields are empty !", Snackbar.LENGTH_LONG).show();
  106. }
  107. break;
  108.  
  109. }
  110. }
  111. private void loginProcess(String email,String password){
  112.  
  113. Gson gson = new GsonBuilder()
  114. .setLenient()
  115. .create();
  116.  
  117. Retrofit retrofit = new Retrofit.Builder()
  118. .baseUrl(Constants.BASE_URL)
  119. .addConverterFactory(GsonConverterFactory.create(gson))
  120. .build();
  121.  
  122.  
  123. RequestInterface requestInterface = retrofit.create(RequestInterface.class);
  124.  
  125. User user = new User();
  126. user.setEmail(email);
  127. user.setContra(password);
  128. ServerResquest request = new ServerResquest();
  129. request.setOperation(Constants.LOGIN_OPERATION);
  130. request.setUser(user);
  131. Call<ServerResponse> response = requestInterface.operation(request);
  132.  
  133. response.enqueue(new Callback<ServerResponse>() {
  134. @Override
  135. public void onResponse(Call<ServerResponse> call, retrofit2.Response<ServerResponse> response) {
  136.  
  137. ServerResponse resp = response.body();
  138. Snackbar.make(getView(), resp.getMessage(), Snackbar.LENGTH_LONG).show();
  139.  
  140. if(resp.getResult().equals(Constants.SUCCESS)){
  141. SharedPreferences.Editor editor = pref.edit();
  142. editor.putBoolean(Constants.IS_LOGGED_IN,true);
  143. editor.putString(Constants.EMAIL,resp.getUser().getEmail());
  144. editor.putString(Constants.NAME,resp.getUser().getName());
  145. editor.putString(Constants.NAME,resp.getUser().getId());
  146. editor.putString(Constants.UNIQUE_ID,resp.getUser().getId());
  147. editor.apply();
  148.  
  149.  
  150. }
  151. progress.setVisibility(View.INVISIBLE);
  152. }
  153.  
  154. @Override
  155. public void onFailure(Call<ServerResponse> call, Throwable t) {
  156.  
  157. progress.setVisibility(View.INVISIBLE);
  158. Log.d(Constants.TAG,"failed");
  159. Snackbar.make(getView(), t.getLocalizedMessage(), Snackbar.LENGTH_LONG).show();
  160.  
  161. }
  162. });
  163. }
  164.  
  165. private void goToRegister(){
  166.  
  167. Fragment register = new RegisterFragment();
  168. FragmentTransaction ft = getFragmentManager().beginTransaction();
  169. ft.replace(R.id.fragment_frame,register);
  170. ft.commit();
  171. }
  172.  
  173. }
  174.  
  175. public class RegisterFragment extends Fragment implements View.OnClickListener{
  176.  
  177. private AppCompatButton btn_register;
  178. private EditText et_email,et_password,et_name,et_altura,et_weight,et_age;
  179. private TextView tv_login;
  180. private ProgressBar progress;
  181.  
  182. @Override
  183. public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  184.  
  185. View view = inflater.inflate(R.layout.fragment_register,container,false);
  186. initViews(view);
  187. return view;
  188. }
  189.  
  190. private void initViews(View view){
  191.  
  192. btn_register = (AppCompatButton)view.findViewById(R.id.btn_register);
  193. tv_login = (TextView)view.findViewById(R.id.tv_login);
  194. et_name = (EditText)view.findViewById(R.id.et_name);
  195. et_email = (EditText)view.findViewById(R.id.et_email);
  196. et_password = (EditText)view.findViewById(R.id.et_password);
  197. et_weight = (EditText)view.findViewById(R.id.et_weight);
  198. et_altura = (EditText) view.findViewById(R.id.et_altura);
  199. et_age = (EditText) view.findViewById(R.id.et_age);
  200. progress = (ProgressBar)view.findViewById(R.id.progress);
  201.  
  202. btn_register.setOnClickListener(this);
  203. tv_login.setOnClickListener(this);
  204. }
  205.  
  206. @Override
  207. public void onClick(View v) {
  208.  
  209. switch (v.getId()){
  210. case R.id.tv_login:
  211. goToLogin();
  212. break;
  213.  
  214. case R.id.btn_register:
  215.  
  216. String name = et_name.getText().toString();
  217. String email = et_email.getText().toString();
  218. String password = et_password.getText().toString();
  219. String altura = et_altura.getText().toString();
  220. String weight = et_weight.getText().toString();
  221. String age = et_age.getText().toString();
  222.  
  223. if(!name.isEmpty() && !email.isEmpty() && !password.isEmpty() && !altura.isEmpty() && !weight.isEmpty()) {
  224.  
  225. progress.setVisibility(View.VISIBLE);
  226. registerProcess(name,email,password,altura,weight,age);
  227.  
  228. } else {
  229.  
  230. Snackbar.make(getView(), "Fields are empty !", Snackbar.LENGTH_LONG).show();
  231. }
  232. break;
  233.  
  234. }
  235.  
  236. }
  237.  
  238. private void registerProcess(String name, String email,String password,String altura, String weight, String age){
  239. Gson gson = new GsonBuilder()
  240. .setLenient()
  241. .create();
  242.  
  243. Retrofit retrofit = new Retrofit.Builder()
  244. .baseUrl(Constants.BASE_URL)
  245. .addConverterFactory(GsonConverterFactory.create(gson))
  246. .build();
  247.  
  248. RequestInterface requestInterface = retrofit.create(RequestInterface.class);
  249.  
  250. User user = new User();
  251. user.setName(name);
  252. user.setEmail(email);
  253. user.setContra(password);
  254. user.setAlt(altura);
  255. user.setWeight(weight);
  256. user.setOld(age);
  257. ServerResquest request = new ServerResquest();
  258. request.setOperation(Constants.REGISTER_OPERATION);
  259. request.setUser(user);
  260. Call<ServerResponse> response = requestInterface.operation(request);
  261.  
  262. response.enqueue(new Callback<ServerResponse>() {
  263. @Override
  264. public void onResponse(Call<ServerResponse> call, retrofit2.Response<ServerResponse> response) {
  265.  
  266. ServerResponse resp = response.body();
  267. Snackbar.make(getView(), resp.getMessage(), Snackbar.LENGTH_LONG).show();
  268. progress.setVisibility(View.INVISIBLE);
  269. }
  270.  
  271. @Override
  272. public void onFailure(Call<ServerResponse> call, Throwable t) {
  273.  
  274. progress.setVisibility(View.INVISIBLE);
  275. Log.d(Constants.TAG,"failed");
  276. Snackbar.make(getView(), t.getLocalizedMessage(), Snackbar.LENGTH_LONG).show();
  277.  
  278. }
  279. });
  280. }
  281.  
  282. private void goToLogin(){
  283.  
  284. Fragment login = new LoginFragment();
  285. FragmentTransaction ft = getFragmentManager().beginTransaction();
  286. ft.replace(R.id.fragment_frame,login);
  287. ft.commit();
  288. }
  289. }
  290.  
  291. public class User {
  292. @SerializedName("unique_id")
  293. private String unique_id;
  294. @SerializedName("name")
  295. private String name;
  296. @SerializedName("email")
  297. private String email;
  298. @SerializedName("old")
  299. private String old;
  300. @SerializedName("weight")
  301. private String weight;
  302. @SerializedName("alt")
  303. private String alt;
  304. @SerializedName("password")
  305. private String password;
  306. public String getId(){
  307. return unique_id;
  308. }
  309.  
  310.  
  311. public String getName(){
  312. return name;
  313. }
  314.  
  315. public void setName(String name){
  316. this.name = name;
  317. }
  318.  
  319. public String getEmail(){
  320. return email;
  321. }
  322.  
  323. public void setEmail(String email){
  324. this.email = email;
  325. }
  326. public String getOld(){
  327. return old;
  328. }
  329. public void setOld(String old){
  330. this.old = old;
  331. }
  332. public String getWeight(){
  333. return weight;
  334. }
  335. public void setWeight(String weight){
  336. this.weight=weight;
  337. }
  338. public String getAlt(){
  339. return alt;
  340. }
  341. public void setAlt(String alt){
  342. this.alt = alt;
  343. }
  344. public String getContra(){
  345. return contra;
  346. }
  347.  
  348. public void setContra(String contra){
  349. this.contra = contra;
  350. }
  351.  
  352. }
  353. ServerRequest class:
  354.  
  355. import com.google.gson.annotations.SerializedName;
  356.  
  357. public class ServerResquest {
  358. @SerializedName("operation")
  359. private String operation;
  360. @SerializedName("user")
  361. private User user;
  362.  
  363. public void setOperation(String operation) {
  364. this.operation = operation;
  365. }
  366.  
  367. public void setUser(User user) {
  368. this.user = user;
  369. }
  370. }
  371.  
  372. import retrofit2.Retrofit;
  373. import retrofit2.converter.gson.GsonConverterFactory;
  374.  
  375. public class RetrofitClient {
  376. private static Retrofit retrofit = null;
  377. public static Retrofit getClient(String baseUrl){
  378. if(retrofit == null){
  379. retrofit = new Retrofit.Builder()
  380. .baseUrl(baseUrl)
  381. .addConverterFactory(GsonConverterFactory.create())
  382. .build();
  383. }
  384. return retrofit;
  385. }
  386. }
  387.  
  388. public interface RequestInterface {
  389.  
  390. @POST("login/")
  391. Call<ServerResponse> operation(@Body ServerResquest request);
  392.  
  393. }
  394.  
  395. include_once 'config.php';
  396.  
  397. class DbConnect{
  398.  
  399. private $connect;
  400.  
  401. public function __construct(){
  402.  
  403. $this->connect = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
  404.  
  405. if (mysqli_connect_errno($this->connect)){
  406. echo "Fallo al conectar a la base de datos de MySQL: " . mysqli_connect_error();
  407. }
  408. }
  409.  
  410. public function getDb(){
  411. return $this->connect;
  412. }
  413. }
  414. ?>
  415.  
  416. include_once 'db-connect.php';
  417.  
  418. class User{
  419.  
  420. private $db;
  421.  
  422. private $db_table = "t_user";
  423.  
  424. public function __construct(){
  425. $this->db = new DbConnect();
  426. }
  427.  
  428. public function isLoginExist($email, $password){
  429.  
  430. $query = "select * from ".$this->db_table." where email = '$email' AND password = '$password' Limit 1";
  431.  
  432. $result = mysqli_query($this->db->getDb(), $query);
  433.  
  434. if(mysqli_num_rows($result) > 0){
  435.  
  436. mysqli_close($this->db->getDb());
  437.  
  438.  
  439. return true;
  440.  
  441. }
  442.  
  443. mysqli_close($this->db->getDb());
  444.  
  445. return false;
  446.  
  447. }
  448.  
  449. public function isEmailUsernameExist($username, $email){
  450.  
  451. $query = "select * from ".$this->db_table." where name = '$name' AND email = '$email'";
  452.  
  453. $result = mysqli_query($this->db->getDb(), $query);
  454.  
  455. if(mysqli_num_rows($result) > 0){
  456.  
  457. mysqli_close($this->db->getDb());
  458.  
  459. return true;
  460.  
  461. }
  462.  
  463. return false;
  464.  
  465. }
  466.  
  467. public function isValidEmail($email){
  468. return filter_var($email, FILTER_VALIDATE_EMAIL) !== false;
  469. }
  470.  
  471. public function createNewRegisterUser($name, $email, $tipo, $alt, $weight, $password){
  472.  
  473. $isExisting = $this->isEmailUsernameExist($username, $email);
  474.  
  475. if($isExisting){
  476.  
  477. $json['success'] = 0;
  478. $json['message'] = "Error al registrar. Es posible que el usuario/correo ya exista.";
  479. }
  480.  
  481. else{
  482.  
  483. $isValid = $this->isValidEmail($email);
  484.  
  485. if($isValid)
  486. {
  487. $query = "insert into ".$this->db_table." (name, email, tipo, alt, weight, PASSWORD) values ('$name', '$email', '$tipo, $alt, $weight, '$password')";
  488.  
  489. $inserted = mysqli_query($this->db->getDb(), $query);
  490.  
  491. if($inserted == 1){
  492.  
  493. $json['success'] = 1;
  494. $json['message'] = "Usuario registrado correctamente.";
  495.  
  496. }else{
  497.  
  498. $json['success'] = 0;
  499. $json['message'] = "Error al registrar. Es posible que el usuario/correo ya exista.";
  500.  
  501. }
  502.  
  503. mysqli_close($this->db->getDb());
  504. }
  505. else{
  506. $json['success'] = 0;
  507. $json['message'] = "Error al registrar. Dirección de correo no válida.";
  508. }
  509.  
  510. }
  511.  
  512. return $json;
  513.  
  514. }
  515.  
  516. public function loginUsers($username, $password){
  517.  
  518. $json = array();
  519.  
  520. $canUserLogin = $this->isLoginExist($username, $password);
  521.  
  522. if($canUserLogin){
  523.  
  524. $json['success'] = 1;
  525. $json['message'] = "Successfully logged in";
  526.  
  527. }else{
  528. $json['success'] = 0;
  529. $json['message'] = "Incorrect details";
  530. }
  531. return $json;
  532. }
  533. }
  534. ?>
  535.  
  536. require_once 'user.php';
  537.  
  538. $name = "";
  539.  
  540. $password = "";
  541.  
  542. $email = "";
  543.  
  544. $tipo = "";
  545.  
  546. $alt = "";
  547.  
  548. $weight = "";
  549.  
  550. if(isset($_POST['name'])){
  551.  
  552. $username = $_POST['username'];
  553.  
  554. }
  555.  
  556. if(isset($_POST['password'])){
  557.  
  558. $password = $_POST['password'];
  559.  
  560. }
  561.  
  562. if(isset($_POST['email'])){
  563.  
  564. $email = $_POST['email'];
  565.  
  566. }
  567.  
  568. if(isset($_POST['tipo'])){
  569.  
  570. $email = $_POST['tipo'];
  571.  
  572. }
Add Comment
Please, Sign In to add comment