2016-03-08 3 views
0

Извините за мой английский. У меня есть класс с именем Server, и мне нужно прочитать URL-адрес из файла в активах моих приложений, но AssetManager андроид-студия говорит, что к нему нельзя получить доступ извне пакета, а getassets() не работают. Как я могу получить доступ к активам не из класса активности?Доступ к файлам активов из другого класса

+0

Укажите URL-адрес при создании экземпляра 'Server', либо с помощью параметра конструктора, либо с помощью метода setter. – CommonsWare

ответ

0

Как я могу получить доступ активы от не деятельности класса

Для доступа активов нужно Context. Так разъехаться к классу (с помощью конструктора или другим способом) или просто передать свой адрес, если это все, что вам нужно от ваших активов

0

Non классу деятельности

public CustomClass(Context myContext) { 
AssetManager mngr = myContext.getAssets(); 
InputStream is = mngr.open("text.txt"); // get text file 
try { 
    InputStream bitmap = myContext.getAssets().open("imagename.png");// get iamge file 
    Bitmap bit = BitmapFactory.decodeStream(bitmap); 
    //imgview.setImageBitmap(bit); 
    } 
    catch (IOException e1) { 
    e1.printStackTrace(); 
    } 
} 

Вызвать класс вроде как

 CustomClass(getApplicationContext()) ;    //activity 
    CustomClass(getActivity().getApplicationContext()); //fragment 
Смежные вопросы