В Java все переменные, которые вы объявляете, на самом деле являются «ссылками» на объекты (или примитивы), а не самими объектами.
При попытке выполнить один метод объекта , ссылка просит живой объект выполнить этот метод. Но если ссылка ссылается на NULL (ничего, нуль, void, nada), то нет способа, которым метод будет выполнен. Тогда runtime сообщит вам об этом, выбросив исключение NullPointerException.
Ваша ссылка «указывает» на нуль, таким образом, «Null -> Pointer».
Объект живет в памяти виртуальной машины пространство и единственный способ доступа к нему - использовать ссылки this
. Возьмем этот пример:
public class Some {
private int id;
public int getId(){
return this.id;
}
public setId( int newId ) {
this.id = newId;
}
}
И в другом месте вашего кода:
Some reference = new Some(); // Point to a new object of type Some()
Some otherReference = null; // Initiallly this points to NULL
reference.setId( 1 ); // Execute setId method, now private var id is 1
System.out.println( reference.getId() ); // Prints 1 to the console
otherReference = reference // Now they both point to the only object.
reference = null; // "reference" now point to null.
// But "otherReference" still point to the "real" object so this print 1 too...
System.out.println( otherReference.getId() );
// Guess what will happen
System.out.println( reference.getId() ); // :S Throws NullPointerException because "reference" is pointing to NULL remember...
Это важно знать - когда больше нет ссылок на объект (в пример выше, когда reference
и otherReference
оба указывают на null), тогда объект «недоступен». Мы не можем работать с ним, поэтому этот объект готов к сбору мусора, и в какой-то момент VM освободит память, используемую этим объектом, и выделит другую.
PhoneGap не точно, о чем Вы спрашиваете, но что-то, о чем Вы могли бы хотеть знать. Это - обертка для того, чтобы сделать приложения для iPhone с помощью HTML/CSS/JavaScript.
QuickConnectiPhone имеет то, что Вы просите. Существует пользовательский тип проекта для Dashcode, который позволяет Вам быстро создавать свое приложение. Если Вы тогда хотите выполнить установленный на iPhone или касании, можно тогда бросить его в XCode и скомпилировать его.
Это включает обертки для Ajax и базы данных SQLite, которая существует в браузере Safari на iPhone и касании.
можно получить его по телефону
http://sourceforge.net/projects/quickconnect/
[еще 116], информация доступна по телефону
Мои личные предпочтения это jQTouch. Это отличный фреймворк для работы, включающий в себя ресурсы как javascript, так и CSS для создания веб-приложений, которые действительно дают ощущение нативных приложений.
Для доступа к функциям более низкого уровня нативного устройства вы всегда можете обернуть свои HTML-файлы, JS + CSS + jQ Сенсорные ресурсы в собственном приложении с помощью чего-то вроде телефонного разговора, rhomobile или appcelerator, однако, для этого требуется Mac для компиляции и развертывания собственного приложения в магазине приложений.
Конечно, большинство вещей, на которые я обращаю внимание, - это просто веб-приложения, поэтому jQTouch отлично справляется со своей задачей. Сделал ли сообщение в блоге, объединяющее мои мысли и подробности в моем блоге, ссылка ниже:
I would second jQTouch. It uses native CSS animations and behaves reasonably smoothly on my iPod Touch.
JQTouch не является на самом деле рамки разработки приложений ... это стиль и анимация "обертка".
QuickConnect обеспечивает начало, чтобы закончить разработку приложений на iphone, дроидов, и ежевика. iphone является наиболее полным.
Он может включать JQTouch для внешнего вида и хорошо документированы.
PhoneGap может быть использован в сочетании с JQTouch, а также но по моему опыту PG документацию и инструкции труднее найти.
.Поскольку вы говорите о скриптах, которые явно просто манипулируют базой данных, я бы начал с самых встроенных инструментов.
COPY FROM
и COPY TO
для импорта из и экспорта в плоские файлы Теперь вы хотите предоставить некоторые Здесь лучший язык, вероятно, тот, который вы или ваша команда уже знают. Все основные языки имеют драйверы Postgres. Выбранный язык будет иметь очень незначительное влияние, если сохранить задачи по обработке данных на уровне базы данных.
Следует учитывать, как долго будет выполняться типичный сценарий. Если это более нескольких минут, то я предлагаю отделить его от веб-интерфейса. В этом случае веб-интерфейс должен позволять пользователю ставить сценарий в очередь для запуска, чтобы сервер мог запускать его независимо от цикла веб- просить.
-121--3978047-Вот мое новое рабочее решение (thx снова igro):
Icon icon = Icon.newInstance("http://www.google.com/mapfiles/markerA.png");
icon.setIconSize(Size.newInstance(20, 34));
MarkerOptions ops = MarkerOptions.newInstance(icon);
Marker marker = new Marker(point, ops);
map.addOverlay(marker);
-121--4268493- Я второй jQTouch является отличным полнофункциональным решением. Но если вы только ищете библиотеку JavaScript, я бы рекомендовал XUI . Синтаксис основан на jQuery, но библиотека настроена для мобильной разработки.
Старый вопрос, но все еще актуальный. Sencha (новое название компании, стоящей за ExtJs) только что выпустила платформу мобильных приложений Sencha Tounch для iPhone, iPod, iPad и Android: http://www.sencha.com/products/touch/
Заметка в блоге, объясняющая разницу между jQTouch и Sencha Touch: http://9-bits.com/post/723711597/jqtouch-and-sencha-touch
Обновление: Джон Резиг недавно объявил, что команда jQuery работает над библиотекой мобильного пользовательского интерфейса. Выглядит многообещающе: http://jquerymobile.com/2010/08/announcing-the-jquery-mobile-project/