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

Обсуждение уроков
Quver
Сообщения: 9
Зарегистрирован: 18 сен 2012, 00:37

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

Сообщение Quver » 08 окт 2012, 23:35

у меня опять ошибка с R.java

создал time.xml
он прописался в R.java
а date.xml хоть тресни, не хочет создаваться в R.java

подскажите пожалуйста, как это поправить, что сделал не так ((

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

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

Сообщение rezak90 » 08 окт 2012, 23:39

1) сделать clean (но догадываюсь что это уже сделали);
2) внимательно посмотреть на импорт либ, возможно импортнули "чужой" R.java
R.id.team
Политика на форуме запрещена

Quver
Сообщения: 9
Зарегистрирован: 18 сен 2012, 00:37

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

Сообщение Quver » 09 окт 2012, 00:13

да, Clean делал.

проблема не в импорте а в том что в R.java
нет переменной для date.xml :((
такая как для
public static final int main = 0x7f030000;

в одних случаях генерируются переменные в R.java в других нет.
могу удалить этот date.xml и заново сделеть.
В R.java могут прописаться строки а могут и нет.
Для меня это загадка (((

http://stackoverflow.com/questions/5824 ... not-update

тут у людей такая же проблема.
пробовал что пишут
но тоже не помогло ((
Последний раз редактировалось Quver 09 окт 2012, 00:33, всего редактировалось 1 раз.

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

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

Сообщение rezak90 » 09 окт 2012, 00:31

скорее всего ошибка в самом date.xml, если хотите то можете скинуть проект и посмотрим сбилдиться ли он у меня и тогда будет ясна проблема в IDE или же в коде.
R.id.team
Политика на форуме запрещена

Quver
Сообщения: 9
Зарегистрирован: 18 сен 2012, 00:37

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

Сообщение Quver » 09 окт 2012, 00:58

спасибо за отзывчивость.
удалил вообще весь проект и сделал заново.

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

Но если опять будет эта беда. то выложу сюда проект.
так как утомил меня этот глюк изрядно (((

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

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

Сообщение rezak90 » 09 окт 2012, 01:04

это всё Eclipse. Google не поленился создать свою ОСь но для разрабов поленились создать хотя бы нормальную IDE.
R.id.team
Политика на форуме запрещена

Rasengan1987
Сообщения: 2
Зарегистрирован: 17 окт 2012, 14:29

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

Сообщение Rasengan1987 » 18 окт 2012, 12:03

sulo писал(а):Добавляю в IntentFileter Action, указываю name, выдает ошибку:
"[2012-09-17 15:07:15 - com.android.ide.eclipse.adt.internal.project.AndroidManifestHelper] Parser exception for E:\workspace\ucheb3\AndroidManifest.xml: Content is not allowed in prolog.
[2012-09-17 15:07:15 - ucheb3] Error in an XML file: aborting build.
"
подскажите в чем проблема.
sulo писал(а):
rezak90 писал(а):XML Manifesta проверьте, если даже сами руками ничего не меняли то возможно Eclpipse накосячил.
Спасибо, со 2ого раза нашел косяк..
Когда прописывал в IntentFilter>Action>name
то name писался где угодно в манифесте
Была та же самая проблема. При вводе name в AndroidManifest пытался вставить через комбинацию CTRL+V. В итоге в поле name не вставлялось значение, а помещалось в самое начало XML Manifesta. При нажатии правой кнопкой мыши и выборе вставить, без проблем скопированное значение вставляется.

vortex
Сообщения: 43
Зарегистрирован: 15 окт 2012, 11:07

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

Сообщение vortex » 29 окт 2012, 17:57

Блин, у меня такая же ботва.
[2012-10-29 17:52:41 - P0261_IntentFilter] Parser exception for /P0261_IntentFilter/AndroidManifest.xml: Content is not allowed in prolog.

Пялюсь в манифест уже минут 15 :( Что там не так-то? Тоже с Ctrl + V не вставлялось, но я вовремя заметил и райт кликом вставлял

vortex
Сообщения: 43
Зарегистрирован: 15 окт 2012, 11:07

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

Сообщение vortex » 29 окт 2012, 18:10

Ошибка: time cannot be resolved or is not a field

Если я правильно понимаю, то у меня не создалось в R.Java соответствие time.xml

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

/* AUTO-GENERATED FILE.  DO NOT MODIFY.
 *
 * This class was automatically generated by the
 * aapt tool from the resource data it found.  It
 * should not be modified by hand.
 */

package com.example.p0261_intentfilter;

public final class R {
    public static final class attr {
    }
    public static final class drawable {
        public static final int ic_action_search=0x7f020000;
        public static final int ic_launcher=0x7f020001;
    }
    public static final class id {
        public static final int btnDate=0x7f070001;
        public static final int btnTime=0x7f070000;
        public static final int menu_settings=0x7f070002;
    }
    public static final class layout {
        public static final int main=0x7f030000;
    }
    public static final class menu {
        public static final int main=0x7f060000;
    }
    public static final class string {
        public static final int app_name=0x7f040000;
        public static final int hello_world=0x7f040001;
        public static final int menu_settings=0x7f040002;
        public static final int title_activity_main=0x7f040003;
    }
    public static final class style {
        public static final int AppTheme=0x7f050000;
    }
}
Удалял time.xml и заного создавал, не помогает :(

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

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

Сообщение damager82 » 30 окт 2012, 13:33

vortex писал(а):Ошибка: time cannot be resolved or is not a field
Если я правильно понимаю, то у меня не создалось в R.Java соответствие time.xml
Удалял time.xml и заного создавал, не помогает :(
В меню Project - Clean попробуйте.

R.java может не генериться, если есть ошибки. Попробуйте исправить все или закаментить то, что не исправляется из-за R.java и потом все сохранить.

Если ничего не помогает, закрывайте все окна в Eclipse (CTRL+SHIFT+W), удалите проект и создайте заново.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Vic
Сообщения: 6
Зарегистрирован: 14 ноя 2012, 08:39

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

Сообщение Vic » 16 ноя 2012, 10:40

sulo писал(а):Добавляю в IntentFileter Action, указываю name, выдает ошибку:
"[2012-09-17 15:07:15 - com.android.ide.eclipse.adt.internal.project.AndroidManifestHelper] Parser exception for E:\workspace\ucheb3\AndroidManifest.xml: Content is not allowed in prolog.
[2012-09-17 15:07:15 - ucheb3] Error in an XML file: aborting build.
"
подскажите в чем проблема.
У меня такое было, когда пытался клавишами Ctrl+V (Shift+Insert) втавить в поля редактирования манифеста текст. Он вместо поля вставляется в сам манифест ( вкладочка xml), долго бился, пока понял из-за чего. Там его надо удалить и жизнь сразу становится легче.

Аватара пользователя
chuikoff
Сообщения: 17
Зарегистрирован: 30 мар 2012, 10:20
Откуда: Камчатка
Контактная информация:

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

Сообщение chuikoff » 18 ноя 2012, 07:02

Оказывается нельзя создавать класс Date.java, долго тупил чего ему не нравится.)
Разработка сайтов любой сложности.

eternal_ego
Сообщения: 10
Зарегистрирован: 14 дек 2012, 05:19

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

Сообщение eternal_ego » 14 дек 2012, 12:35

Наткнулся на забавную фичу редактора манифеста: сначала промазал строчкой и задал label для интента вместо активити. Стёр, записал в нужную строчку. Запустил - и получил пустую строчку при выборе действий. Заглянул в манифест в текстовом виде - оказалось, что при очистке label в визуальном редакторе он не убрал label у интента, а присвоил ему "". И, видимо, при выборе, какую строчку показать юзеру, приоритет оказывается у интента, а не у активити :)

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

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

Сообщение rezak90 » 14 дек 2012, 19:57

eternal_ego писал(а):Наткнулся на забавную фичу редактора манифеста: сначала промазал строчкой и задал label для интента вместо активити. Стёр, записал в нужную строчку. Запустил - и получил пустую строчку при выборе действий. Заглянул в манифест в текстовом виде - оказалось, что при очистке label в визуальном редакторе он не убрал label у интента, а присвоил ему "". И, видимо, при выборе, какую строчку показать юзеру, приоритет оказывается у интента, а не у активити :)
это всё приколы эклипса
R.id.team
Политика на форуме запрещена

frostegater
Сообщения: 11
Зарегистрирован: 29 янв 2013, 15:14

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

Сообщение frostegater » 20 фев 2013, 14:38

А что делать если не найден подходящий IntentFilter? Если не находит, то приложение падает. Как избежать?

Аватара пользователя
Isaev
Сообщения: 145
Зарегистрирован: 03 сен 2013, 09:39
Откуда: Германия
Контактная информация:

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

Сообщение Isaev » 14 окт 2013, 13:12

frostegater писал(а):А что делать если не найден подходящий IntentFilter? Если не находит, то приложение падает. Как избежать?
так наверное:

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

case R.id.btnDate:
        intent = new Intent("ru.example.intent.action.showdate1");
        try {
          startActivity(intent);
        } catch (Exception e) {
          Toast.makeText(this,"Suitable intent isn't found!",Toast.LENGTH_SHORT).show();
        }
        break;
или использовать не startActivity а startActivityForResult и проверять resultCode

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

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

Сообщение damager82 » 17 окт 2013, 23:40

frostegater писал(а):А что делать если не найден подходящий IntentFilter? Если не находит, то приложение падает. Как избежать?
В PackageManager есть метод queryIntentActivities, возможно он вам подойдет.

Код метода проверки будет примерно такой:
[syntax=java]public static boolean isIntentAvailable(Context context, String action) {
final PackageManager packageManager = context.getPackageManager();
final Intent intent = new Intent(action);
List<ResolveInfo> list =
packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
return list.size() > 0;
}
[/syntax]
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

drak
Сообщения: 2
Зарегистрирован: 04 июн 2014, 13:20

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

Сообщение drak » 25 июн 2014, 22:29

ситуация следующая...программа работает но при выборе basic Date или Date extended время получается одинакового формата
25.06.2014 в манифесте всьло правильно проверял 3 раза и в AndroidManifest.xml тоже код норм.

Аватара пользователя
Don77
Сообщения: 13
Зарегистрирован: 02 июл 2014, 00:21

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

Сообщение Don77 » 16 июл 2014, 20:18

Насколько я понял, все манипуляции с графическим интерфейсом IntentFilter сохраняются в файле манифеста -
<intent-filter></intent-filter>.Собственно, кроме action и category, есть еще какие-то важные элементы, которым стоит уделить внимание?

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

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

Сообщение oduvanio » 29 июл 2014, 21:03

Всем привет!!! Такой вопрос: сделал 26 урок, но у меня что-то не работало и я удалил проект и создал заново, но теперь при нажатии кнопок showtime и showdate показывается несколько интент фильтров, а как мне удалить те фильтры, которые должны были удалится с проектом? Спасибо за ответ.

Ответить