Re[3]: Как быстро войти в тему Android и iOS?
От: Quadri  
Дата: 24.09.19 12:45
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>А насколько сложно обойти весь этот автоматизм? У меня периодически чешутся руки сделать что-нибудь для Android/iOS, но меня всю жизнь воротило от стиля "запускаем студию, жмакаем на создание проекта нужного типа, она сама генерит основной код, мышкой накидываем туда типовых обработчиков, потом чуток правим этот и этот...".


ЕМ>Хочется, чтобы программа начинала исполняться классически — с заданной мною самим точки входа (или нескольких точек различного типа, как в драйверах или службах), и чтобы простейшая программа могла реально состоять из одной строчки типа "вывод hello, world", а при нужде вызывала бы все необходимые системные средства. То есть, чтобы не фреймворк оборачивал программу и навязывал ей свою парадигму взаимодействия, а просто исполнение программы начиналось бы с известного места, и дальнейшее ее поведение определялось бы в первую очередь самой программой (ну и системными ограничениями, само собой).


Насколько я знаю нельзя. main инкапсулирован внутри Dalvik VM. Поэтому полагаться можно только на компоненты приложения: Application, Activity, Service и т.д.
В андроиде свой "особенный" подход к управлению процессами и элементами приложения: приостанавливание, кеширование, убивание (иногда без колбека).
Например, правильного способа завершения процесса изнутри самого этого процесса нет, это должна сделать система, и теоретически может это сделать в любой момент. И так далее.


ЕМ>Еще раздражает принятый в андроиде подход рисовать элементы управления в отдельном редакторе, под каждый набор разрешений экрана, и подключать их к приложению через файлы описания. В винде я могу на выбор использовать редактор ресурсов, или вручную создавать в программе шаблон диалога, или вовсе создавать каждый элемент по отдельности. А в андроиде это возможно? Или тамошний гуй умеет создавать элементы только по описаниям из файлов?


Можно создавать вьюшки в рантайме.
Если не нравится XML есть Kotlin ANKO, гугл еще делает какой то Jetpack Compose.
Кстати, некоторые прутся от Flutter'овского подхода описания UI:
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      decoration: BoxDecoration(color: Colors.white),
      child: Center(
        child: Text(
          'Hello World',
          textDirection: TextDirection.ltr,
          style: TextStyle(
            fontSize: 32,
            color: Colors.black87,
          ),
        ),
      ),
    );
  }
}

Но лично мне хочется блевануть
Имхо, xml — норм

>под каждый набор разрешений экрана,


Можно обойтись одним XML с описанием интерфейса одного окна на все случаи жизни, никто ни кого не заставляет.
И разные макеты делают не под разрешения экрана, а под размеры (смартфон/планшет и портрет/лэндскейп) в случае если это действительно нужно.
Под разные разрешения нужны разные картинки (mdpi, hdpi, xhdpi, xxhdpi...), но это может решаться векторными форматами картинок.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.