Pull to refresh
5
0

Разработчик под Android

Send message
Diagram popup (всплывающая диаграмма с иерархией классов) что-то не вызывается по Ctrl + Alt + U. Android Studio 3.5. В Settings -> KeyMap ничего не находится по поиску «Diagram popup» и «Ctrl + Alt + U»
По какому графику будут проходить занятия?
Присоединюсь к обсуждению п.1 — замена активностей на одну с кучей фрагментов в ней. Плюсы уже описали — большая гибкость, модульность, меньше переделок если например да, потребуется загнать все экраны в swipe для перелистывания. А на большом экране — размещать сразу несколько на одном экране.
Но а минусы, подводные камни? Использование вложенных фрагментов, как там с этим? Насколько помню есть (была?) проблема с сохранением состояния вложенных фрагментов (фрагментов во фрагменте), они не переживали пересоздания, и есть способ костыль решить эту проблему — setRetainInstance.
Может быть есть ещё какие-нибудь ограничения, усложнения при использовании схемы «одна активность — много фрагментов»? Наложение lifecycle активности и фрагментов, использование FrafmentDialog'ов, ещё что-нибудь не всплывёт?
Да, магнитики на холодильник то за что?!
Ultra Debugger умеет перехватывать сетевые запросы? Через вышеупомянутое stetho можно обернуть сетевое взаимодействие и наглядно смотреть что там происходит, отлаживать REST-запросы.

Да, запускать не очень удобно, надо переподключатся если приложение перезапустилось, вообще только через Хром работает. Но предоставляет возможности поковыряться наверное везде в приложении, где только может потребоваться — SharedPrefs, SQLite и др.
Android 7 придёт на этот аппарат?
А есть возможность выровнять элемент по центру высоты соседнего элемента без использования дополнительного внешнего контейнера?

В левом верхнем углу есть ImageView, справа от него привязал вертикальный LinearLayoyt с 2 TextView.

Разметка
<android.support.constraint.ConstraintLayout
xmlns:android=«http://schemas.android.com/apk/res/android»
android:layout_width=«match_parent»
android:layout_height=«match_parent»
xmlns:app=«http://schemas.android.com/apk/res-auto»
android:id="@+id/root">

<ImageView
android:id="@+id/image"
app:layout_constraintLeft_toLeftOf="@id/root"
app:layout_constraintRight_toLeftOf="@id/text_container"
android:layout_width=«wrap_content»
android:layout_height=«wrap_content»
android:src="@drawable/logo"
/>

<LinearLayout
android:id="@+id/text_container"
app:layout_constraintLeft_toRightOf="@id/image"
android:orientation=«vertical»
android:layout_width=«wrap_content»
android:layout_height=«wrap_content»>

<TextView
android:id="@+id/count"
android:layout_width=«wrap_content»
android:layout_height=«wrap_content»
android:text=«Products count» />

<TextView
android:id="@+id/price"
android:layout_width=«wrap_content»
android:layout_height=«wrap_content»
android:text=«Price»/>


</android.support.constraint.ConstraintLayout>



Сборка в spread chain (spread) не помогает. По старому я бы просто поместил и ImageView и LinearLayout в relative-контейнер (wrap-content по высоте), разместил бы их относительно друг друга как надо ( android:layout_height=«wrap_content» не забыл бы) и каждому бы ещё android:layout_centerVertical=«true» добавил.

А тут как-то с baseline можно попробовать или всё те же контейнеры?
Да, не так написал. Она сама копируется во внутреннюю память при первом обращении к ней. Это лежит на плечах SQLiteAssetHelper'а.
Или разрабатывать скрипты миграции в том же внешнем редакторе, переносить их в обновление и применять на БД, не перемещая её из assets.
Мои 5 копеек.
Если БД простая то достаточно SQLiteOpenHelper'а, можно спроектировать всё в голове и написать класс — слой доступа к ней что бы уж где-то дальше не встречались sql-запросы.
А если табличек становиться уже много и так просто не разобраться то можно спроектировать, протестировать, наполнить данными базу где-нибудь во внешнем инструменте. Я отыскал для себя SQLite Expert Professional, в ней можно как и мышкой / мастером создавать таблички / запросы так и поработать с ними потом чистыми sql-запросами. Но эта софтина платная.

image

А затем что бы не переносить скрипты создания и заполнения БД можно положить наш готовый файл БД db2.sqlite в assets/databases и подцепить его SQLiteAssetHelper'ом
public class DatabaseOpenHelper extends SQLiteAssetHelper{

