Dimri Shahar Barsheshet Berry Ventura Lev Avishay Peretz Andrew Lebedev Eugene Rozenberg David Vardi Sigal Levi Alex Cohn Nitzan Werber Orit Malki Vitaliy Abramov Shahar Ben Moshe Regev Avraham Aleksey Grach Gilad Levinson Daniel Szasz 6
Google Slides (up to 3 pages): 1. Idea Explanation 2. Short self introduction (Who are you?) 3. Who you are looking for? 4. Contact details 2. Submit the Pitch Request Form - https://forms.gle/rtyV4zBpqn9umpS89
Google Slides (up to 3 pages): 1. Idea Explanation 2. Short self introduction (Who are you?) 3. Who you are looking for? 4. Contact details 2. Submit the Pitch Request Form - https://forms.gle/rtyV4zBpqn9umpS89 3. Present it at the beginning of the lecture - 1 minute “Elevator Pitch”
Database which uses tables and relations to organize the data, Usually uses SQL for operations Relational Database management system: A program (or less) that implements a Relational Database. Common vendors:PostgreSQL, Oracle, MySQL, Microsoft SQL Server 70
| [column, column]) FROM (table) WHERE (condition) ORDER BY (column) (ASC | DESC) This is super-simplified. Read more: https://www.sqlite.org/lang_select.html 87
val columnIndexContent = cursor.getColumnIndexOrThrow(MovieEntry.COLUMN_NAME_CONTENT) val columnIndexImageUri = cursor.getColumnIndexOrThrow(MovieEntry.COLUMN_NAME_IMAGE_URI) val columnIndexReleaseDate = cursor.getColumnIndexOrThrow(MovieEntry.COLUMN_NAME_RELEASE_DATE) } 118
0){ while (cursor.moveToNext()){ val name = cursor.getString(columnIndexName) val content = cursor.getString(columnIndexContent) val url = cursor.getString(columnIndexImageUri) val releaseDate = cursor.getString(columnIndexReleaseDate) } } ... } 121
while (cursor.moveToNext()){ val name = cursor.getString(columnIndexName) val content = cursor.getString(columnIndexContent) val url = cursor.getString(columnIndexImageUri) val releaseDate = cursor.getString(columnIndexReleaseDate) moviesList.add(MovieModel(name, content, url, releaseDate)) } } ... } 122
Int, val name: String, val imageUrl: String, val overview: String?, val backImageUrl: String, val releaseDate: String, val popularity: Double ) : Parcelable 133
val name: String, val imageUrl: String, val overview: String?, val backImageUrl: String, val releaseDate: String, val popularity: Double ) : Parcelable 134
Int, val name: String, val imageUrl: String, val overview: String?, val backImageUrl: String, val releaseDate: String, val popularity: Double ) : Parcelable 135
val name: String, val imageUrl: String, val overview: String?, val backImageUrl: String, val releaseDate: String, val popularity: Double ) : Parcelable 136
FROM MovieModel ORDER BY popularity DESC") fun getAll(): List<MovieModel> @Insert(onConflict = OnConflictStrategy.ABORT) fun insertAll(movies: Collection<MovieModel>) } 141
FROM MovieModel ORDER BY popularity DESC") fun getAll(): List<MovieModel> @Insert(onConflict = OnConflictStrategy.FAIL) fun insertAll(movies: Collection<MovieModel>) } 142
FROM MovieModel ORDER BY popularity DESC") fun getAll(): List<MovieModel> @Insert(onConflict = OnConflictStrategy.IGNORE) fun insertAll(movies: Collection<MovieModel>) } 143
FROM MovieModel ORDER BY popularity DESC") fun getAll(): List<MovieModel> @Insert(onConflict = OnConflictStrategy.REPLACE) fun insertAll(movies: Collection<MovieModel>) } 144
FROM MovieModel ORDER BY popularity DESC") fun getAll(): List<MovieModel> @Insert(onConflict = OnConflictStrategy.ROLLBACK) fun insertAll(movies: Collection<MovieModel>) } 145
FROM MovieModel ORDER BY popularity DESC") fun getAll(): List<MovieModel> @Insert(onConflict = OnConflictStrategy.REPLACE) fun insertAll(movies: Collection<MovieModel>) @Query("DELETE FROM MovieModel") fun deleteAll() } 146
{ @Query("SELECT * FROM movieModel WHERE name LIKE :name LIMIT 1") MovieModel findByName(String name); @Query("SELECT * FROM movieModel WHERE movieId IN (:movieIds)") List<MovieModel> loadAllByIds(string[] movieIds); } 148