Обо всём по порядку

Открыта

Вы славно потрудились, когда создали свою первую переменную. Как видите, нужна всего одна строка. Если хотите увидеть значение переменной, можно вывести её в TextView на экране.

Эспериментировать Java-кодом совершенно естественно, и ничего страшного, если вдруг приложение рухнет.

Свои ответы и вопросы можете оставлять в комментариях.

Комментарии (17)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
апецт
Уровень 44
10 июля 2023, 16:34
чет увлекся на первом видео и все сразу сделал, а тут рассказывают что такое переменные))
🦔 Викторведу учебный тг-канал в t.me/JavangelionExpert
26 ноября 2020, 04:47
Поздравляю всех, двигаемся дальше, всё получится! p.s. Очень толковый комментарий от AryehLaert1 на будущее: чем меньше видимость (глобальность) переменных по возможности, тем лучше. Так они не будут висеть в памяти, когда не используются.
Дмитрий
Уровень 20
5 декабря 2020, 19:17
На сколько я знаю, это больше применяется для того, чтобы скрыть переменную от нежелательного изменения, оставив возможность менять ее значение только нажатием кнопки например. На счет памяти спорное утверждение. Гуру пишут, что JVM выделяет память для примитивных переменных согласно их типу а не модификатору доступа.
🦔 Викторведу учебный тг-канал в t.me/JavangelionExpert
5 декабря 2020, 20:02
Спасибо, хорошее замечание. На эту тему нашёл неплохую выдержку с Хабры: Локальные переменные Область видимости локальных переменных должна сводиться к минимуму. Делая это, вы улучшаете читаемость и поддерживаемость кода, а также уменьшаете вероятность ошибок. Каждая переменная должна объявляться в самом глубоком блоке, который окружает все возможные места использования переменной. Локальные переменные должны объявляться в том месте, где впервые необходимо её использовать. Почти каждая локальная переменная нуждается в инициализаторе. Если вы еще не знаете, как точно инициализировать переменную, то вам следует отложить её объявление, пока вы это не узнаете.
Name Unknown ;)
Уровень 2
21 января 2021, 11:51
Посмотрел на твой xml код. Я сделал так: 0) в начале сделал android:padding="8dp" 1) затем для каждого View сделал android:layout_margin="8dp" Раз просят 16dp, то я посчитал, что так со всех сторон будет гарантированы 16dp (8+8=16) Так что в итоге, я правильно поступил или такое не приветствуется в Android-разработке? (по части стилизаций и разметок)
🦔 Викторведу учебный тг-канал в t.me/JavangelionExpert
21 января 2021, 13:23
Считаю, что правильно, согласно ТЗ всё сделано 👍 Я себе много вольностей позволял в дизайне учебных приложений, дальше больше ; ) А по части стиля и разметки у гугла есть много официальных гайдлайнов и документации.
maximk0
Уровень 6
2 января 2022, 12:00
Вы так добро всех поддерживаете, что я под каждым постом ищу ваш комент в первую очередь, приятно читать такие комментарии :)
🦔 Викторведу учебный тг-канал в t.me/JavangelionExpert
3 января 2022, 23:15
Спасибо, очень приятно видеть, что все мои труды были не напрасны : )
Vladimir
Уровень 19
1 июля 2019, 16:38
Привет! почему в методе displayPrice применен следующий код priceTextView.setText(NumberFormat.getCurrencyInstance().format(number)); Я не дождался урока и написал private void displayPrice(int number){ TextView priceTextView = (TextView) findViewById(R.id.price_text_view); priceTextView.setText("$" + number);
3 сентября 2020, 15:00
у вас более простой вариант для понимания кста) а так тот варик, что у них, это универсальный вариант форматирования для ввода валюты
GAZ
Уровень 27
10 декабря 2018, 16:25
при каждом нажатии на кнопку количество чашек увеличивается на одну
public void submitOrder(View view) {
    TextView quantityTextView = (TextView) findViewById(R.id.quantity_text_view);
    int numberOfCoffees = Integer.parseInt(quantityTextView.getText().toString())+1;
    display(numberOfCoffees);
    displayPrice(numberOfCoffees*5);
}
22 ноября 2017, 22:39
Вот весь код .java файла, если кто запутался. Только обращайте внимание на имя пакета.
package com.example.acerv.justjava;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;

import java.text.NumberFormat;


/**
 * This app displays an order form to order coffee.
 */
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    /**
     * Тут метод внутренней работы, который производит подсчет и заставляет запустить вывод на экран. У меня показаны рубли, поэтому стоимость кофе 200р
     */
    int numberOrderCoffees = 2;

    public void submitOrder(View view) {
        display(numberOrderCoffees);
        displayPrice(numberOrderCoffees * 200);

    }


    /**
     * Вот тут идет связка для вывода на экран
     */
    private void display(int number) {
        TextView quantityTextView = (TextView) findViewById(R.id.quantity_text_view);
        quantityTextView.setText("" + number);
    }

    private void displayPrice(int number) {
        TextView priceTextView = (TextView) findViewById(R.id.price_text_view);

        priceTextView.setText(NumberFormat.getCurrencyInstance().format(number));

    }
}
12 декабря 2017, 14:23
Неправильно. Если внимательно посмотреть видео урок назад, то там видно, что переменная namberOfCoffees объявлена внутри функции submitOrder. Соответственно тут получается совсем другая зона действия и как следствие идеалогия примера.
9 января 2018, 01:44
package com.example.android.justjava; import android.icu.text.NumberFormat; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.TextView; import java.util.Locale; //import com.example.android.justjava.R; /** This app displays an order form to order coffee. */ public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } /** This method is called when the order button is clicked. */ public void submitOrder(View view) { int numberOfCoffees = 2; display(numberOfCoffees); displayPrice(numberOfCoffees * 5); } /** This method displays the given quantity value on the screen. */ private void display(int number) { TextView quantityTextView = (TextView) findViewById(R.id.quantity_text_view); quantityTextView.setText("" + number); } /** * This method displays the given price on the screen. */ private void displayPrice(int number) { TextView priceTextView = (TextView) findViewById(R.id.price_text_view); priceTextView.setText(NumberFormat.getCurrencyInstance(Locale.US).format(number)); } }
19 февраля 2018, 07:57
и зачем тебе эта переменная в самом методе?? Вам этой переменной нужно будет пользоваться и в методе display в следующих уроках, я уверен, ее все равно вынесут в сам класс MainActivity единственное переменные класса описывают в начале перед всеми методами
public class MainActivity extends AppCompatActivity {

    int numberOfCoffees = 2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    .....
2 октября 2018, 18:42
тоже не понял почему переменную сделали локальной
Yura Honda-Mafia
Уровень 11
18 октября 2017, 19:15
Еще один урок выполнен на отлично =)