Традиционно, JS был предназначен, если коротко, быстро рабочие части кода. Если у Вас было основное продолжение вычислений, Вы сделали это на сервере - идея приложения JS+HTML , которое работало в Вашем браузере в течение долгих промежутков времени, делая нетривиальные вещи, было абсурдно.
, Конечно, теперь у нас есть это. Но, потребуется немного для браузеров для наверстывания - большинство из них было разработано на основе однопоточной модели и изменения, которое не легко. Google Gears обходит много потенциальных проблем путем требования, чтобы фоновое выполнение было изолировано - никакое изменение DOM (так как это не ориентировано на многопотоковое исполнение), никакие объекты доступа, созданные основным потоком (так же). В то время как строгий, это, вероятно, будет самым практическим дизайном для ближайшего будущего, и потому что это упрощает дизайн браузера, и потому что это снижает риск, вовлеченный в разрешение неопытных кодеров JS, бездельничают с потоками...
, Почему это - причина не реализовать многопоточность в JavaScript? Программисты могут сделать то, что они хотят с инструментами, которые они имеют.
Таким образом, давайте не давать им инструменты, которые так легки к неправильное употребление что любой веб-сайт i открытых концов, разрушающих мой браузер. Наивная реализация этого принесла бы Вам прямо в территорию, которая вызвала MS столько головных болей во время разработки IE7: дополнительные авторы играли быстро и свободный с моделью потоков, приводящей к скрытым ошибкам, которые стали очевидными когда объектные жизненные циклы, измененные на основном потоке. ПЛОХО. Если Вы пишете многопоточные дополнения ActiveX для IE, я предполагаю, что он идет с территорией; не означает, что это должно пойти дальше, чем это.
Элемент
предназначен для надстроек, поставляемых как расширения к микропрограммному обеспечению. AFAIK, его нельзя будет использовать в вашем сценарии.
Скорее всего, вам потребуется реализовать службу, которая предоставляет API через AIDL или использует набор задокументированных действий Intent
для обмена данными с другими приложений или предоставляет ContentProvider
.
В противном случае упакуйте код как JAR, а не APK. Вы можете увидеть много примеров этого в моих репозиториях на github (все cwac-файлы следуют этому шаблону).
Я пытаюсь использовать jar-библиотеку в eclipse (я добавил внешнюю jar-библиотеку в параметры Java Build Path моего проекта). Приложение компилируется, но во время выполнения возникает исключение «Не удалось найти класс ...»
Фактически вы можете создать проект, связанный с другим проектом.
В Eclipse вам нужно сделать две вещи:
Но мне не удалось запустить его. SDK правильно загружает оба пакета, но я получаю сообщение об ошибке ссылки
WARN/dalvikvm(444): Link of class 'Lme/guillaumin/android/osmtracker/activity/DisplayTrackMap;' failed
ERROR/dalvikvm(444): Could not find class 'me.guillaumin.android.osmtracker.activity.DisplayTrackMap', referenced from method me.guillaumin.android.osmtracker.activity.TrackLogger.onOptionsItemSelected
WARN/dalvikvm(444): VFY: unable to resolve const-class 154 (Lme/guillaumin/android/osmtracker/activity/DisplayTrackMap;) in Lme/guillaumin/android/osmtracker/activity/TrackLogger;
ВМ не может загрузить класс в моем приложении, который ссылается на приложение libs.