Advertisement
Guest User

Untitled

a guest
Jan 24th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.23 KB | None | 0 0
  1. package com.example.s3529589.mad_a1.Database;
  2.  
  3. import android.content.ContentValues;
  4. import android.database.Cursor;
  5. import android.database.sqlite.SQLiteDatabase;
  6.  
  7. import com.example.s3529589.mad_a1.Model.Friend;
  8.  
  9. import java.text.ParseException;
  10. import java.text.SimpleDateFormat;
  11. import java.util.ArrayList;
  12. import java.util.Date;
  13. import java.util.List;
  14. import java.util.UUID;
  15.  
  16. public class FriendTable {
  17.     private static final String KEY_ID = "id";
  18.     private static final String KEY_NAME = "name";
  19.     private static final String KEY_EMAIL = "email";
  20.     private static final String KEY_BIRTHDAY = "birthday";
  21.     private static final String KEY_LATITUDE = "latitude";
  22.     private static final String KEY_LONGITUDE = "longitude";
  23.     public static final String TABLE = "friends";
  24.  
  25.     public static String createTable() {
  26.         return "CREATE TABLE " + TABLE +
  27.                 "(" + KEY_ID + " TEXT PRIMARY KEY,"
  28.                 + KEY_NAME + " TEXT,"
  29.                 + KEY_EMAIL + " TEXT,"
  30.                 + KEY_BIRTHDAY + " TEXT,"
  31.                 + KEY_LATITUDE + " TEXT,"
  32.                 + KEY_LONGITUDE + " TEXT" + ")";
  33.     }
  34.  
  35.     public void addFriend(Friend friend) {
  36.         SQLiteDatabase db = DatabaseManagerSingleton.getInstance().openDatabase();
  37.  
  38.         ContentValues values = new ContentValues();
  39.         values.put(KEY_ID, String.valueOf(friend.getId()));
  40.         values.put(KEY_NAME, friend.getName());
  41.         values.put(KEY_EMAIL, friend.getEmail());
  42.  
  43.         // format birthday into string before entering into SQLite db
  44.         SimpleDateFormat dateFormat = new SimpleDateFormat("d-MMM-yyyy, h:mm:ss a");
  45.         Date friendBirthdate = friend.getBirthdate();
  46.         String dateString = dateFormat.format(friendBirthdate);
  47.         values.put(KEY_BIRTHDAY, dateString);
  48.  
  49.         values.put(KEY_LONGITUDE, friend.getLon());
  50.         values.put(KEY_LATITUDE, friend.getLat());
  51.  
  52.         db.insert(TABLE, null, values);
  53.         DatabaseManagerSingleton.getInstance().closeDatabase();
  54.     }
  55.  
  56.     public void deleteFriend(Friend friend) {
  57.         SQLiteDatabase db = DatabaseManagerSingleton.getInstance().openDatabase();
  58.         db.delete(TABLE, KEY_ID + " = ?",
  59.                 new String[]{String.valueOf(friend.getId())});
  60.         DatabaseManagerSingleton.getInstance().closeDatabase();
  61.     }
  62.  
  63.     public List<Friend> getAllFriends() {
  64.         List<Friend> friendList = new ArrayList<Friend>();
  65.         String selectQuery = "SELECT  * FROM " + TABLE;
  66.  
  67.         SQLiteDatabase db = DatabaseManagerSingleton.getInstance().openDatabase();
  68.         Cursor cursor = db.rawQuery(selectQuery, null);
  69.  
  70.         if (cursor.moveToFirst()) {
  71.             do {
  72.                 Friend friend = new Friend();
  73.  
  74.                 // set the friend's variables
  75.                 friend.setId(UUID.fromString(cursor.getString(0)));
  76.                 friend.setName(cursor.getString(1));
  77.                 friend.setEmail(cursor.getString(2));
  78.  
  79.                 String dateString = cursor.getString(3);
  80.  
  81.                 Date date = null;
  82.                 try {
  83.                     date = new SimpleDateFormat("d-MMM-yyyy, h:mm:ss a").parse(dateString);
  84.                 } catch (ParseException e) {
  85.                     e.printStackTrace();
  86.                 }
  87.                 friend.setBirthday(date);
  88.  
  89.                 friend.setLat(cursor.getDouble(4));
  90.                 friend.setLon(cursor.getDouble(5));
  91.                 friendList.add(friend);
  92.  
  93.             } while (cursor.moveToNext());
  94.         }
  95.         DatabaseManagerSingleton.getInstance().closeDatabase();
  96.         return friendList;
  97.     }
  98.  
  99.     public void updateFriend(String id, String name, String email) {
  100.         SQLiteDatabase db = DatabaseManagerSingleton.getInstance().openDatabase();
  101.  
  102.         ContentValues values = new ContentValues();
  103.  
  104.         if (!name.isEmpty())
  105.             values.put(KEY_NAME, name);
  106.         if (!email.isEmpty())
  107.             values.put(KEY_EMAIL, email);
  108.  
  109.         if (name.isEmpty() && email.isEmpty()) {
  110.  
  111.         } else {
  112.             db.update(TABLE, values, KEY_ID + " = ?",
  113.                     new String[]{String.valueOf((UUID.fromString(id)))});
  114.             DatabaseManagerSingleton.getInstance().closeDatabase();
  115.         }
  116.     }
  117.  
  118.  
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement