Re: Hello Kitty - Создаем первое приложение для Android
Не нравятся ваши символы. Скорее всего, у вас путь содержит русские буквы. Пишите на английском
Все вопросы проплачены кошками - всемирно известными производителями котят
You are not logged in. Please login or register.
Для регистрации на форуме следует написать мне письмо. В ответе я напишу правильный ответ для прохождения регистрации.
Форум Александра Климова → Android → Hello Kitty - Создаем первое приложение для Android
Не нравятся ваши символы. Скорее всего, у вас путь содержит русские буквы. Пишите на английском
Здравствуйте Александр! Спасибо большое за этот ресурс! У меня вопрос, пишу код при котором нужно использовать логический элемент если то, немного похож на последний пример вашего урока только у меня если пользователь не ввел данные не может перейти в новое активити. Так вот не могу понять что мне нужно if else не подходит
@Override
public void onClick(View v) {
Intent intent = new Intent(this, Result.class);
intent.putExtra ("name", editText.getText().toString());
if (EditText.getText().length() == 0) {
textView.setText("На что жалуетесь?");
} else {
startActivity(intent);
}
А почему у вас разные переменные - editText и EditText? Вроде в остальном на глаз правильно, надо в студии проверить
Нет переменная одна, не обращайте внимания это опечатка. Студия выдала else without if. Никак не могу победить ее. Смысл в чем в первом активити вводится текст и передается в активити 2 если текст не ввели в 1 активити то появляется вопрос и перехода в активити 2 быть не должно.
У меня ваш код работает нормально. Может вы где-то пропустили закрывающую скобку, если у вас выводится такое сообщение. Так как по синтаксису замечаний нет.
Держите мой код (я перенес формирование намерения в условие, так логичнее)
public void onClick(View view) {
EditText editText = (EditText) findViewById(R.id.editText);
TextView textView = (TextView) findViewById(R.id.textView);
if (editText.getText().length() == 0) {
textView.setText("На что жалуетесь?");
} else {
Intent intent = new Intent(this, SecondAcitivity.class);
intent.putExtra ("name", editText.getText().toString());
startActivity(intent);
}
}
Вы были правы, потерял скобку! И да, в вашем коде все логичнее, спасибо за пример!))
Александр, приветствую!
Решил чуть чуть поиграть с вашим уроком. Затеял сделать проверку: если в mNameEditText ввести Bob и нажать на ImageButton в TextView должен отразить иной текст.
Ниже не работающая реализация. Может подскажете реализацию? Спасибо
public void onClick(View view) {
if (mNameEditText.getText().length() == 0) {
mHelloTextView.setText("You need input name to tell kitty hi");
} else if (mNameEditText.getText().equals(BOB)) {
mHelloTextView.setText("How do u do Bob?");
} else {
mHelloTextView.setText("Hi, " + mNameEditText.getText());
}
}при этом я объявил String BOB = "Bob"
тоже попытался сделать боба. огорчил непонятный факт что нельзя сравнить просто else if (mNameEditText.getText() == "bob") { ведь длина сравнивается с 0 отсюда логично попытался просто вписать "bob" без дополнительных переменных.
но получилось сделать вот так: else if (mnameEditText.getText().equals("bob")){ работает без доп переменной. хотя сам я без понятия что за equals просто наобум вставил
Вы не первый. http://developer.alexanderklimov.ru/and … php#equals
Добрый день.
Вопрос по кодировке файлов:
после запуска приложения вместо русских символов появились вопросительные знаки. Я поменял кодировку файла MainActivity.java на UTF-8 и проблема была решена.
1. Какую кодировку лучше применять для всех файлов? По умолчанию в Студии установлена кодировка Windows-1252 почему то!!!
2. В эмуляторе не получается вводить с клавиатуры русские символы. Как это побороть?
Если еще актуально - измените язык устройства в настройках телефона в эмуляторе на русский.
Здравствуйте, Александр.
В этой части урока: "Снова нажимаем на кнопку с тремя точками у свойства background и в диалоговом окне переходим на вкладку Project. Нажимаем на кнопку New Resource... и выбираем вариант New Color Value.... Появится ещё одно диалоговое окно". А вот у меня почему то оно не появляется. В чем может быть дело?
Пришлите на почту скриншоты. Будем разбираться
Получилось, я нажал не на New Resource, а в этом же окне под цветовой палитрой нажал на вкладку "Device Configuration" и отобразилось то, что и у вас в том окне и цвет задался нужным образом)
Мне грустно. Но я не вижу ваш адрес почты. не могли бы указать?
"Учтите, что это новый код шаблона, который появился в Android Studio 2.3 в марте 2017 года."
Спасибо за своевременное обновление сайта. На других ресурсах плюют на это дело, а тут практически молниеносно ))) Очень приятно такое отношение автора к читающим данные уроки. Кто испытывает трудности с нововведениями, вот ссылка на статью по ConstraintLayout http://developer.alexanderklimov.ru/and … layout.php
При запуске приложения на устройстве объекты оказываются совсем в другом месте (ConstraintLayout ). Выдаёт предупреждение
The layout editor allows you to place widgets anywhere on the canvas, and it records the current position with designtime attributes (such as layout_editor_absoluteX.) These attributes are not applied at runtime, so if you push your layout on a device, the widgets may appear in a different location than shown in the editor. To fix this, make sure a widget has both horizontal and vertical constraints by dragging from the edge connections.
Александр, не подскажите, что имеется в виду в этом предложенииTo fix this, make sure a widget has both horizontal and vertical constraints by dragging from the edge connections. Что они имеют в виду под горизонтальными и вертикальными ограничениями и как это исправить?
Нужно явно указать "ограничения" между кнопками, чтобы они не слились в одну кучу. Разведи их в стороны и проведи между ними связь.
Здравствуйте! У меня схожая проблема с собирающимися объектами. Не могли бы Вы пояснить как явно указать ограничения и провести между ними связь? Заранее спасибо)
К сожалению, на словах трудно объяснить новичку. Попробуйте найти видео или гифки. Если по простому - между элементами и краями окна должны идти линии. Например, поместили кнопку под кнопкой и вытягиваете из кружочка линию и прикрепляете его к кружочку первой кнопки. И так далее.
Здравствуйте! У меня схожая проблема с собирающимися объектами. Не могли бы Вы пояснить как явно указать ограничения и провести между ними связь? Заранее спасибо)
Stels, добавьте "пружинки" для каждого объекта со всех сторон до конца экрана, тогда эта проблема исчезает.
Здравствуйте! setContentView(R.layout.activity_main);
mHelloTextView = (TextView)findViewById(R.id.textView); <----у меня здесь подчеркивается R красным, что делать?
вот весь код:
package com.kisa.hellokitty;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private TextView mHelloTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mHelloTextView = (TextView)findViewById(R.id.textView);
}
public void onClick(View view) {
mHelloTextView.setText("Hello Kitty!");}
Если я правильно понимаю код разметки вот :
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorAccent"
tools:context="com.kisa.hellokitty.MainActivity">
<ImageButton
android:id="@+id/imageButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:src="@drawable/pinkhellokitty"
tools:layout_editor_absoluteX="118dp"
tools:layout_editor_absoluteY="64dp" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
tools:layout_editor_absoluteX="161dp"
tools:layout_editor_absoluteY="271dp" />
</android.support.constraint.ConstraintLayout>
У вас все правильно. Попробуйте Build-Rebuild Project. Если не поможет, значит ошибка где-то в ресурсах. Вспомните, что вы там меняли и проверьте еще раз.
По разметке небольшое замечание - когда вы разместили все компоненты, но студия в текстовом режиме ругается на ошибки, то переключитесь на графический режим и нажмите на кнопку Infern Constraints (желтые звездочки). Недостающие параметры автоматически включатся.
Доброго! Сделал вроде все как в уроке, ругается компилятор:
Error:(31) No resource identifier found for attribute 'srcCompat' in package 'ru.vladimir.gusev.les1hellocoon'
Error:(31) No resource identifier found for attribute 'srcCompat' in package 'ru.vladimir.gusev.les1hellocoon'
Error:Execution failed for task ':app:processDebugResources'.
> com.android.ide.common.process.ProcessException: Failed to execute aapt
первые два видимо на картинуку кнопки, порбовал и Вашу и свою, все равно ругается, последнее даже не знаю что это
помогите разобраться!
через копировать -вставить в андроид студио в папку drawable, как в уроке
Форум Александра Климова → Android → Hello Kitty - Создаем первое приложение для Android
Powered by PunBB, supported by Informer Technologies, Inc.