Как перевести код с Java на Kotlin?
Подскажите пожалуйста,был раньше в Java проекте такой код
private static Queries q;
private static SQLiteDatabase db;
private static DbHelper dbHelper;
public static Queries getQueriesInstance(Context context) {
if(q == null) {
dbHelper = new DbHelper(context);
q = new Queries(db, dbHelper);
}
return q;
}
Вызывал его в public class App extends Application Как я могу его переделать под такой же аналог Котлина class SampleApplication: Application() ,и смогу ли вызывать как прежде в Java классах таким методом?
q = App.getQueriesInstance(getApplicationContext());
Ответы (3 шт):
Автор решения: DmitryD
→ Ссылка
class Test {
companion object {
private var q: Queries? = null
private val db: SQLiteDatabase? = null
private var dbHelper: DbHelper? = null
fun getQueriesInstance(context: Context?): Queries? {
if (q == null) {
dbHelper = DbHelper(context)
q = Queries(db, dbHelper)
}
return q
}
}
}
Автор решения: Sergei Buvaka
→ Ссылка
В Android Studio есть встроенный конвертор кода из Java в Kotlin.
Чтоб сделать это вам стоит нажать на файле который вы хотите конвертировать в Kotlin правой кнопкой мыши - и нажать "Convert Java File to Kotlin File"
В большинстве случае он работает отлично, но порой все же стоит пройтись по коду и проверить нюансы.
Автор решения: Nasdomlan Urban3p
→ Ссылка
Всем спасибо! Решил таким образом:
companion object {
var q: Queries? = null
val db: SQLiteDatabase? = null
var dbHelper: DbHelper? = null
fun getQueriesInstance(context: Context?): Queries? {
if (q == null) {
dbHelper = DbHelper(context)
q = Queries(db, dbHelper)
}
return q
}
}
И вызов через:
Queries q = SampleApplication.Companion.getQueriesInstance(this);
