Advertisement
Guest User

Untitled

a guest
Jan 12th, 2016
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.05 KB | None | 0 0
  1. package com.example.user.loginregister;
  2.  
  3. import android.app.AlertDialog;
  4. import android.content.Intent;
  5. import android.support.v7.app.ActionBarActivity;
  6. import android.os.Bundle;
  7. import android.view.Menu;
  8. import android.view.MenuItem;
  9. import android.view.View;
  10. import android.widget.Button;
  11. import android.widget.EditText;
  12. import android.widget.TextView;
  13. import android.widget.Toast;
  14.  
  15.  
  16. public class Login extends ActionBarActivity implements View.OnClickListener{
  17.  
  18. Button bLogin;
  19. EditText etUsername, etPassword;
  20. TextView tvRegisterLink;
  21. UserLocalStore userLocalStore;
  22.  
  23. @Override
  24. protected void onCreate(Bundle savedInstanceState) {
  25. super.onCreate(savedInstanceState);
  26. setContentView(R.layout.activity_login);
  27.  
  28. etUsername = (EditText) findViewById(R.id.etUsername);
  29. etPassword = (EditText) findViewById(R.id.etPassword);
  30. bLogin = (Button) findViewById(R.id.bLogin);
  31. tvRegisterLink = (TextView) findViewById(R.id.tvRegisterlink);
  32.  
  33. bLogin.setOnClickListener(this);
  34. tvRegisterLink.setOnClickListener(this);
  35. userLocalStore = new UserLocalStore(this);
  36.  
  37.  
  38. }
  39.  
  40. private void authenticate(User user) {
  41.  
  42.  
  43. ServerRequests serverRequests = new ServerRequests(this);
  44. serverRequests.fetchUserDataInBackground(user, new GetUserCallBack()
  45. {
  46.  
  47. @Override
  48. public void done(User returnedUser) {
  49. Toast.makeText(getApplicationContext(), (CharSequence) returnedUser, Toast.LENGTH_LONG).show();
  50. if (returnedUser == null) {
  51. showErrorMessage();
  52.  
  53.  
  54. }else {
  55.  
  56. logUserIn(returnedUser);
  57. }
  58. }
  59. });
  60. }
  61.  
  62. private void showErrorMessage(){
  63.  
  64. AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(Login.this);
  65. dialogBuilder.setMessage("Incorrect user details");
  66. dialogBuilder.setPositiveButton("Ok", null);
  67. dialogBuilder.show();
  68. }
  69. private void logUserIn(User returnedUser) {
  70.  
  71. userLocalStore.storeUserData(returnedUser);
  72. userLocalStore.setUserLoggedIn(true);
  73.  
  74. startActivity(new Intent(this, MainActivity.class));
  75. }
  76.  
  77. @Override
  78. public void onClick(View v) {
  79. switch (v.getId()) {
  80. case R.id.bLogin:
  81. String username = etUsername.getText().toString();
  82. String password = etPassword.getText().toString();
  83.  
  84.  
  85. User user = new User(username, password);
  86. Toast.makeText(getApplicationContext(), "this is my Toast message!!! =)",
  87. Toast.LENGTH_LONG).show();
  88.  
  89. authenticate(user);
  90. userLocalStore.storeUserData(user);
  91. userLocalStore.setUserLoggedIn(true);
  92. break;
  93.  
  94. case R.id.tvRegisterlink:
  95.  
  96. startActivity(new Intent(this, Register.class));
  97.  
  98.  
  99. break;
  100. }
  101. }
  102.  
  103.  
  104. }
  105.  
  106. <?xml version="1.0" encoding="utf-8"?>
  107. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  108. package="com.example.user.loginregister" >
  109.  
  110. <uses-permission android:name="android.permission.INTERNET" />
  111.  
  112.  
  113. <application
  114. android:allowBackup="true"
  115. android:icon="@mipmap/ic_launcher"
  116. android:label="@string/app_name"
  117. android:theme="@style/AppTheme" >
  118. <activity
  119. android:name=".MainActivity"
  120. android:label="@string/app_name" >
  121. <intent-filter>
  122. <action android:name="android.intent.action.MAIN" />
  123.  
  124. <category android:name="android.intent.category.LAUNCHER" />
  125. </intent-filter>
  126. </activity>
  127. <activity
  128. android:name=".Login"
  129. android:label="@string/title_activity_login" >
  130. </activity>
  131. <activity
  132. android:name=".Register"
  133. android:label="@string/title_activity_register" >
  134. </activity>
  135. </application>
  136.  
  137. </manifest>
  138.  
  139. package com.example.user.loginregister;
  140.  
  141. import android.content.Intent;
  142. import android.support.v7.app.ActionBarActivity;
  143. import android.os.Bundle;
  144. import android.view.Menu;
  145. import android.view.MenuItem;
  146. import android.view.View;
  147. import android.widget.Button;
  148. import android.widget.EditText;
  149.  
  150.  
  151. public class MainActivity extends ActionBarActivity implements View.OnClickListener{
  152.  
  153. Button bLogout;
  154. EditText etUsername, etAge, etName;
  155. UserLocalStore userlocalStore;
  156. @Override
  157. protected void onCreate(Bundle savedInstanceState) {
  158. super.onCreate(savedInstanceState);
  159. setContentView(R.layout.activity_main);
  160.  
  161. etUsername = (EditText)findViewById(R.id.etUsername);
  162. etName = (EditText)findViewById(R.id.etName);
  163. etAge = (EditText)findViewById(R.id.etAge);
  164. bLogout = (Button)findViewById(R.id.bLogout);
  165.  
  166. bLogout.setOnClickListener(this);
  167. userlocalStore = new UserLocalStore(this);
  168. }
  169.  
  170. @Override
  171. protected void onStart(){
  172. super.onStart();
  173. if(authenticate()==true){
  174.  
  175. displayUserDetails();
  176. }else {
  177.  
  178. startActivity(new Intent(MainActivity.this, Login.class));
  179. }
  180. }
  181.  
  182. private boolean authenticate(){
  183.  
  184. return userlocalStore.getUserLoggedIn();
  185. }
  186.  
  187. private void displayUserDetails(){
  188.  
  189. User user = userlocalStore.getLoggedInUser();
  190.  
  191. etUsername.setText(user.username);
  192. etName.setText(user.name);
  193. etAge.setText(user.age + "");
  194.  
  195.  
  196. }
  197.  
  198.  
  199. @Override
  200. public void onClick(View v) {
  201. switch(v.getId()){
  202.  
  203. case R.id.bLogout:
  204.  
  205. userlocalStore.clearUserDate();
  206. userlocalStore.setUserLoggedIn(false);
  207.  
  208. startActivity(new Intent(this, Login.class));
  209.  
  210. break;
  211. }
  212. }
  213. }
  214.  
  215. package com.example.user.loginregister;
  216.  
  217. import android.content.Intent;
  218. import android.support.v7.app.ActionBarActivity;
  219. import android.os.Bundle;
  220. import android.view.Menu;
  221. import android.view.MenuItem;
  222. import android.view.View;
  223. import android.widget.Button;
  224. import android.widget.EditText;
  225. import android.widget.Toast;
  226.  
  227.  
  228. public class Register extends ActionBarActivity implements View.OnClickListener{
  229.  
  230. Button bRegister;
  231. EditText etUsername, etPassword, etAge, etName;
  232.  
  233. @Override
  234. protected void onCreate(Bundle savedInstanceState) {
  235. super.onCreate(savedInstanceState);
  236. setContentView(R.layout.activity_register);
  237.  
  238. etUsername = (EditText)findViewById(R.id.etUsername);
  239. etPassword = (EditText)findViewById(R.id.etPassword);
  240. etName = (EditText)findViewById(R.id.etName);
  241. etAge = (EditText)findViewById(R.id.etAge);
  242. bRegister = (Button)findViewById(R.id.bRegister);
  243.  
  244. bRegister.setOnClickListener(this);
  245.  
  246. }
  247. private void registerUser(User user){
  248. ServerRequests serverRequests = new ServerRequests(this);
  249. serverRequests.storeUserDataInBackground(user, new GetUserCallBack() {
  250. @Override
  251. public void done(User returnedUser) {
  252.  
  253. startActivity(new Intent(Register.this, Login.class));
  254.  
  255. }
  256. });
  257.  
  258. }
  259.  
  260. @Override
  261. public void onClick(View v) {
  262. switch(v.getId()){
  263.  
  264. case R.id.bRegister:
  265.  
  266. String name = etName.getText().toString();
  267. String username = etUsername.getText().toString();
  268. String password = etPassword.getText().toString();
  269.  
  270. int age = Integer.parseInt(etAge.getText().toString());
  271.  
  272. User user = new User(name, age, username, password);
  273.  
  274. registerUser(user);
  275.  
  276.  
  277.  
  278. break;
  279. }
  280. }
  281.  
  282.  
  283. }
  284.  
  285. package com.example.user.loginregister;
  286.  
  287. import android.app.ProgressDialog;
  288. import android.content.Context;
  289. import android.os.AsyncTask;
  290. import android.widget.Toast;
  291.  
  292. import org.apache.http.HttpEntity;
  293. import org.apache.http.HttpResponse;
  294. import org.apache.http.NameValuePair;
  295. import org.apache.http.client.HttpClient;
  296. import org.apache.http.client.entity.UrlEncodedFormEntity;
  297. import org.apache.http.client.methods.HttpPost;
  298. import org.apache.http.impl.client.DefaultHttpClient;
  299. import org.apache.http.message.BasicNameValuePair;
  300. import org.apache.http.params.BasicHttpParams;
  301. import org.apache.http.params.HttpConnectionParams;
  302. import org.apache.http.params.HttpParams;
  303. import org.apache.http.util.EntityUtils;
  304. import org.json.JSONObject;
  305.  
  306. import java.util.ArrayList;
  307.  
  308. /**
  309. * Created by user on 1/9/2016.
  310. */
  311. public class ServerRequests {
  312.  
  313. ProgressDialog progressDialog;
  314. public static final int CONNECTION_TIMEOUT = 1000 * 15;
  315.  
  316. public static final String SERVER_ADDRESS = "http://192.168.1.2/";
  317.  
  318. public ServerRequests(Context context) {
  319.  
  320. progressDialog = new ProgressDialog(context);
  321. progressDialog.setCancelable(false);
  322. progressDialog.setTitle("Processing");
  323. progressDialog.setMessage("Please wait...");
  324.  
  325. }
  326.  
  327. public void storeUserDataInBackground(User user, GetUserCallBack userCallBack) {
  328.  
  329. progressDialog.show();
  330. new StoreUserDataAsyncTask(user,userCallBack).execute();
  331.  
  332. }
  333.  
  334. public void fetchUserDataInBackground(User user, GetUserCallBack userCallBack) {
  335. progressDialog.show();
  336. new fetchUserDataAsyncTask(user, userCallBack).execute();
  337.  
  338. }
  339.  
  340. public class StoreUserDataAsyncTask extends AsyncTask<Void, Void, Void> {
  341.  
  342. User user;
  343. GetUserCallBack userCallBack;
  344.  
  345. public StoreUserDataAsyncTask(User user, GetUserCallBack userCallBack) {
  346.  
  347.  
  348. this.user = user;
  349. this.userCallBack = userCallBack;
  350. }
  351.  
  352. @Override
  353. protected Void doInBackground(Void... params) {
  354.  
  355. ArrayList<NameValuePair> dataToSend = new ArrayList<>();
  356. dataToSend.add(new BasicNameValuePair("name", user.name));
  357. dataToSend.add(new BasicNameValuePair("username", user.username));
  358. dataToSend.add(new BasicNameValuePair("password", user.password));
  359. dataToSend.add(new BasicNameValuePair("age", user.age + ""));
  360.  
  361.  
  362. HttpParams httpRequestParams = new BasicHttpParams();
  363. HttpConnectionParams.setConnectionTimeout(httpRequestParams, CONNECTION_TIMEOUT);
  364. HttpConnectionParams.setSoTimeout(httpRequestParams, CONNECTION_TIMEOUT);
  365.  
  366. HttpClient client = new DefaultHttpClient(httpRequestParams);
  367. HttpPost post = new HttpPost(SERVER_ADDRESS + "Register.php");
  368.  
  369. try {
  370. post.setEntity(new UrlEncodedFormEntity(dataToSend));
  371.  
  372. client.execute(post);
  373.  
  374. } catch (Exception e) {
  375. e.printStackTrace();
  376.  
  377. }
  378. return null;
  379. }
  380.  
  381. @Override
  382. protected void onPostExecute(Void aVoid) {
  383.  
  384. progressDialog.dismiss();
  385.  
  386. userCallBack.done(null);
  387. super.onPostExecute(aVoid);
  388.  
  389. }
  390. }
  391.  
  392.  
  393. public class fetchUserDataAsyncTask extends AsyncTask<Void, Void, User> {
  394.  
  395. User user;
  396. GetUserCallBack userCallBack;
  397. //User returnedUser ;
  398.  
  399. public fetchUserDataAsyncTask(User user, GetUserCallBack userCallBack) {
  400.  
  401.  
  402. this.user = user;
  403. this.userCallBack = userCallBack;
  404. }
  405.  
  406. @Override
  407. protected User doInBackground(Void... params) {
  408.  
  409. ArrayList<NameValuePair> dataToSend = new ArrayList<>();
  410.  
  411. dataToSend.add(new BasicNameValuePair("username", user.username));
  412. dataToSend.add(new BasicNameValuePair("password", user.password));
  413.  
  414. HttpParams httpRequestParams = new BasicHttpParams();
  415. HttpConnectionParams.setConnectionTimeout(httpRequestParams, CONNECTION_TIMEOUT);
  416. HttpConnectionParams.setSoTimeout(httpRequestParams, CONNECTION_TIMEOUT);
  417.  
  418. HttpClient client = new DefaultHttpClient(httpRequestParams);
  419. HttpPost post = new HttpPost(SERVER_ADDRESS + "FetchUserData.php");
  420.  
  421. User returnedUser = null;
  422. try {
  423. post.setEntity(new UrlEncodedFormEntity(dataToSend));
  424. HttpResponse httpResponse = client.execute(post);
  425. HttpEntity entity = httpResponse.getEntity();
  426. String result = EntityUtils.toString(entity);
  427. JSONObject jObject = new JSONObject(result);
  428.  
  429. if (jObject.length() == 0) {
  430.  
  431. returnedUser = null;
  432.  
  433. } else {
  434.  
  435. String name = jObject.getString("name");
  436. int age = jObject.getInt("age");
  437. returnedUser = new User(name, age, user.username, user.password);
  438.  
  439.  
  440. }
  441.  
  442.  
  443. } catch (Exception e) {
  444. e.printStackTrace();
  445.  
  446. }
  447. return returnedUser;
  448.  
  449. }
  450.  
  451. @Override
  452. protected void onPostExecute(User returnedUser) {
  453.  
  454. progressDialog.dismiss();
  455.  
  456. userCallBack.done(returnedUser);
  457. super.onPostExecute(returnedUser);
  458.  
  459. }
  460.  
  461. }
  462. }
  463.  
  464. package com.example.user.loginregister;
  465.  
  466. /**
  467. * Created by user on 1/7/2016.
  468. */
  469. public class User {
  470. String name, username, password;
  471. int age;
  472.  
  473. public User(String name, int age, String username, String password){
  474.  
  475. this.name = name;
  476. this.age = age;
  477. this.username = username;
  478. this.password = password;
  479.  
  480. }
  481.  
  482. public User(String username, String password){
  483.  
  484.  
  485. this.username = username;
  486. this.password = password;
  487. this.age = -1;
  488. this.name = "";
  489.  
  490. }
  491. }
  492.  
  493. package com.example.user.loginregister;
  494.  
  495. import android.content.Context;
  496. import android.content.SharedPreferences;
  497.  
  498. /**
  499. * Created by user on 1/7/2016.
  500. */
  501. public class UserLocalStore {
  502. public static final String SP_NAME = "userDetails";
  503. SharedPreferences userLocalDatabase;
  504.  
  505. public UserLocalStore(Context context){
  506.  
  507. userLocalDatabase = context.getSharedPreferences(SP_NAME,0);
  508.  
  509. }
  510.  
  511. public void storeUserData(User user){
  512.  
  513. SharedPreferences.Editor spEditor = userLocalDatabase.edit();
  514. spEditor.putString("name", user.name);
  515. spEditor.putString("username", user.username);
  516. spEditor.putString("password", user.password);
  517. spEditor.putInt("age", user.age);
  518.  
  519. spEditor.commit();
  520. }
  521.  
  522. public User getLoggedInUser(){
  523.  
  524. String name = userLocalDatabase.getString("name", "");
  525. int age = userLocalDatabase.getInt("age", -1);
  526. String username = userLocalDatabase.getString("username", "");
  527. String password = userLocalDatabase.getString("password", "");
  528.  
  529. User storedUser = new User(name, age, username, password);
  530.  
  531. return storedUser;
  532. }
  533.  
  534. public void setUserLoggedIn(boolean loggedIn){
  535.  
  536. SharedPreferences.Editor spEditor = userLocalDatabase.edit();
  537. spEditor.putBoolean("loggedIn", loggedIn);
  538. spEditor.commit();
  539. }
  540.  
  541. public boolean getUserLoggedIn(){
  542.  
  543. if(userLocalDatabase.getBoolean("loggedIn", false)== true){
  544.  
  545. return true;
  546. }else {
  547.  
  548. return false;
  549. }
  550. }
  551.  
  552. public void clearUserDate(){
  553.  
  554. SharedPreferences.Editor spEditor = userLocalDatabase.edit();
  555. spEditor.clear();
  556. spEditor.commit();
  557. }
  558.  
  559.  
  560. }
  561.  
  562. package com.example.user.loginregister;
  563.  
  564. /**
  565. * Created by user on 1/9/2016.
  566. */
  567. interface GetUserCallBack {
  568.  
  569. public abstract void done(User returnedUser);
  570. }
  571.  
  572. <?php
  573.  
  574. $con=mysqli_connect("localhost", "my_user", "my_password", "my_db");(security reason)
  575.  
  576. if (isset($_POST['name']))
  577. {
  578. $name = $_POST['name']; // Instructions if $_POST['value'] exist
  579. }
  580.  
  581. if (isset($_POST['username']))
  582. {
  583. $username = $_POST['username']; // Instructions if $_POST['value'] exist
  584. }
  585. if (isset($_POST['password']))
  586. {
  587. $password = $_POST['password']; // Instructions if $_POST['value'] exist
  588. }
  589. if (isset($_POST['age']))
  590. {
  591. $age = $_POST['age']; // Instructions if $_POST['value'] exist
  592. }
  593.  
  594. $statement = mysqli_prepare($con, "INSERT INTO User (name, age, username, password) VALUES (?, ?, ?, ?)");
  595. mysqli_stmt_bind_param($statement, "siss", $name, $age, $username, $password);
  596. mysqli_stmt_execute($statement);
  597.  
  598.  
  599. mysqli_stmt_close($statement);
  600. mysqli_close($con);
  601.  
  602. ?>
  603.  
  604. <?php
  605.  
  606. $con=mysqli_connect("localhost", "my_user", "my_password", "my_db"); (security reason)
  607.  
  608. if (isset($_POST['password']))
  609. {
  610. $password = $_POST['password']; // Instructions if $_POST['value'] exist
  611. }
  612. if (isset($_POST['username']))
  613. {
  614. $username = $_POST['username']; // Instructions if $_POST['value'] exist
  615. }
  616.  
  617. $statement = mysqli_prepare($con, "SELECT * FROM User WHERE username = ? AND password = ?");
  618. mysqli_stmt_bind_param($statement, "ss", $username, $password);
  619.  
  620. mysqli_stmt_execute($statement);
  621. mysqli_stmt_store_result($statement);
  622. mysqli_stmt_bind_result($statement, $userID, $name, $age, $username, $password);
  623.  
  624. $user = array();
  625. while(mysqli_stmt_fetch($statement)){
  626.  
  627. $user[name] = $name;
  628. $user[age] = $age;
  629. $user[username] = $username;
  630. $user[password] = $password;
  631. }
  632. echo json_encode($user);
  633. mysqli_stmt_close($statement);
  634. mysqli_close($con);
  635.  
  636. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement