2013-06-14 2 views
1

Я новичок в разработке Android.Что такое процесс создания графического интерфейса для Android?

Я пытаюсь настроить графический интерфейс для Android-приложения с Eclipse.

Когда я добавляю компоненты в GUI, такие как кнопка, появляется желтый треугольник с восклицательным знаком с сообщением: [I18N] Hardcoded string "Button", should use @string resource.

Eclipse предлагает мне автоматически исправить это, создав строку на строковом ресурсе, но по-прежнему вызывает ошибку, указывающую атрибут android: text уже содержит ссылку на строку.

У меня также есть ошибки:

Couldn't resolve resource @string/name 
Couldn't resolve resource @string/gps 
Couldn't resolve resource @string/photo 
Couldn't resolve resource @string/back 
Couldn't resolve resource @string/add 

Что не может решить ресурс означает? имя/gps/photo/add - это компоненты моего графического интерфейса.

Как я:

Add Components to a GUI without erroring? I want to rename the GUI components to something relevant so I can reference them in my code. What steps are generally required?

Я использовал Visual Studio до и вообще только пришлось перетаскивать компоненты, а затем переименовать их в свойствах. Я хочу сделать то же самое для своего Android-приложения - пожалуйста, помогите!

Редактировать: Я думаю, что эти значения объявлены в моем XML-файле строк. Вот он:

<string name="app_name">UCLocationSearch</string> 
<string name="action_settings">Settings</string> 
<string name="hello_world">Hello world!</string> 
<string name="back_button">Back Button</string> 
<string name="exit">Exit<string name="add">Add</string> 
<string name="gps">GPS</string> 
<string name="name">Name</string> 
<string name="autocompletetextview">AutoCompleteTextView</string> 
<string name="photo">Photo</string> 
<string name="back">Back</string> 
+1

[Android tutorial] (http://developer.android.com/training/basics/firstapp/building-ui.html) –

+1

Вы, кажется, делаете несколько ошибок, именовав компоненты GUI. Следуйте инструкциям для Android, прежде чем попробовать свои силы в редакторе GUI, чтобы изучить основы. – Piovezan

+0

Являются ли эти переменные объявленными в вашей строке xml в папке значений? –

ответ

4

Прежде всего использование WYSISWYG GUI для Android отстой. Я предпочитаю создавать пользовательский интерфейс через XML и редко использовать редактор графического интерфейса. Это ненадежно и не похоже на устройство. Некоторые могут не согласиться, но это только мое мнение.

Во-вторых, причина, по которой вы получаете сообщение об ошибке, заключается в том, что в вашем проекте Android есть файл с именем Strings. Здесь хранятся определения строк. Это выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <string name="app_name">WPAConfiguration</string> 
    <string name="action_settings">Settings</string> 
    <string name="hello_world">Hello world!</string> 

</resources> 

Так что, когда вы звоните Android:[email protected]/hello_world вы получите "Hello World!".

Чтобы исправить ошибки:

Couldn't resolve resource @string/name 
Couldn't resolve resource @string/gps 
Couldn't resolve resource @string/photo 
Couldn't resolve resource @string/back 
Couldn't resolve resource @string/add 

Вы добавляете:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <string name="back">Back</string> 
    <string name="photo">Photo</string> 
    <string name="add">Add</string> 
    etc... 
</resources> 

к вашему Strings ресурсу.

Андроидные протоколы предполагают, что когда вы назовете кнопку или другой объект GUI, вы делаете это через ресурс Strings. Я проведу пару учебных пособий, которые другие рекомендовали, прежде чем приступать к плаванию. Если вы этого не сделаете, у вас будет гораздо больше проблем, чем сейчас.

Удачи вам!

+0

Прежде чем создавать кнопку, я сначала создаю ресурс строки. – user1529039

+0

Вспомните строковый ресурс как централизованное местоположение для всех строковых переменных, которые используются в пользовательском интерфейсе. Вам просто нужно определить его перед компиляцией и запуском. Неважно, что создается первым, пока это делается. – BlackHatSamurai

+1

Typo: вы получаете «Hello World!» а не «Hello World». –

Смежные вопросы