, если ваше изображение находится в Интернете, лучший способ - использовать glide и RoundedBitmapDrawableFactory
(из API 21, но доступен в библиотеке поддержки):
Glide.with(ctx).load(url).asBitmap().centerCrop().into(new BitmapImageViewTarget(imageView) {
@Override
protected void setResource(Bitmap res) {
RoundedBitmapDrawable bitmapDrawable =
RoundedBitmapDrawableFactory.create(ctx.getResources(), res);
bitmapDrawable.setCircular(true);//comment this line and uncomment the next line if you dont want it fully cricular
//circularBitmapDrawable.setCornerRadius(cornerRadius);
imageView.setImageDrawable(bitmapDrawable);
}
});
Из Вашего описания я думаю, что плагин настроек направляющих должен сделать то, в чем Вы нуждаетесь.
От Readme:
"Настройки являются плагином, который делает управление таблицей глобального ключа, пары значения легкий. Думайте о нем как глобальный Хеш, сохраненный в Вас база данных, которая использует простой ActiveRecord как методы для управления. Отслеживайте любую глобальную установку, которую Вы не хотите трудно кодировать в свое приложение для направляющих. Можно сохранить любой вид объекта. Строки, числа, массивы или любой объект".
Если это - данные, и это находится в базе данных, это - часть модели.
Это не действительно проблема RoR; это - общая проблема проектирования OO.
Если бы это был я, то я, вероятно, нашел бы способ осмыслять данные как модель и затем просто сделать их одиночным элементом с методом фабрики и частным конструктором.
С другой стороны, Вы могли думать об этом как о форме входа. В этом случае у Вас просто был бы класс Регистратора (также одиночный элемент), который читает/пишет базу данных непосредственно и вызывается вначале и конец каждого запроса.
В направляющих, если данные находятся в базе данных, это находится в модели. В этом случае модель можно назвать "Конфигурацией", но она все еще отображается на классе ActiveRecord в Вашей системе направляющих.
Если эти данные действительно статичны, Вам, возможно, не понадобится база данных вообще. Вы могли использовать (в качестве примера) переменную в своем контроллере приложения:
class ApplicationController < ActionController::Base
helper :all
@data = "YOUR DATA HERE"
end
Существует много подходов, которые могут использоваться для инстанцирования данных для использования в приложении направляющих.
Я не уверен, что понимаю, почему Вы говорите, что это не может вписаться в модель Rails.
Если это - просто сложная структура данных, просто сохраните набор кода Ruby в текстовом поле в базе данных :-)
Если, например, у Вас есть вложенный хеш комплекса, Вы хотите сохранить, присвоить следующее Вашему текстовому полю 'данных':
ComplexThing.data = complex_hash.inspect
Когда Вы хотите считать его назад, просто
complex_hash = eval ComplexThing.data
Позвольте мне указать на еще 2 вещи об этом решении: