Guest User

Untitled

a guest
Nov 26th, 2018
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.63 KB | None | 0 0
  1. package com.example.alqahtag.outfit;
  2.  
  3. import android.Manifest;
  4. import android.app.DatePickerDialog;
  5. import android.app.IntentService;
  6. import android.content.Intent;
  7. import android.content.pm.PackageManager;
  8. import android.database.Cursor;
  9. import android.graphics.BitmapFactory;
  10. import android.graphics.Color;
  11. import android.graphics.drawable.ColorDrawable;
  12. import android.net.Uri;
  13. import android.os.Build;
  14. import android.provider.MediaStore;
  15. import android.service.autofill.TextValueSanitizer;
  16. import android.support.annotation.NonNull;
  17. import android.support.annotation.Nullable;
  18. import android.support.v7.app.AppCompatActivity;
  19. import android.os.Bundle;
  20. import android.util.Log;
  21. import android.view.View;
  22. import android.widget.Button;
  23. import android.widget.DatePicker;
  24. import android.widget.EditText;
  25. import android.widget.ImageButton;
  26. import android.widget.ImageView;
  27. import android.widget.TextView;
  28. import android.widget.Toast;
  29.  
  30. import java.io.File;
  31. import java.io.FileInputStream;
  32. import java.io.FileOutputStream;
  33. import java.util.Calendar;
  34.  
  35. public class MainActivity extends AppCompatActivity {
  36.  
  37. private static final String TAG = "MainActivity";
  38. private static final int PERMISSION_REQUEST = 0;
  39. private static final int RESULT_LOAD_IMAGE = 1;
  40.  
  41. private ImageView imageView;
  42. private ImageButton imageLoad;
  43. private EditText displayDate;
  44. private DatePickerDialog.OnDateSetListener dateSetListener;
  45.  
  46. DatabaseHandler handler = new DatabaseHandler(this);
  47.  
  48. @Override
  49. protected void onCreate(Bundle savedInstanceState) {
  50. super.onCreate(savedInstanceState);
  51. setContentView(R.layout.activity_main);
  52. displayDate = (EditText) findViewById(R.id.editAge);
  53. imageLoad = (ImageButton) findViewById(R.id.imageLoad);
  54. imageView = (ImageView) findViewById(R.id.imageView);
  55.  
  56. // for the load image functionality
  57. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M &&
  58. checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) !=
  59. PackageManager.PERMISSION_GRANTED) {
  60. requestPermissions(new String[]
  61. {Manifest.permission.READ_EXTERNAL_STORAGE},
  62. PERMISSION_REQUEST);
  63. }
  64.  
  65. // when the image loading button clicked
  66. imageLoad.setOnClickListener(new View.OnClickListener() {
  67. @Override
  68. public void onClick(View v) {
  69. Intent loading = new Intent(Intent.ACTION_PICK,
  70. MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
  71. startActivityForResult(loading, RESULT_LOAD_IMAGE);
  72. }
  73. });
  74. displayDate.setOnClickListener(new View.OnClickListener() {
  75. @Override
  76. public void onClick(View view) {
  77. Calendar cal = Calendar.getInstance();
  78. int year = cal.get(Calendar.YEAR);
  79. int month = cal.get(Calendar.MONTH);
  80. int day = cal.get(Calendar.DAY_OF_MONTH);
  81.  
  82. DatePickerDialog dialog = new DatePickerDialog(
  83. MainActivity.this,
  84. android.R.style.Theme_Black_NoTitleBar,
  85. dateSetListener,
  86. year, month, day
  87. );
  88. dialog.getWindow().setBackgroundDrawable(new
  89. ColorDrawable(Color.TRANSPARENT));
  90. dialog.show();
  91. }
  92. });
  93.  
  94. dateSetListener = new DatePickerDialog.OnDateSetListener() {
  95. @Override
  96. public void onDateSet(DatePicker datePicker, int year, int month,
  97. int day) {
  98. month = month + 1;
  99. Log.d(TAG, "onDateSet(): mm/dd/yyyy" + month + "/" + day + "/"
  100. +
  101. year);
  102.  
  103. String date = month + "/" + day + "/" + year;
  104. displayDate.setText(date);
  105. }
  106. };
  107.  
  108. }
  109.  
  110. public void onClick(View v){
  111. EditText userName = (EditText) findViewById(R.id.editUsername);
  112. EditText email = (EditText) findViewById(R.id.editEmail);
  113. EditText password = (EditText) findViewById(R.id.editPsw);
  114. EditText confirmPsw = (EditText) findViewById(R.id.editConfirmPsw);
  115. EditText birthday = (EditText) findViewById(R.id.editAge);
  116.  
  117. // convert the input types to string
  118. String userNamestr = userName.getText().toString();
  119. String emailstr = email.getText().toString();
  120. String passwordstr = password.getText().toString();
  121. String confirmpswstr = confirmPsw.getText().toString();
  122. int birthdaystr = Integer.parseInt(birthday.getText().toString());
  123.  
  124. // check if the passwords match
  125. if(!passwordstr.equals(confirmpswstr)){
  126. Toast.makeText(MainActivity.this, "Passwords don't match!",
  127. Toast.LENGTH_SHORT).show();
  128. }
  129. if(passwordstr.equals(confirmpswstr)){
  130. Toast.makeText(MainActivity.this, "detailes have been saved",
  131. Toast.LENGTH_LONG).show();
  132. // insert the details in database
  133. Contact c = new Contact();
  134. c.setUsername(userNamestr);
  135. c.setEmail(emailstr);
  136. c.setPassword(passwordstr);
  137. c.setBirthday(birthdaystr);
  138. handler.insertContact(c);
  139. Intent intentDisplay = new Intent(this, LogInActivity.class);
  140. startActivity(intentDisplay); //will show a login dialog
  141. }
  142.  
  143.  
  144. }
  145.  
  146.  
  147. @Override
  148. public void onRequestPermissionsResult(int requestCode, @NonNull String[]
  149. permissions, @NonNull int[] grantResults) {
  150. switch (requestCode) {
  151. case PERMISSION_REQUEST:
  152. if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
  153. Toast.makeText(this, "Permission granted",
  154. Toast.LENGTH_SHORT).show();
  155. } else {
  156. Toast.makeText(this, "Permission rejected",
  157. Toast.LENGTH_SHORT).show();
  158. finish();
  159. }
  160. }
  161. }
  162.  
  163. @Override
  164. protected void onActivityResult(int requestCode, int resultCode, @Nullable
  165. Intent data) {
  166. switch (requestCode){
  167. case RESULT_LOAD_IMAGE:
  168. if(resultCode == RESULT_OK){
  169. Uri selectedImage = data.getData();
  170. String[] filePathColumn = {MediaStore.Images.Media.DATA};
  171. Cursor cursor = getContentResolver().query(selectedImage,
  172. filePathColumn, null,null, null);
  173. cursor.moveToFirst();
  174. int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
  175. String picturePath = cursor.getString(columnIndex);
  176.  
  177. imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));
  178. }
  179. }
  180. }
  181.  
  182. }
  183.  
  184. package com.example.alqahtag.outfit;
  185.  
  186. import android.content.ContentValues;
  187. import android.content.Context;
  188. import android.database.Cursor;
  189. import android.database.sqlite.SQLiteDatabase;
  190. import android.database.sqlite.SQLiteOpenHelper;
  191. import android.util.Log;
  192.  
  193.  
  194. public class DatabaseHandler extends SQLiteOpenHelper {
  195.  
  196. private static final int DATABASE_VERSION = 1;
  197. private static final String DATABASE_NAME = "contacts.db";
  198. private static final String TABLE_NAME = "contacts";
  199. private static final String COLUMN_USERNAME ="username";
  200. private static final String COLUMN_EMAIL = "email";
  201. private static final String COLUMN_PASSWORD = "password";
  202. private static final String COLUMN_BIRTHDAY = "birthday";
  203. private static final String TABLE_CREATE = "create table contacts (username
  204. text primary key not null," + "email text not null, password text not null,
  205. birthday integre not null)";
  206.  
  207. SQLiteDatabase db;
  208.  
  209. public DatabaseHandler(Context context){
  210. super(context, DATABASE_NAME, null, DATABASE_VERSION);
  211. }
  212. @Override
  213. public void onCreate(SQLiteDatabase db) {
  214. db.execSQL(TABLE_CREATE);
  215. this.db = db;
  216. }
  217.  
  218. @Override
  219. public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
  220. String query = "DROP TABLE IF EXISTS " + TABLE_NAME;
  221. db.execSQL(query);
  222. this.onCreate(db);
  223. }
  224.  
  225. public void insertContact(Contact contact){
  226. db = this.getWritableDatabase();
  227. ContentValues contentValues = new ContentValues();
  228. contentValues.put(COLUMN_USERNAME, contact.getUsername());
  229. contentValues.put(COLUMN_EMAIL, contact.getEmail());
  230. contentValues.put(COLUMN_PASSWORD, contact.getPassword());
  231. contentValues.put(COLUMN_BIRTHDAY, contact.getBirthday());
  232.  
  233. db.insert(TABLE_NAME, null, contentValues);
  234. db.close();
  235. }
  236.  
  237. public String searchPass(String username){
  238. db = this.getReadableDatabase();
  239. String query = "select username, password from " + TABLE_NAME;
  240. Cursor cursor = db.rawQuery(query, null);
  241. String ausername, bpassword ;
  242. bpassword = "not found";
  243. if(cursor.moveToFirst()){
  244. do{
  245. ausername = cursor.getString(0);
  246.  
  247. if(ausername.equals(username)){
  248. bpassword = cursor.getString(1);
  249. break;
  250. }
  251. }while (cursor.moveToNext());
  252. }
  253. return bpassword;
  254. }
  255. }
  256.  
  257. package com.example.alqahtag.outfit;
  258.  
  259. import android.content.Intent;
  260. import android.support.v7.app.AppCompatActivity;
  261. import android.os.Bundle;
  262. import android.view.View;
  263. import android.widget.EditText;
  264. import android.widget.Toast;
  265.  
  266. public class LogInActivity extends AppCompatActivity {
  267.  
  268. DatabaseHandler handler = new DatabaseHandler(this);
  269. @Override
  270. protected void onCreate(Bundle savedInstanceState) {
  271. super.onCreate(savedInstanceState);
  272. setContentView(R.layout.activity_log_in);
  273. }
  274. public void onLogin(View view){
  275. EditText usernameCheck = (EditText) findViewById(R.id.editUsername);
  276. String usernameCheckstr = usernameCheck.getText().toString();
  277.  
  278. EditText pswcheck = (EditText) findViewById(R.id.editUsername);
  279. String pswCheckstr = pswcheck.getText().toString();
  280.  
  281. String password = handler.searchPass(usernameCheckstr);
  282. if(pswCheckstr.equals(password)){
  283. Intent goHome = new Intent(this, HomeActivity.class);
  284. startActivity(goHome);
  285. } else {
  286. Toast.makeText(this, "Username and password don't match",
  287. Toast.LENGTH_SHORT).show();
  288. }
  289.  
  290.  
  291. }
  292. }
Add Comment
Please, Sign In to add comment