    private static final String DATABASE_NAME = "DB2.sqlite";
    private static final int DATABASE_VERSION = 1;

    public DatabaseOpenHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }
}

Здравствуйте!
Хоть и прошло уже достаточно много времени но до сих пор не находится ничего более подробно описывающее RESTful шаблоны на Android с поддержкой синхронизации, чем их описание от Virgil Dobjanschi на Google IO 2010. А точнее его предложения по реализации Pattern A/B/C. Или все пути так или иначе ведут к ним.
Но никак не могу найти работающие примеры кода, реализующие основные компоненты.
Pattern A — хоть и написано что это наиболее всречающийся, не нашёл.
Описываемый в статье Pattern B FinchVideo не работает, что-то не так с парсером YouTube, видимо с 2012 г. когда вышла книга с данным примером что-то в API YouTube изменилось.
Про загадочный Pattern С ещё меньше информации до сих пор.

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

Т.е. мозг сам для себя стал наркоманом? И накачивает наркотиком когда хочет какие хочет свои «участки», которые по идее должны были «вознаграждаться» или «страдать» от внешних раздражителей, сигналов самого тела и происходящего вокруг.
Интервью на английском?
Спасибо, я думал что чего-то не нашёл в фреймворке.
Надо же ведь стараться проектировать через интерфейсы а не через конкретную реализацию. Так и для тестирования в будущем если потребуется подставлять другие презентеры — интерфейс и потребуется.
А можно инжектить Presenter в View в поле типа не конкретного Presenter'а, а интерфейса, который данный презентер реализует?
Вот пример:
Интерфейсы и т.д.
Интерфейс для презентера:
public interface JokePresenter {
    void postJoke(String jokeText);
    void getRundomJoke();
    void setJoke(String jokeText);
}

Реализация презентера:
@InjectViewState
public class JokePresenterImpl extends MvpPresenter<JokeView> implements JokePresenter{
...
}

Инжекция презентера в View
public class JokeActivity extends MvpAppCompatActivity implements JokeView {

    @InjectPresenter
    JokePresenterImpl myJokePresenter;
...
}

Но я бы хотел что бы тип презентера был интерфейсом, который мой презентер реализует:
@InjectPresenter
    JokePresenter myJokePresenter;

На что я получаю ошибку:
Error:(22, 19) error: You can not use @InjectPresenter in classes that are not View, which is typified target Presenter

Интерфейс для View надо наследовать от MvpView, а для интерфейсов для презентера никакого MvpPresenter не существует?
Moxy не сложен в освоении? Статья от разработчика даёт теоретические представления а пример приложения уже наоборот, перегружен. Если Moxy у вас рабочий повседневный инструмент может быть напишите статью о его реализации?
Какую шаблон (MVP, MVC или др.) на Android предпочитаете и пользуетесь ли каким-нибудь framework'ом (Moxy, Mosby)?
А, тогда только Git-сервера не хватает. Там же будут все коммиты и ветки по которым можно переключаться. Можно сидеть и пилить develop или feature-ветку до успешной протестированной сборки, хоть убить её всю.
И Bonobo Git Server тут не единственное решение, ниже писали про SCMManager, он похоже ещё легче будет.
Ну собственно говоря серверы непрерывной сборки для этого и существуют. А управлять стадиями сборки из PowerShell — где тут автоматизация, запуском скриптов шедулером по расписанию, на выделенном сервере? Какой сборщик, Gradle или Maven?
Всё вышеописанное необходимо для командной разработки. Если разработчик один то у него всё собрано в Android Studio с Gradle (или Eclipse с ADT и Maven) и ни Jenkins, ни git-сервер, ни PowerShell не нужны.
При выходе новой версии Jenkins покажет это в интерфейсе
Jenkins upgrade
image

Можно кликнуть Upgrade Automaticaly

С плагинами аналогично, на страничке апдейтов
Jenkins plugins upgrade
image


Bonobo Git Server согласно инструкции с сайта разработчика можно обновить путём разархивирования новой версии поверх старых файлов (кроме данных в App_Data) и слияния web.config.

Git for Windows так же надо будет скачать и обновить самостоятельно. Не думаю что там потребуется что-то бекапить.

После обновления JDK придётся залезть в конфигурацию и подправить путь, да.

За Android SDK, именно за самим SDK, а не за платформами в его составе, тоже придётся следить и обновлять самостоятельно. Но править что-либо в Jenkins после не придётся, ведь путь к SDK не изменится.

Если вам потребуется обновлённый Gradle то необходимо будет заходить и выбирать в интерфейсе новую версию, далее он скачается сам.
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity