2012-01-13 4 views
4

Я новичок в разработке Android, но не в программировании. Во всяком случае, этот вопрос может быть немного глупым.Классы против деятельности в Android

Вопрос: Все ли занятия в Android-деятельности связаны с элементом пользовательского интерфейса? Я хочу иметь «обычный» Java-класс, из которого я обычно могу создавать объекты, и я не понимаю, как «определить его» и как «называть» его.

Любая помощь будет высоко оценена. Спасибо

+0

Создайте исходный файл Java с классом в нем. После его развертывания создайте экземпляр класса с «новым», как и любой другой класс Java. Не уверен, в чем проблема; возникают ли у вас проблемы с вашей средой IDE или сборкой? –

+0

Наверное, я не уверен, в чем проблема. Я просто пытаюсь написать класс и создавать объекты из него, не имея никакого отношения к пользовательскому интерфейсу. – tyb

ответ

9

Да, вы можете иметь обычные классы и не все они связаны с элементом пользовательского интерфейса. Это очень похоже на обычную Java. Таким образом, в Eclipse вы можете создать новый класс, похожий на изображение, и следовать мастеру одной страницы.

Creating a new class in Eclipse

Вы будете в конечном итоге с некоторыми код, как ниже (я добавил несколько битов для примера):

package this.is.your.package; 

public class Person{ 

    private int age; 

    public void setAge(int _age) 
    { 
     age = _age; 
    } 

} 

Вы можете построить методы и другие вещи, как обычно. Что касается создания экземпляра или доступа к вашему классу, вам, вероятно, придется публиковать его для своих действий. Однако существует много разных способов сделать это, но в приведенном выше примере я мог бы сделать.

public class MyActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     Person me = new Person(); 
     me.setAge(22); //feels old 
    } 

Как вы можете видеть, это все нормально.

+0

Спасибо, я думаю, что получаю это сейчас :) – tyb

+0

рад помочь - я вижу, что вы новичок в SO - можете ли вы пометить правильный ответ с помощью символа tick, чтобы другие пользователи могли видеть, есть ли ответ, который было полезно. Также благодарен ответ Витакота, который тоже полезен. –

+0

Еще один вопрос: могу ли я использовать java-библиотеки, такие как java.util.Random или что-то еще, или мне нужна конкретная андроидная библиотека? Спасибо – tyb

2

Ответ НЕТ. Все действия являются регулярными Java-классами, и вы можете, конечно, иметь много не-UI-классов, таких как Application, у вас могут быть помощники и т. Д. Если я правильно понимаю ваш вопрос, вас смущает тот факт, что у Activity нет пользователя и может быть создан только косвенно, вызывая метод startActivity, но в других случаях это обычный класс Java.

+0

Спасибо за ваш ответ! – tyb

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