Я написал приложение Blackberry с Blackberry JDE, работающим на симуляторе 9000. Я протестировал его неделю назад или около того и загрузил на телефон Blackberry 9000, и все работало просто отлично. Однако между тем и сейчас что-то пошло не так.
Мой код выполняет всю движущуюся стрелку «загрузка данных из Интернета» или что-то еще, но не появляется никаких экранов. Мой оригинальный экран, который является просто MainScreen с RichTextField, не загружается вообще. По крайней мере, этот экран, по крайней мере, не изменился за прошедшую неделю, поэтому, если что-то сломалось, это будет на одном из более поздних экранов / строк кода, к которому он даже не должен добраться!
Возможно ли, что мой файл .jad или .cod как-то поврежден? Я заметил, что когда я впервые поместил код на мою машину, я просто застрял в файле .cod, который предоставил мне Eclipse. Затем, на прошлой неделе, файл .cod, который он мне дал, не работал, потому что на самом деле это был zip-файл с двумя файлами .cod внутри. Используя файл .cod с тем же именем, что и файл .cod, они успешно загрузили мое приложение. Я сделал то же самое на этот раз, и я не получаю недопустимые ошибки файла COD или что-то еще, но приложение все еще сломано.
Есть ли какое-то направление, которое я должен искать? Скорее всего, проблема в моем коде, файле cod, телефоне или где-то еще?
-Jenny
Edit: я сузил это до проблемы, возникающей, только если я пытаюсь загрузить определенный экран. Моя проблема заключается в том, что этот экран почти идентичен другому экрану, который работает нормально на реальном устройстве. Оба экрана генерируются из одного и того же метода (который выполняет вызов веб-службы, возвращает XML и анализирует его для заполнения полей экрана). Разница лишь в том, что экран, который ломается, идет по другому URL. Этот URL-адрес работает (как из браузера, так и с имитируемого устройства), поэтому я в растерянности. Кажется, что приложение не падает, (оно все еще работает в фоновом режиме), оно просто не пытается отобразить больше.
Edit:
Хорошо, я вижу некоторые ошибки туннелирования сразу после загрузки приложения (но до того, как я выполню любой из моих сетевых кодов). Когда я выполняю свой сетевой код, он работает просто отлично, если только это не относится к моему разделу «Аренда». Я прокомментировал все призывы к этому и сделал свой пункт меню для Аренда просто сделать заявление для печати. Код ведет себя одинаково (он зависает или отображает белый экран после нажатия кнопки). Все остальные пункты меню работают (включая те, которые вызывают потоки или сетевые методы). А меню аренды успешно выполняется в симуляторе.
private MenuItem _rentals = new MenuItem("My Rentals", 110,
10) {
public void run() {
//if the last thing I did was a rental
//just show the screen
//else, reload rentals
System.out.println("Rentals was selected");
displayError("Rentals was pressed");
// if(rental){
// System.out.println("It's a rental!");
// popScreen(getActiveScreen());
// pushScreen(_offeringsScreen);
// }else{
// System.out.println("Getting Rentals from scratch");
// RentalsThread _rThread = new RentalsThread();
// _rThread.start();
// }
}};
Я в полной растерянности: отладчик устройства, кажется, даже не регистрирует меня, выбирающего пункт меню, и ни одна строка кода не выполняется! Это просто замерзает! Я попытаюсь вернуть свой вызов RentalsThread в начале моей программы (которая также зависала), чтобы посмотреть, смогу ли я разобрать проблему с потоком проката (который делает экран проката) и проблему с прокатом пункт меню.