Урок 26. Intent Filter - практика

Обсуждение уроков
Viewer
Сообщения: 180
Зарегистрирован: 30 апр 2014, 11:42

Re: Урок 26. Intent Filter - практика

Сообщение Viewer » 30 июл 2014, 02:09

oduvanio писал(а):Всем привет!!! Такой вопрос: сделал 26 урок, но у меня что-то не работало и я удалил проект и создал заново, но теперь при нажатии кнопок showtime и showdate показывается несколько интент фильтров, а как мне удалить те фильтры, которые должны были удалится с проектом? Спасибо за ответ.
Удаление проекта из рабочего пространства Эклипса не означает его автоматическое удаление из устройства или эмулятора (если вы его хотябы раз там запускали), нужно удалить приложение и оттуда - либо стандартными средствами устройства, либо через adb:
adb uninstall package_name

oduvanio
Сообщения: 2
Зарегистрирован: 21 май 2014, 22:21

Re: Урок 26. Intent Filter - практика

Сообщение oduvanio » 30 июл 2014, 22:18

Viewer писал(а):
oduvanio писал(а):Всем привет!!! Такой вопрос: сделал 26 урок, но у меня что-то не работало и я удалил проект и создал заново, но теперь при нажатии кнопок showtime и showdate показывается несколько интент фильтров, а как мне удалить те фильтры, которые должны были удалится с проектом? Спасибо за ответ.
Удаление проекта из рабочего пространства Эклипса не означает его автоматическое удаление из устройства или эмулятора (если вы его хотябы раз там запускали), нужно удалить приложение и оттуда - либо стандартными средствами устройства, либо через adb:
adb uninstall package_name
Спасибо большое! Удалил приложение через AVD. Всё теперь работает как надо)

dmitry_stas
Сообщения: 15
Зарегистрирован: 03 сен 2014, 21:12

Re: Урок 26. Intent Filter - практика

Сообщение dmitry_stas » 04 сен 2014, 09:38

доброго всем.

у меня при сохранении кода в ActivityDate.java отмечалась восклицательным знаком строчка с

Код: Выделить всё

SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
несмотря на это в эмуляторе сама программа с таким предупреждением работала. при нажатии на восклицательный знак выпадает менюшка

Изображение

после того как выбираю первый пункт
Add @SupressLint 'SimpleDateFormat' to 'ActivityDate'
в код добавляется еще 2 строки:

Код: Выделить всё

import android.annotation.SuppressLint;
@SuppressLint("SimpleDateFormat")
Изображение

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

спасибо.

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Урок 26. Intent Filter - практика

Сообщение Mikhail_dev » 04 сен 2014, 10:23

Данный флаг переводится как "подавить предупреждение Линта". Lint - это такой полезный инструмент, который показывает ошибки и предупреждения в коде. совершенно не факт то, что он показывает всегда правильные и нужные вещи, так что данную строку можно не писать, должно и так работать. Данная строка просто пресекает показ предупреждения.
К примеру, если я напишу код типа
[syntax=java5]if (android.os.Build.VERSION.SDK_INT>=11) {
SharedPreference sharedPreferences = context.getSharedPreferences(Consts.SHARED_PREFS_NAME, Context.MODE_MULTI_PROCESS);
} else {
SharedPreference sharedPreferences = context.getSharedPreferences(Consts.SHARED_PREFS_NAME, Context.MODE_PRIVATE);
}[/syntax]
то он мне подчеркнет "Context.MODE_MULTI_PROCESS" и скажет что он доступен только с API 11. Но я и так в коде условием это дело проверяю, но Lint это не понимает, поэтому подчеркивает. Тут я могу установить SuppressLint и подавить предупреждение. Но вообще не советую это делать, пусть лучше предупреждение висит. И только если он не может запустить проект из-за ошибки, которую мы правильно обрабатываем, то можно её и подавить.

dmitry_stas
Сообщения: 15
Зарегистрирован: 03 сен 2014, 21:12

Re: Урок 26. Intent Filter - практика

Сообщение dmitry_stas » 04 сен 2014, 12:13

понял, спасибо. т.е. в данном случае он просто ругался на недостающий второй параметр Locale в SimpleDateFormat ?

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Урок 26. Intent Filter - практика

Сообщение Mikhail_dev » 04 сен 2014, 13:48

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

dmitry_stas
Сообщения: 15
Зарегистрирован: 03 сен 2014, 21:12

Re: Урок 26. Intent Filter - практика

Сообщение dmitry_stas » 04 сен 2014, 15:14

да да, я так и сделал сразу

Код: Выделить всё

SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy", Locale.US);
интересовало именно что за штука такая @SuppressLint, почему Eclipse ее в качестве решения подсовывает :) оказалось - дурит гад :) еще раз спасибо.

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Урок 26. Intent Filter - практика

Сообщение Mikhail_dev » 04 сен 2014, 15:33

Вы зря так про дурение. На самом деле инструмент очень полезный. Почитайте про статические анализаторы кода, к примеру вот
http://derevyanko.blogspot.ru/2012/01/android.html
это очень полезная штука. статья правда старовата, но для понимания сойдет.

Аватара пользователя
GALAPERIDOL
Сообщения: 1
Зарегистрирован: 13 ноя 2014, 10:11
Контактная информация:

Re: Урок 26. Intent Filter - практика

Сообщение GALAPERIDOL » 13 ноя 2014, 12:27

Всем привет! Изучаю Ваши уроки, дошел до 26 и вот не понимаю как побороть сею ошибку:
у меня стоит IDE Intelij IDEA 13.1.5
Android Target v.19 (4.4.x)
при компиляции выдает следующее:

Код: Выделить всё

Information:Compilation completed with 1 error and 0 warnings in 2 sec
Information:1 error
Information:0 warnings
Error:Internal error: (java.lang.IllegalArgumentException) No enum constant org.jetbrains.jps.model.java.LanguageLevel.JDK_1_9
java.lang.IllegalArgumentException: No enum constant org.jetbrains.jps.model.java.LanguageLevel.JDK_1_9

	at java.lang.Enum.valueOf(Enum.java:238)

	at org.jetbrains.jps.model.java.LanguageLevel.valueOf(LanguageLevel.java:21)

	at org.jetbrains.jps.model.serialization.java.JpsJavaModelSerializerExtension$JavaProjectExtensionSerializer.loadExtension(JpsJavaModelSerializerExtension.java:285)

	at org.jetbrains.jps.model.serialization.java.JpsJavaModelSerializerExtension$JavaProjectExtensionSerializer.loadExtension(JpsJavaModelSerializerExtension.java:268)

	at org.jetbrains.jps.model.serialization.JpsLoaderBase.loadComponents(JpsLoaderBase.java:59)

	at org.jetbrains.jps.model.serialization.JpsProjectLoader.a(JpsProjectLoader.java:119)

	at org.jetbrains.jps.model.serialization.JpsProjectLoader.loadProject(JpsProjectLoader.java:98)

	at org.jetbrains.jps.model.serialization.impl.JpsSerializationManagerImpl.loadModel(JpsSerializationManagerImpl.java:41)

	at org.jetbrains.jps.cmdline.JpsModelLoaderImpl.loadModel(JpsModelLoaderImpl.java:45)

	at org.jetbrains.jps.cmdline.BuildRunner.load(BuildRunner.java:71)

	at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:198)

	at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:113)

	at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler$1.run(BuildMain.java:157)

	at org.jetbrains.jps.service.impl.SharedThreadPoolImpl$1.run(SharedThreadPoolImpl.java:41)

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

	at java.util.concurrent.FutureTask.run(FutureTask.java:266)

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

	at java.lang.Thread.run(Thread.java:745)
Подгрузил новый SDK,
Создал новый проект как в видео с версией Android target v.10 (2.3.3), там все работает.

Может я что-то не так делаю, подскажите пожалуйста!

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Урок 26. Intent Filter - практика

Сообщение doter.ua » 13 ноя 2014, 16:37

возможно виноват JDK_1_9
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Boroda0691
Сообщения: 2
Зарегистрирован: 02 янв 2015, 21:07
Откуда: Ukraine

Re: Урок 26. Intent Filter - практика

Сообщение Boroda0691 » 07 янв 2015, 20:28

Всем привет !
Как вставить системную дату в TextView ?

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Урок 26. Intent Filter - практика

