Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
contedevel
57 / 55 / 13
Регистрация: 07.10.2012
Сообщений: 606
#1

Загрузка нативной библиотеки

08.02.2015, 18:57. Просмотров 898. Ответов 5
Метки нет (Все метки)

Здравствуйте!
У меня есть библиотека, в которой содержаться нативные функции для разных классов... Когда класс один, то мне все ясно, я загружаю ее так внутри класса:
Java
1
2
3
static {
        System.loadLibrary("EasyTools");
    }
Но если классов, использующих эту библиотеку несколько, то как тогда загрузить ее, чтобы гарантировать один экземпляр в памяти? Писать такую конструкцию в каждом классе?
Вопрос нубский, но мне не понятен...
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2015, 18:57
Ответы с готовыми решениями:

Загрузка 32-х битной библиотеки
Всем привет! Решил написать простенький лаунчер для игры от нечего делать....

Добавление нативной библиотеки в Idea
Возможно ли добавить в среду Intellij Idea динамическую C/C++ библиотеку таким...

получение структуры из нативной библиотеки по указателю
Для этого использую Marshal.PtrToStructure. Но проблема в том что...

Как правильно передать и получить указатель из нативной библиотеки?
Есть некий Сишный код (я опускаю __delc и прочее) с C# я абсолютно не...

Загрузка библиотеки!
Всем привет нужна помощь! Есть библиотека Ionic.Zip.dll Написал программу...

5
Armagedo
209 / 209 / 60
Регистрация: 22.08.2014
Сообщений: 644
08.02.2015, 20:32 #2
Лучший ответ Сообщение было отмечено contedevel как решение

Решение

Главное - не бояться
http://stackoverflow.com/a/8437502
1
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
08.02.2015, 20:54 #3
мне тоже интересно! Выходит что просто нужно для каждой библиотек сделать свой класс-обвертку?
0
contedevel
57 / 55 / 13
Регистрация: 07.10.2012
Сообщений: 606
08.02.2015, 21:28  [ТС] #4
Цитата Сообщение от Tester64 Посмотреть сообщение
мне тоже интересно! Выходит что просто нужно для каждой библиотек сделать свой класс-обвертку?
Это хороший вариант тоже, но не всегда подходит по архитектуре приложения, чтобы группировать все в один класс.
Поэтому у меня нативные функции из одной библиотеки разбросаны по разным классам как статические.

Добавлено через 46 секунд
Цитата Сообщение от Armagedo Посмотреть сообщение
Главное - не бояться
С английским не очень, поэтому тему конкретную не нашел, а читать трудно, когда не знаешь где)
0
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
09.02.2015, 00:15 #5
Цитата Сообщение от contedevel Посмотреть сообщение
Поэтому у меня нативные функции из одной библиотеки разбросаны по разным классам как статические.
А зачем??? ИМХО проще сделать на либу один гиганский класс со всеми методами без "перевода" - просто "оболочку". А другие будут использовать ее методы по мере необходимости... Кажется такое сделано даже в SQLite, а там десятки методов выходят из одной либы...
0
contedevel
57 / 55 / 13
Регистрация: 07.10.2012
Сообщений: 606
09.02.2015, 00:46  [ТС] #6
Цитата Сообщение от Tester64 Посмотреть сообщение
А зачем???
Чтобы не делать лишний переброс вызовов, потому что в библиотеку вынесены некоторые функции из разных классов, совершенно не связанных с друг другом (много библиотек делать идея абсурдная), цепочные вызовы - лишнее замедление при очень частом обращении, а оно есть... поэтому для удобства пользователя классы построены, чтобы быть интуитивно понятными и быстро работать (внутри библиотеки иерархия аналогичная, так что проблем не возникает с поддержкой)
Цитата Сообщение от Tester64 Посмотреть сообщение
SQLite
В Android реализована обертка на SQL, как и на другие нативные библиотеки... А я сам разрабатываю библиотеку на Java и важно сохранить прозрачную архитектуру для пользователя, которому не суть какая реализация функции вызывается... В общем долго объяснять...очередной флуд будет
0
09.02.2015, 00:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2015, 00:46

Динамическая загрузка библиотеки
lab2.dll #include <windows.h> #include <math.h> extern "C" ...

Загрузка ресурсов из библиотеки
Каким образом загрузить картинку из библиотеки в ресурсы запущенного приложения?

CodeIgniter загрузка своей библиотеки
Обычно загружают свою библиотеку в CI так: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru