Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 19 дек 2018, 14:51

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 274 ]  На страницу 1, 2, 3, 4, 5 ... 14  След.
Автор Сообщение
 Заголовок сообщения: Урок 21. Создание и вызов Activity
СообщениеДобавлено: 03 окт 2011, 03:00 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1400
Благодарил (а): 0 раз.
Поблагодарили: 75 раз.

В этом уроке мы:


- создадим и вызовем второе Activity в приложении




Click here to read this article!

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Последний раз редактировалось damager82 12 июн 2017, 13:05, всего редактировалось 6 раз(а).

Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 21. Создание и вызов Activity
СообщениеДобавлено: 22 апр 2012, 19:24 

Зарегистрирован: 22 апр 2012, 18:56
Сообщений: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Здравствуйте! При запуске программы после нажатия на кнопку у меня вылетает программа.
По логам определил, что это происходит в тот момент, когда должен появиться второй Activity (startActivity(intent);)
А вот, что еще выдалось в логах.
Изображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 21. Создание и вызов Activity
СообщениеДобавлено: 22 апр 2012, 22:07 
Аватар пользователя

Зарегистрирован: 17 фев 2012, 21:23
Сообщений: 1339
Откуда: Мордор
Благодарил (а): 16 раз.
Поблагодарили: 161 раз.
Возможно Вы забыли прописать активити в файле манифеста.

_________________
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 21. Создание и вызов Activity
СообщениеДобавлено: 24 апр 2012, 18:16 

Зарегистрирован: 22 апр 2012, 18:56
Сообщений: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
При создании Intent я неверно указал имя класса.

Спасибо!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 21. Создание и вызов Activity
СообщениеДобавлено: 24 апр 2012, 22:26 
Аватар пользователя

Зарегистрирован: 17 фев 2012, 21:23
Сообщений: 1339
Откуда: Мордор
Благодарил (а): 16 раз.
Поблагодарили: 161 раз.
Советую по чаще использовать комбонацию Ctrl + Пробел.
Это должно избавить Вас от подобных ошибок в будующем.

_________________
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 21. Создание и вызов Activity
СообщениеДобавлено: 02 июн 2012, 10:38 

Зарегистрирован: 31 май 2012, 21:55
Сообщений: 8
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Вопрос может нубский,но ответа я на него так и не нашёл: как закрыть активность,которую я открыл способом выше? =)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 21. Создание и вызов Activity
СообщениеДобавлено: 04 июн 2012, 10:40 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1400
Благодарил (а): 0 раз.
Поблагодарили: 75 раз.
romanzi писал(а):
Вопрос может нубский,но ответа я на него так и не нашёл: как закрыть активность,которую я открыл способом выше? =)

Метод finish()

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 21. Создание и вызов Activity
СообщениеДобавлено: 10 июл 2012, 23:03 

Зарегистрирован: 22 июн 2012, 06:09
Сообщений: 14
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Создал в отдельном файле класс create_db
там прописал всякие методы типа update, insert с различными переменными.
Затем в MainActivity прописываю

Прописываю Вpublic void onCreate(Bundle savedInstanceState)
mdb= new create_db(this);
db = mdb.getWritableDatabase();

далее для вызова функций прописываю mdb.update(....);
так же для вызова функций при нажатии кнопки в AlertDialog тоже пишу mdb.update(...) и т.д.
public void onClick(DialogInterface dialog, int which)
{
...
mdb.update_add(_id,add_l,db);
...}
Затем Создал второе Activity Activity_two

там в OnCreate тоже прописал
mdb= new create_db(this);
db = mdb.getWritableDatabase();

также в OnCreate прописываю mdb.update(...)
Все работает,

Но после OnCreate сделал вызов AlertDialog и для обработки нажатия
прописываю так же
protected Dialog onCreateDialog(int id) {
Dialog dialog = null;
switch (id) {
....

public void onClick(DialogInterface dialog, int which) {
mdb.update(...)
...}
...}

и здесь уже пишет ошибку

mdb cannot be resolved

Как исправить данную ситуацию?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 21. Создание и вызов Activity
СообщениеДобавлено: 11 июл 2012, 06:10 

Зарегистрирован: 22 июн 2012, 06:09
Сообщений: 14
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
нашел ошибку


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 21. Создание и вызов Activity
СообщениеДобавлено: 06 сен 2012, 00:16 

Зарегистрирован: 07 май 2012, 11:17
Сообщений: 15
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
почему-то при вызове нового окна, оно отображается пустым.

Тоесть: есть главный активити. Из него вызывается второй активити. К второму активити привязан layout.
Все связи в манифесте присутствуют, но при работе приложения на мобильном телефоне, 2ая форма (layout) отображается пустой

1) как видим, вызов интента присутствует и кроме того, как видно с логов, кнопка #2 нажимается успешно и мы попадаем в нужный case
http://cs317817.userapi.com/v317817849/ ... qYXm9s.jpg

2) есть необходимые классы и layout'ы
http://cs317817.userapi.com/v317817849/ ... vEB194.jpg

3) В activity2 и activity3 стоит вызов layout'а, который соотвествует названию класа
http://cs317817.userapi.com/v317817849/ ... w1fi2o.jpg

4)как видим, layout для activity2 не пустой
http://cs317817.userapi.com/v317817849/ ... 77x_jE.jpg

5) да и layout для activity3 не пустой
http://cs317817.userapi.com/v317817849/ ... fQFPYc.jpg

6)в manifest описание класов как активити присутствует
http://cs317817.userapi.com/v317817849/ ... 9xElZ8.jpg

Вроде бы всё есть... но когда запускаю приложение на смартфоне, то при нажатии button1 или button2 которые должны вызывать activity1 или activity2 ни один графический элемент не отображается

имеем белый квадрат Малевича
http://cs317817.userapi.com/v317817849/ ... jTW2QE.jpg

прошу помощи в решении данной ситуации.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 21. Создание и вызов Activity
СообщениеДобавлено: 06 сен 2012, 00:29 

Зарегистрирован: 07 май 2012, 11:17
Сообщений: 15
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
комент: бросил логи в каждый из новосозданых activity.

сообщения в логи, при нажатии кнопки по вызову activity, не отобразились. Из чего можна судить, что вызов Activity на самом деле не был произведён. Хотя в case мы попадаем...

также никаких сообщений про ошибку на екране и в логах не отображается


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 21. Создание и вызов Activity
СообщениеДобавлено: 07 сен 2012, 00:05 

Зарегистрирован: 07 май 2012, 11:17
Сообщений: 15
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
спасибо за моральную поддержку :)

Проблема решена.

название метода было не правильным (OnCreate, а не onCreate) поэтому код активити и не отображался.

Проблему закрываю


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 21. Создание и вызов Activity
СообщениеДобавлено: 07 сен 2012, 08:42 

Зарегистрирован: 16 июл 2012, 07:47
Сообщений: 235
Благодарил (а): 0 раз.
Поблагодарили: 25 раз.
Обрати внимание: если имя метода набрано правильно, слева от него появится треугольник (закрашенный, если в базовом классе есть его реализация, не закрашенный - если он абстрактный или принадлежит интерфейсу).
Перед объявлением метода добавляется @Override - знак того, что это не новый, а переопределяемый метод.
Если имя метода или типы параметров набраны неправильно, компилятор выдаст ошибку.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 21. Создание и вызов Activity
СообщениеДобавлено: 07 сен 2012, 09:21 

Зарегистрирован: 14 май 2012, 16:18
Сообщений: 372
Благодарил (а): 0 раз.
Поблагодарили: 6 раз.
Я вообще вручную методы не переопределяю.
Юзаю Source -> Override/Implement Methods


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 21. Создание и вызов Activity
СообщениеДобавлено: 09 сен 2012, 20:52 

Зарегистрирован: 07 май 2012, 11:17
Сообщений: 15
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
собстсвенно то, что Eclipse указывал на @override как на ошибку, и показало причину: в родительском класе нет метода с таким именем, что абсурдно. Значить имя метода указано неправильно


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 21. Создание и вызов Activity
СообщениеДобавлено: 10 сен 2012, 12:57 

Зарегистрирован: 10 сен 2012, 11:58
Сообщений: 103
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Здравствуйте,

Я новичок.
Начал читать и очень понравилась подача материала. Спасибо большое автору.
Всегда хочется применить, то, что узнал, сразу на практике, но не всегда получается.
Надеюсь на помощь мэтров сейчас и в дальнейшем. Когда-нибудь смогу помогать сам.
Суть вопросов (вынужден выложить коды, так как, еще не совсем владею лингвистикой Android):

1. Создал новую Activity посредством Intent, но в полученной Activity не отображаются элементы, указанные в secondactivity.xml, за исключением <TextView>. Подозреваю, что неправильно прописал manifest. К сожалению, в NetBeans нет возможности автоматически настраивать manifest, поэтому пришлось искать информацию и писать manifest для новой Activity самому.

