2013-07-20 7 views
0

это мой кодУ меня есть повторный метод, и я не знаю, как я могу использовать абстрактные с ormlite

@DatabaseField 
String image;  
Bitmap bitmapImage; 

public void convertStringImageToBitmapImage() { 
    if (image != null) {   
     bitmapImage = ImageHelper.CreateBitmapFromString(image);    
     image = ""; 
    } 
} 

Я использую этот метод для преобразования из строки base64 в растровые и я использую его в каждой сущности класс, который использует ormlite. Каждый раз, когда я хочу изменить поля ormlite, мне нужно прокомментировать код растровых изображений, потому что DatabaseConfigUtil делает ошибки для меня после этого, я раскомментирую их. Я могу поместить этот код в абстрактный класс, но я не могу не изобразить DataField в абстрактном классе, потому что ormlite не будет работать хорошо с этой структурой.

Какое оптимальное решение этой проблемы?

ответ

0

Создайте базовый класс и напишите свой метод, используя статическое ключевое слово. Используйте этот метод в любом месте вашего проекта.

Используя имя класса, например: Base.covertStringImageToBitmapImage (Bitmap bitmapImage, String image);

public class Base extends Activity { 
    public void convertStringImageToBitmapImage(Bitmap bitmapImage, String image) { 
     if (image != null) { 
      bitmapImage = ImageHelper.CreateBitmapFromString(image); 
      image = ""; 
     } 
    } 
} 
0

Не используйте абстрактный класс. Поместите свой код в классе Utils и вызывать этот метод статический из ваших объектов, используя Utils.convertStringImageToBitmapImage(image):

public class Utils { 
     public static Bitmap convertStringImageToBitmapImage(String image) { 
      if (image != null) { 
       return ImageHelper.CreateBitmapFromString(image); 
       // this is useless now 
       // image = ""; 
      } 
     } 
    } 

Если вы можете редактировать код внутри ImageHelper, вы можете обрабатывать нулевой сценарий аргумента внутри CreateBitmapFromString метода и вызвать непосредственно ImageHelper.CreateBitmapFromString(image) от ваших лиц.

Смежные вопросы