Ответ 1
Я перечислю некоторые ошибки, которые я всегда получаю.
-
Ошибка NullPointer
- когда я использую инициализированную переменную или объект, который мы создаем. (Java)
- когда мы используем какой-то макет, который не находится в xml, который мы установили в контексте. (Android)
- Исключение ClassCast
- когда программа пытается применить объект к типу, с которым он несовместим. (например: когда я пытаюсь использовать линейный макет, который объявляется как относительный макет в макете xml).
- StackOverflowError
- он может также встречаться в правильно написанных (но глубоко рекурсивных) программах. (java and android)
- когда программа становится бесконечно рекурсивной.
- мы создаем макет (глубокий и сложный), который превышает этот стек платформы или виртуальной машины. рекурсивная или слишком много макета создаст ошибку в Android
- Слишком много внутренних макетов.
-
ActivityNotFoundException: не удается найти явное исключение класса активности
- Действие не объявляется в манифесте.
- Безопасность безопасности Android
- Вам необходимо объявить все разрешения в приложении Manifest, чтобы ваше приложение проверьте эту ссылку (интернет, доступ к контактам, gps, состояние wifi, запись на SDCard и т.д.).
- OutOfMemoryError
- когда делается запрос на память, который не может быть выполнен с использованием доступных ресурсов платформы. в основном с использованием битовой карты, галереи и т.д.
-
Приложение не отвечает (ANR)
- В основном происходит, когда вы создаете сетевую функцию или какой-то длительный процесс.
это блокирует поток пользовательского интерфейса, поэтому пользователь не может работать. чтобы избежать ANR прочитать это и this
Это то, что я в основном получаю при создании Android Project.
- Попробуйте использовать <Б > Попробуй поймать блок во всем месте программы. Dont оставляют ваш блок catch пустым, так как это может скрыть ошибки:
Да:
try{
// try something
} catch (Exception e) {
Log.e("TAG", "Exception in try catch", e);
return false;
}
return true;
<Не p > Нет:
try{
// try something
} catch (Exception e) {
return false;
}
return true;
Используйте правильное Преобразование имен для всех переменных и идентификаторов в макете. *
Я прочитал одна статья из сети, содержащую некоторую ошибку, теперь добавляю, что alos, если у него есть избыточность, пожалуйста, простите меня.
Проблема: Мой ранее хороший RelativeLayout делает уродливую кучу, или некоторые элементы больше не видны... Что происходит??? Я просто переместил элемент в нем... Решение: Никогда не забывайте, что в RelativeLayout элементы ссылаются и размещаются по отношению к их соседям. Возможно, что-то не так в иерархии отношений между вашим элементом. Попробуйте открыть схему в Eclipse и щелкнуть по каждому элементу, чтобы увидеть, где происходит разрыв.
Проблема: Круговые зависимости не могут существовать в RelativeLayout Решение: Вы, вероятно, писали одну и ту же зависимость двумя способами. Например, ImageView как атрибут android: layout_toRightOf TextView и TextView имеет android: layout_toLeftOf ImageView. Только один из них необходим
Проблема: Я написал стиль для одного из моих представлений/макетов, но когда я применяю его в своем xml, у меня нет отображения в средстве просмотра макетов Eclipse Решение: К сожалению, это похоже на ошибку Android ADT, я сообщил об этом, но никаких новостей пока нет. Во всяком случае, никакой паники, стили не работают хорошо, но они не отображаются должным образом в Eclipse. Просто создайте приложение и запустите его на эмуляторе или телефоне, и вы увидите, все ли в порядке или нет.
Проблема: Тост написан правильно, но ничего не отображается Решение: Это обычная ошибка использования: просто добавьте метод .show(), чтобы показать Toast и посмотреть, хорошо ли он работает
Вопрос: Я попытался отобразить String из strings.xml, но у меня просто было число 0x7f060001 Решение: Это не ошибка, просто дисплей из-за того, как андроид занимается ресурсами. Когда вы хотите получить ресурс, вы должны использовать метод getString (R.id.something), getDrawable,... В противном случае вы просто будете отображать ссылку, написанную в классе R
Проблема: Некоторое изменение кода не имеет никакого эффекта в приложении Решение: есть 2 варианта: либо вы забыли что-то вроде .show() Toast, либо эмулятор не обновляет ваше приложение. В этом случае вы должны проверить опцию "Протирать пользовательские данные" в конфигурации запуска эмулятора в Eclipse.
Проблема: Как отображать границы на моем столе? Решение: Нет прямого способа сделать это в android, вы должны использовать трюк: http://www.droidnova.com/display-borders-in-tablelayout,112.html
Проблема: эмулятор записывает в japaneese с тем, что вы изменили какой-либо параметр Решение: Иногда это бывает довольно легко исправить, просто щелкните в любом поле EditText и измените тип ввода на то, что вы хотите
Проблема: Я не могу заставить контекстное меню появляться в эмуляторе Решение: длительный щелчок на эмуляторе, похоже, не регистрируется на каждом виде, вам нужно нажать кнопку в центре четырех указательных стрелок
Проблема: Я следую учебному курсу о маршруте карты, но я не могу заставить его работать, android не находит пакет Решение: Возможно, вы использовали учебник, написанный для 1.5 SDK. В это время был пакет для отображения маршрута в Android, но он был удален в следующем SDK и больше не доступен. Это просто невозможно. Кажется, что есть трюк с файлами KML, но ничего официального
Проблема: Отправка координат в эмулятор дает неправильное положение Решение: убедитесь, что вы написали координату как 51.16548, а не 51,16548 или 5116548
Проблема: Только исходный поток, создавший иерархию представлений, может коснуться его представлений. Решение: Вы, должно быть, пытались обновить содержимое представления из другого потока, кроме потока пользовательского интерфейса. 2 варианта исправления: либо создайте обработчик в вашем потоке пользовательского интерфейса, либо опубликуйте свой Runnable для этого обработчика или используйте метод runOnUIThread для запуска строк кода, которые делают обновление
Проблема: доступ к localhost 127.0.0.1 не работает Решение: он работает, вы просто не делаете это правильно: используйте 10.0.2.2