Intereting Posts
Как добавить функцию на кнопку в телефонной запитке? Можно ли передавать аргументы фрагменту после его добавления в действие? Поддерживается ли дополнение RSA PKCS1-OAEP в bouncycastle? В чем разница между доступом к файлу из папки с данными или SD-картой AnimateLayoutChanges to true вызывает перемещение макета вверх и вниз в android Android: getLastKnownLocation устаревший – как заставить обновление местоположения? Android создает spinner с элементами, которые имеют скрытое значение и отображают некоторый текст? Добавление полей Cc, Bcc и Subject в сообщение в электронной почте, отправляющей приложение для Android Как получить электрическую энергию от головного телефона? Обратный вызов Ble scan вызывает только несколько раз, а затем останавливается Как получить значение RGB из шестнадцатеричного кода цвета в java Можно ли программным образом удалить запоминаемые группы Wifi Direct из Android? Прецизионная проблема с плавающей точкой Java Android – Захват фото Сериализовать POJO для JSON с помощью GSON

Android Как читать актив извне основного вида деятельности

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

Solutions Collecting From Web of "Android Как читать актив извне основного вида деятельности"

 public class NonActivity { public void doStuff(Context c) { //read from assets c.getAssets(); //use assets however } } 

Не знаете, что вы просите, но, может быть, что-то вроде этого? Просто добавьте к существующему классу и используйте контекст для извлечения активов. В вашей деятельности вызовите метод следующим образом:

 public class MyActivity extends Activity { public void OnCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); NonActivity n = new NonActivity(); n.doStuff(this); } } 

Обратите внимание, что все обращения к файловой системе должны выполняться с основного потока, поэтому вы не должны читать их во время onCreate (). Вместо этого вы должны использовать другой поток, например, предоставленный AysncTask.