Сообщение doter.ua » 07 янв 2015, 22:40

Boroda0691 писал(а):Всем привет !
Как вставить системную дату в TextView ?
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
String s = dateFormat.format(date);
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Boroda0691
Сообщения: 2
Зарегистрирован: 02 янв 2015, 21:07
Откуда: Ukraine

Re: Урок 26. Intent Filter - практика

Сообщение Boroda0691 » 08 янв 2015, 14:51

doter.ua писал(а):
Boroda0691 писал(а):Всем привет !
Как вставить системную дату в TextView ?
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
String s = dateFormat.format(date);
Спасибо !
Я, конечно, дико извиняюсь - только начинаю.
В какой файл и куда конкретно надо это вставить ?

Файл main.xml :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${relativePackage}.${activityClass}" >

<AnalogClock
android:id="@+id/analogClock1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="17dp" />

<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/analogClock1"
android:layout_centerHorizontal="true"
android:text="системная дата-Чт., 8 января 2015 г."
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="12dp" />

<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/textView6"
android:layout_centerHorizontal="true"
android:text="Версия: 01.15"
android:textAppearance="?android:attr/textAppearanceMedium" />

<Button
android:id="@+id/btnActTwo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/textView5"
android:layout_centerHorizontal="true"
android:layout_marginBottom="16dp"
android:text="Расписание занятий" />

</RelativeLayout>
Вложения
device.jpg
device.jpg (42.14 КБ) 16624 просмотра

Ivan2007
Сообщения: 22
Зарегистрирован: 05 янв 2015, 19:55

Re: Урок 26. Intent Filter - практика

Сообщение Ivan2007 » 14 янв 2015, 18:29

Здравствуйте.Такая проблемка.Сделал все по уроку, в проекте ошибок нигде нет. Запускаю приложение,кликаю на вермя всё показывает, кликаю на дату приложение виснет,закрывается и пишет что приложение было остановлено..

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 26. Intent Filter - практика

Сообщение Foenix » 14 янв 2015, 19:23

- ничего себе, что что же делать?
- идти по ссылкам в подписи..
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Ivan2007
Сообщения: 22
Зарегистрирован: 05 янв 2015, 19:55

Re: Урок 26. Intent Filter - практика

Сообщение Ivan2007 » 15 янв 2015, 01:12

Log Cat конечно вещь ярая.... вот только при нажатии на дату(когда виснет приложение) мне выдает такой вот пучок эрроров и в нем я потерялся...
Вложения
errors.png
errors.png (166.86 КБ) 16602 просмотра

Аватара пользователя
vitaliy
Сообщения: 44
Зарегистрирован: 10 янв 2015, 14:28
Откуда: Украина

Re: Урок 26. Intent Filter - практика

Сообщение vitaliy » 15 янв 2015, 04:39

говорит что такого активити нет ) Логи читать нужно )) покажите обработчик нажатия на textview.
а то, что stacktrace большой это нормально. Исключения же передаются выше и выше )) Много кстати таких вещей. Интересный бы подкаст был о том, что как плохо когда люди начинают программировать под андроид не читая ничего про Java. Я думаю актуальная тема )
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
Donald E. Knuth.

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Урок 26. Intent Filter - практика

Сообщение klblk » 15 янв 2015, 08:59

В манифесте Activity прописана?

Ivan2007
Сообщения: 22
Зарегистрирован: 05 янв 2015, 19:55

Re: Урок 26. Intent Filter - практика

Сообщение Ivan2007 » 15 янв 2015, 12:01

Код: Выделить всё

package r.p0261_intentfilter;
import java.sql.Date;
import java.text.SimpleDateFormat;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

 public class ActivityDate extends Activity {
	 
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.date);

SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");

String date = sdf.format(new Date(System.currentTimeMillis()));

TextView tvDate = (TextView) findViewById(R.id.tvDate);
tvDate.setText(date);
}
}
Пока мне с уороков вроде как и понятно...единственное что не знание английского дает свои косяки....
Вложения
manifest.png
manifest.png (14.98 КБ) 17220 просмотров

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Урок 26. Intent Filter - практика

Сообщение klblk » 15 янв 2015, 13:10

showDate != showdate
и на будущее, если показываете манифест, то показывайте именно xml

Ответить