• Android как удалить логирование?

    iLLuzor
    @iLLuzor
    Java, Kotlin, Android Developer
    Используйте proguard/r8.
    В файле proguard-rules.pro пропишите следующее:
    -assumenosideeffects class android.util.Log {
        public static boolean isLoggable(java.lang.String, int);
        public static int println(...);
        public static int v(...);
        public static int i(...);
        public static int w(...);
        public static int d(...);
        public static int e(...);
        public static int wtf(...);
    }


    Подробности тут в разделе Removing logging code
    Ответ написан
    Комментировать
  • Какой ноутбук купить для разработки за 30-35к?

    Astrohas
    @Astrohas
    Python/Django Developer
    https://m.market.yandex.ru/product/1963318949?hid=...

    I5 7200u/8gb/ 1tb HDD, есть Dvd (который нафиг не нужен, но он нужен для того чтобы вместо него в будущем ты мог поставить оптибей). Два видеопорта... Цена 35 150

    ...
    Ещё один бюджетный вариант
    https://m.market.yandex.ru/product/60959083/spec?h...
    Ответ написан
    2 комментария
  • Какие знания нужны, чтобы создать такой продукт под android?

    Вот примерный список зависимостей, покрывающий описанные вами нужды:

    implementation "com.google.firebase:firebase-core:16.0.1"
    implementation "com.google.firebase:firebase-auth:16.0.2"
    implementation 'com.firebaseui:firebase-ui-auth:4.0.0'
    implementation "com.android.support:appcompat-v7:${supportLibVer}"
    implementation "com.android.support:support-v13:${supportLibVer}"
    implementation "com.android.support:recyclerview-v7:${supportLibVer}"
    implementation "com.android.support:design:${supportLibVer}"
    implementation 'com.android.support:multidex:1.0.3'
    implementation "com.google.android.gms:play-services-maps:${gmsVersion}"
    implementation "com.google.android.gms:play-services-location:${gmsVersion}"
    implementation "android.arch.lifecycle:extensions:${aacVer2}"
    kapt "android.arch.lifecycle:compiler:${aacVer}"
    implementation "android.arch.persistence.room:runtime:${aacVer2}"
    kapt "android.arch.persistence.room:compiler:${aacVer}"
    implementation "com.squareup.retrofit2:retrofit:${retrofitVer}"
    implementation "com.squareup.retrofit2:converter-gson:${retrofitVer}"
    implementation "com.squareup.okhttp3:okhttp:${okHttpVer}"
    implementation "com.squareup.okhttp3:logging-interceptor:${okHttpVer}"
    implementation 'com.karumi:dexter:4.2.0'
    implementation 'com.google.code.gson:gson:2.8.4'
    implementation 'de.hdodenhof:circleimageview:2.2.0'
    implementation 'ch.acra:acra-http:5.1.2'
    implementation('com.afollestad.material-dialogs:core:0.9.6.0') {
        exclude group: 'com.android.support', module: 'appcompat-v13'
    }
    implementation ('com.squareup.picasso:picasso:2.71828') {
        exclude group: 'com.android.support', module: 'animated-vector-drawable'
        exclude group: 'com.android.support', module: 'exifinterface'
    }


    Но, на данном этапе, он, скорее всего, будет для вас бесполезен. :) Начинать надо с другого края.

    Самый главный и ценный навык - технический английский. Определенный уровень даже в режиме "только чтение" позволит вам быть в курсе всех технологических новинок в данной отрасли.

    Следующее корневое знание - система разработки и сборки готовых приложений из исходного проекта. Знание особенностей этой системы и интерес к её эволюции позволит максимально повысить вашу эффективность как разработчика.

    Далее вы должны по поводу и без повода обращаться к руководствам Google по разработке для Android. Если вы Android-разработчик - вам без них никуда. Вникайте в методологии и методики, предлагаемые разработчиком платформы. Это очень важно, поскольку 90% возможностей приложения нормального человека так или иначе завязаны на сервисы Google.

    Затем следуют отраслевые ресурсы. Сайты с библиотеками кода и средствами разработки, через которые обменивается знанием подавляющее большинство разработчиков - ещё один ключ к успеху. В наше время лучше всего не изобретать колесо, если вы не заявляете себя в качестве изобретателя и конструктора колёс. Старайтесь в первую очередь использовать наработки людей, которые уже потратили своё время на решение конкретной задачи. Множество драгоценных камней сверкает в таких местах как https://android-arsenal.com/ , например.

    И пара советов лично от меня:
    • Изучайте Kotlin.
    • Приобретите 16 gb памяти, SSD и процессор с четырьмя или более ядрами. Установите и освойте Linux, хотя бы в объёме, необходимом для разработки приложений. Впрочем, я уверен, когда привыкнете, он вам понравится сам по себе. Я рекомендую Linux Mint.
    Ответ написан
    Комментировать
  • Какие знания нужны, чтобы создать такой продукт под android?

    ApeCoder
    @ApeCoder
    Надо знать, как писать UI под андроид, из каких компонентов состоит UI, рекомендации по визуальному дизайну .

    Перечень ограничений, которые android накладывает на приложение (какие разрешения просить, например, какие операции выполняются асинхронно). Какой паттерн для отделения бизнес логики от UI выбрать.

    у каждого пользователя есть своя страница,


    - Где и как хранить данные (тут нужен бекенд - это не связано с андроидом).
    - Как приложение будет получать данные? (протокол работы приложения с фронтэндом)
    - Каким образом обеспечивать авторизацию, защиту от подслушивания и перехвата. Модель атак на приложение.
    - Соответствие приложения европейскому (GPDR) и российскому законодательствам о персональных данных

    можно писать сообщения в ЛС либо в общий чат,


    - каким образом работают оповещения на Android
    - соответствие российскому законодательству об организаторах распространения информации

    присутствует карта города, на которой


    - Выбрать поставщика картографической информации (google, yandex, bing), ознакомиться с лицензией

    отмечены какие-либо места с фотографиями,


    - компоненты для обработки фото
    - в каком разрешении хранить, а в каком отображать
    - как устроить бекенд для фотографий

    также есть некая база с определёнными фотографиями/текстом, доступные всем.


    - какие требования по быстродействию
    - как осуществляется модульное и нагрузочное тестирования
    Ответ написан
    Комментировать
  • Какие знания нужны, чтобы создать такой продукт под android?

    @Div100
    какими навыками я должен обладать

    Уметь все это разделить на мелкие компоненты. Так чтобы в связи представляли твой конечный результат. Большая цель она выглядит непонятной, не ясно как к ней подступиться. Поэтому попробуй разбить это на небольшие кусочки. И соединяй их постепенно. Для каждого кусочка тебе понадобятся определенные знания, уже будешь знать конкретно какие, и появятся конкретные вопросы, появятся вопросы, сможешь находить решения и идти дальше. Задавай вопросы, находи решения, делай и по новой.
    Если кажется это слишком простым, попробуй это сделать и уже сможешь выложить это как вопрос, например: "Правильно ли я декомпозировал мою идею на подзадачи?"
    Тогда тебе уже смогут поправить и подсказать более детально.
    Ответ написан
    1 комментарий