Skocz do zawartości
testus

Widget w Netbeans

    Rekomendowane odpowiedzi

    testus

    Witam,

    problem, który tu opiszę dotyczy budowy widget-u w NetBeans-ie. Do tej pory znajdowałem tutorial-e jedynie na eclipse lecz za poradą kilku wątków na tym forum, programuję w NetBeans-ie.

    Jedyny tutorial na NetBeans-a w sprawie 'łidzetów' znalazłem na Lekcja 4. Pierwszy Widget, a w dodatku funkcjonalny !

    Postępując zgodnie z opisem, ostatecznie występuje błąd

    usage: am [subcommand] [options]

    start an Activity: am start [-D]

    -D: enable debugging

    send a broadcast Intent: am broadcast

    start an Instrumentation: am instrument [flags]

    -r: print raw results (otherwise decode REPORT_KEY_STREAMRESULT)

    -e : set argument to

    -p : write profiling data to

    -w: wait for instrumentation to finish before returning

    start profiling: am profile start

    stop profiling: am profile stop

    specifications include these flags:

    [-a ] [-d ] [-t ]

    [-c [-c ] ...]

    [-e|--es ...]

    [--ez ...]

    [-e|--ei ...]

    [-n ] [-f ] []

    Error: Bad component name: org.me.myWidget/

    Ze względu na błąd tutorial zakończyłem w momencie: "Rezultatem powinien być widget wyświetlający napis Hello World!"

    Problem ten pojawia się w momencie, gdy w pliku AndroidManifest.xml zamieniam sekcje/element activity na sekcje/element receiver

    P.S. Jak ktoś nie ma nic pomocnego do napisania, to niech nie nabija sobie postów i nie śmieci!

    Liczę na pomoc osób, które miały podobny problem oraz go ROZWIĄZAŁY i/lub osób, które mają doświadczenie w pisaniu widget-ów w NetBeans-ie

    P.P.S Wszystkie nazwy się zgadzają(nazwy plików, zmiennych, itp);

    Zadbałem też o case sensitive co poskutkowało zanikiem błędów w emulatorze;

    Tym razem pamiętałem o złotej zasadzie "Jak coś nie działa, to wyczyść projekt i wykonaj ponownie" (o której zapominałem przy poprzednim problemie)

    Nie jestem pewien czy tutorial jest dobrze napisany :/ ale tego akurat nie kwestionuje

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    7ymekk

    a czy przed tym co zacytowałeś nie pojawia się przypadkiem coś takiego?:

    init:

    deps-jar:

    Compiling 1 source file to C:\Users\...NetBeansProjects\widget\build\classes

    compile:

    Updating zip: C:\Users\...\NetBeansProjects\widget\dist\widget.apk_

    THIS TOOL IS DEPRECATED. See --help for more information.

    Deleting: C:\Users\...\NetBeansProjects\widget\dist\widget.apk_

    jar:

    pkg: /data/local/tmp/widget.apk

    Success

    802 KB/s (5749 bytes in 0.007s)

    About to start org.me.widget/

    to co zacytowałeś wyświetla się i u mnie i zapewne jest to spowodowane tym, że emulator próbuje uruchomić widgeta, którego de facto uruchomić się nie da. sprawdź czy jest w zainstalowanych aplikacjach a później dodaj na pulpit.

    tak na marginesie to poradniki tego kolesia są fajne, przejrzyste itd...ale mało który projekt bez problemu się zbuduje;) mnóstwo tam błędów

    jak coś to trzymaj mój hello widget. bazowałem na tym samym poradniku

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    daj sobie spokój z takimi poradnikami przynajmniej na tym etapie, AppWidgetProvider jest tak ubogi i prymitywny ze żadne rozbudowane poradniki nie są potrzebne

    tu jest wszystko:

    App Widgets | Android Developers

    w wersji 2.1 i wyżej koniecznie jest zdefiniowane ikony inaczej manager Widgetów się wykrzaczy w momencie listowania Widgetów ;)

    przykładowye podstawowe elementy Widgetu

    manifest: AndroidManifest.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="org.me.widget"
    <application android:icon="@drawable/icon">
    	<receiver android:name=".widget">
    		<intent-filter>
    			<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
    		</intent-filter>
    		<meta-data android:name="android.appwidget.provider" android:resource="@xml/widget_info" />
    	</receiver>
    </application>
    </manifest>

    kod programu src/org/me/widget/widget.java

    package org.me.widget
    
    import android.appwidget.AppWidgetProvider;;
    
    public class widget extends AppWidgetProvider {
    @Override
    public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
    	super.onUpdate(context, appWidgetManager, appWidgetIds);
    }
    @Override
    public void onReceive(Context context, Intent intent) {
    	super.onReceive(context, intent);
    }
    }
    

    opis /res/xml/widget_info.xml

    <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
       android:minWidth="72dp"
       android:minHeight="72dp"
       android:updatePeriodMillis="0"
       android:initialLayout="@layout/main">
    </appwidget-provider>

    wygląd /res/layout/main.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:text="Test"/>
    </LinearLayout>

    oraz ikona w res/drawable/icon.png (ikona wielkość 48px x 48px)

    w połączeniu z linkiem który podałem wszystko powinno być jasne

    Edytowane przez zawadaki

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    Error: Bad component name: org.me.myWidget/
    P.P.S Wszystkie nazwy się zgadzają(nazwy plików, zmiennych, itp)

    Może jestem ślepy, ale nigdzie w tutku nie widzę org.me.myWidget (poszukaj tego w projekcie, jeśli znajdziesz to zarzuć kodem)

    W samym poradniku jest chyba błąd package="org.me.hellowidget" w manifeście i package org.me.zachodnik; z klasą Zachodnik

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

    Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

    Zarejestruj nowe konto

    Załóż nowe konto. To bardzo proste!

    Zarejestruj się

    Zaloguj się

    Posiadasz już konto? Zaloguj się poniżej.

    Zaloguj się

    • Ostatnio przeglądający   0 użytkowników

      Brak zarejestrowanych użytkowników przeglądających tę stronę.

    x