Skip to content

Instantly share code, notes, and snippets.

View NsAveek's full-sized avatar
🏠
Working from home

Aveek NsAveek

🏠
Working from home
View GitHub Profile
@NsAveek
NsAveek / DatabaseHelper.java
Created August 19, 2018 05:11
The magic method createTable() to handle creation of the given fields automatically
private void createTable(String tableName, Map<String, String> fields, SQLiteDatabase db) {
Iterator iter = fields.entrySet().iterator();
String columns = "(";
Log.d("column", columns);
int counter = 1;
while (iter.hasNext()) {
Map.Entry mEntry = (Map.Entry) iter.next();
columns += mEntry.getKey() + " " + mEntry.getValue();
if (counter == fields.size()) {
columns += ")";
@NsAveek
NsAveek / DatabaseHelper.java
Last active August 19, 2018 05:22
The Actual DatabaseHelper class which is responsible for creating tables with default values in Sqlite
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "data.db";
private static final int DATABASE_VERSION = 1;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
@NsAveek
NsAveek / DatabaseInfo.java
Last active August 19, 2018 05:24
Database tables
public class DatabaseInfo {
// Database Tables
public static String DATABASE_TABLE_A = "table_A";
public static String DATABASE_TABLE_A_DETAILS = "table_a_details";
public static String DATABASE_TABLE_B = "table_B";
public static String DATABASE_TABLE_B_DETAILS = "table_b_details";
}
public enum EnumFields {
PRIMARY("INTEGER PRIMARY KEY"),
INTEGER("INTEGER"),
TEXT("TEXT");
// Add more types
private String fields;
Fields(String fields){
this.fields = fields;
}
public String getField(){
@NsAveek
NsAveek / Builder
Created September 11, 2018 15:19
Builder Pattern example
public class Student {
private String name;
private String address;
private String email;
private String phoneNumber;
private String passportNumber;
private int age;
@NsAveek
NsAveek / IRepository
Created October 12, 2018 04:40
Repository interface
interface IStoreRepository {
fun saveStudentData(student: Student) : Boolean
fun updateStudentData(student: Student) : Int
fun deleteStudentData (student: Student) : Boolean
}
@NsAveek
NsAveek / DatabaseRepository
Created October 12, 2018 04:41
The Database class with Repository pattern
class DatabaseRepository : IStoreRepository {
private var realm: Realm = Realm.getDefaultInstance()
override fun saveStudentData(student: Student): Boolean {
try {
realm.executeTransaction {
realm.insertOrUpdate(student)
}
} catch (e: Exception) {
@NsAveek
NsAveek / GetFile.java
Last active November 9, 2018 10:09
Select Video Using Intent
public void getFile(View view) {
Intent intent = new Intent();
intent.setType("video/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Video"), REQUEST_CODE_PICKER);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
@NsAveek
NsAveek / UploadFile.kt
Created October 20, 2018 05:37
Upload file using Retrofit
private void uploadFile(File file){
RequestBody videoBody = RequestBody.create(MediaType.parse("video/"), file);
MultipartBody.Part vFile = MultipartBody.Part.createFormData("upload-file", file.getName(), videoBody);
UploadVideoService videoService = RetrofitClientInstance.Companion.getRetrofitInstance();
Call<ResponseBody> serverCom=videoService.uploadVideo(vFile);
serverCom.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
ResponseBody body = response.body();
try {
@NsAveek
NsAveek / GetRealPathFromURI.kt
Created November 9, 2018 06:24
Pass an Uri and get the actual path of the file in device
fun getRealVideoPathFromURI(contentResolver: ContentResolver,
contentURI: Uri): String? {
val cursor=contentResolver.query(contentURI, null, null, null, null)
if (cursor == null)
return contentURI.path
else {
cursor.moveToFirst()
val idx=cursor.getColumnIndex(MediaStore.Video.VideoColumns.DATA)
try {
return cursor.getString(idx)