Хочу хранить состояние некоторых объектов и что бы эти объекты были доступны всюду.
Создал такой класс.
package com.uilmorcraft.uilmorlibrary;
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
Log.v("APPLICATION", "onCreate()");
}
}
В манифесте прописал так.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.uilmorcraft.uilmorlibrary">
<uses-feature android:name="android.hardware.location.network " />
<uses-feature android:name="android.hardware.location.gps" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<application
android:name=".App"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
...
</application>
</manifest>
По логике вещей onCreate должен вызываться хоть раз. Но ни чего не происходит. Да же ставил точку останова.
Пробовал менять манифест так
<application
android:name="com.uilmorcraft.uilmorlibrary.App"
или так
<application
android:name="App"
эффекта ноль.
Создал новое приложение. Сделал все то же самое и о чудо. Все работает.
Проект большой и как-то тяжко весь код переносить из старого в новый проект ради рабочего класса Application. Но думаю что да же после переноса могу получить то же самое.
Может кто сталкивался с подобным?
InstantRun
функция студии позволяет вам видеть изменения в приложении без его пересборки/перезапуска, что сокращает время разработки.
Но эта функция никогда не сможет работать во всех случаях. Например, если вы используете к-л либы, использующие кодогенерацию, типа Realm
, Dagger
etc изменения их использования не смогут быть отображены с помощью InstantRun
, т.к. требуют пересборки приложения, чтобы в процессе этом сгенерировать новый код для компиляции.
Помимо упомянутых выше ограничений сам InstantRun
далеко не идеален и может проигнорировать даже простейшие изменения. Т.е. вы можете поменять значение к-л переменной и потом часами пытаться понять почему ваш баг-фикс не исправил баг.
Таким образом все преимущества InstantRun
-а полностью нивелируются тем, что ему нельзя доверять и его поведение непредсказуемо.
Вывод:
Не используйте InstantRun
.
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Не могу разобраться, как в консоли вывести элементы массива: все чётные числа от 1 до 20Помогите, пожалуйста
Здравствуйте, взял триал такого продукта как "Stringer Java Obfuscator", но теперь битый час пытаюсь использовать его плагин stringer-gradle-pluginjar чтобы создавать...
Мне в приложении нужно динамически переводить текст с английского на русский, почитала, что есть Google Translate API, но он платный, есть какие-то...