2. Intent передал объект String и под него создана переменная textView. Возможно ли включить переменную textView как параметр в secondactivity.xml с тем, чтобы при вызове setContentView(R.layout.secondactivity) отображался полученный объект и все указанные в secondactivity.xml элементы (в данном случае Button).

Получается, что когда пишу setContentView(R.layout.secondactivity) показывает текст из android:text="@string/results" без кнопки Button, а тем более переданного текста (что и понятно, так как при setContentView(textView) показывает текст, полученный из первой Activity).

Буду признателен за ответ, очень поможет в дальнейшем понимании материала.

Здесь исходники:

MainActivity.java

public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.main);

editText=(EditText) findViewById(R.id.edit_message);
}

public void sendMessage(View view) {

Intent intent = new Intent(this, DisplayMessageActivity.class);

String message = editText.getText().toString();
intent.putExtra("mymessage", message);
startActivity (intent);
}
}


public class DisplayMessageActivity extends Activity {

TextView textView;

@Override
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
String arrivedMessage = getIntent().getStringExtra("mymessage");

// Create the text view
textView = new TextView (this);
textView.setTextSize(40);
textView.setText(arrivedMessage);

setContentView(R.layout.secondactivity);
}
}

secondactivity.xml

<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/results"
android:textColor="@color/comments_color">
</TextView>

<Button
android:id="@+id/ok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView"
android:text="OK">
</Button>

</RelativeLayout>

Manifest

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="example.AndroidApplication1"
android:versionCode="1"
android:versionName="1.0">

<application android:label="@string/app_name" android:icon="@drawable/ic_launcher">

<activity android:name="MainActivity"
android:label="@string/app_name">

<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

</activity>

<activity
android:name=".DisplayMessageActivity"
android:label="@string/app_name">

<intent-filter>
<action android:name="android.intent.action.VIEW"/>
</intent-filter>

</activity>
</application>
</manifest>


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 21. Создание и вызов Activity
СообщениеДобавлено: 10 сен 2012, 13:25 

Зарегистрирован: 14 май 2012, 16:18
Сообщений: 372
Благодарил (а): 0 раз.
Поблагодарили: 6 раз.
В вызываемой активити в методе onCreate сначала нужно вызвать
setContentView(R.layout.secondactivity);

А уже потом найти (а не создавать новый) в нем TextView и добавить к нему текст из интента.
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. textView=(TextView) findViewById(R.id.textView);
  2. textView.setTextSize(40);
  3.  textView.setText(arrivedMessage);


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 21. Создание и вызов Activity
СообщениеДобавлено: 10 сен 2012, 13:46 
Аватар пользователя

Зарегистрирован: 26 июн 2012, 13:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
dil_android и как приятно работать с андроидом из NetBeans'a? Потому что я раз видел и по моему это изврат :?

_________________
R.id.team
Политика на форуме запрещена


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 21. Создание и вызов Activity
СообщениеДобавлено: 10 сен 2012, 15:27 

Зарегистрирован: 10 сен 2012, 11:58
Сообщений: 103
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
to AndreyI

Попробовал

setContentView(R.layout.secondactivity);

String arrivedMessage = getIntent().getStringExtra("mymessage");

// Create the text view

textView=(TextView) findViewById(R.id.textView);
textView.setTextSize(40);
textView.setText(arrivedMessage);

понял, что textView сохраняется в классе R, и поэтому может быть вызван.

запустил, тот же результат: отображает textView, но не демонстрирует содержание secondactivity

В этой связи остается актуальным вопрос " Возможно ли включить переменную textView как параметр в secondactivity.xml с тем, чтобы при вызове setContentView(R.layout.secondactivity) отображался полученный объект и все указанные в secondactivity.xml элементы (в данном случае Button)."

to rezak90

Изврат, не изврат, но желание работать с Android есть, а это главное.
Так как я новичок, то сравнивать NetBeans с чем либо другим не могу. Пока, это единственная возможность и для нас, людей старой закалки, может и плюс, что больше приходится работать ручками. Помогает лучше изучить предмет.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 21. Создание и вызов Activity
СообщениеДобавлено: 10 сен 2012, 15:39 
Аватар пользователя

Зарегистрирован: 26 июн 2012, 13:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
Eclipse конечно далеко не лучная IDE но всё таки для андроида это лучший вариант. И если планируете зарабатывать программированием на Андроиде в частной компании то одним из условий является знание IDE Eclipse.

_________________
R.id.team
Политика на форуме запрещена


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 274 ]  На страницу 1, 2, 3, 4, 5 ... 14  След.

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB