• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    LWEEKAndroid development
    FRANCISBEAN
    FRANCISBEAN --- ---
    Ahoj, poprosím o začiatočnícku radu. Chcel by som mať data aplikácie uložené v Shared Preferences, ktoré by boli dostupné pre ľubovolnú aktivitu aplikácie.

    Mám triedu, nazvyme ju PreferenceManager, v ktorej sú definované prístupové metódy k shared preferences:

    public class SetCampain extends Activity {
    public static final String PREFS_NAME = "MyPrefs";

    private void SavePreferences(String key, String value){
    SharedPreferences sharedPreferences = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putString(key, value);
    editor.commit();
    }

    public int getPreferences(){
    SharedPreferences sharedPreferences = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
    int strSavedMem = sharedPreferences.getInt("param", -1);
    return strSavedMem;
    }
    }

    Pomocou týchto metód by som chcel v inej triede preferencie zobraziť, resp. nastaviť. Akým spůsobom můžem k preferenciám pristupovať?
    Keď zavolám niečo ako:

    public class MyClass extends Activity {
    int number = PreferenceManager.getPreferences();
    }
    potom mi to hlási Cannot make a static reference to the non-static method getPreference()....

    keď dám

    public class MyClass extends Activity {
    PreferenceManager pref = new PreferenceManager();
    int number = pref.getPreferences();
    }
    tak aplikácia spadne s NullPointerException.

    Prosím poraďte mi čo robím zle, prípadne nejaké iné riešenie.


    DEII
    DEII --- ---
    Zatim nejlepsi kniha - doporucuji:
    The Busy Coder's Guide to Android Development by Mark L. Murphy
    Pravidelne aktualizovana! :)
    JOHNY_G
    JOHNY_G --- ---
    Jj, v posledních pár dnech už se to nedá přehlédnout :-)).
    VIRTUALVOID
    VIRTUALVOID --- ---
    JOHNY_G: cool, akurat by som miesto tych X markerov blizko seba pouzil jeden ... a cislo v nom (kolko markrov nahradza). ked je to odzoomovane na celu krajinu tak to neposobi dobre urcite ani na performance...
    JOHNY_G
    JOHNY_G --- ---
    Nepředstavil jsem ještě svoje poslední dílko. Mobilní klient k webovému projektu Kde se kouří / nekouří. Zkuste a reagujte :-).
    REEFER
    REEFER --- ---
    nemyslim, ale napis mail a zeptej se - treba jo?
    ROTTWEILER
    ROTTWEILER --- ---
    REEFER: i part time?
    REEFER
    REEFER --- ---
    nabirame herni tvurce do firmy geewa na iOS, Android platformu. juniory i seniory na bezici i nove projekty. prace na hrach, zadny formularovy opruz, ktere realne uvidi hrozne moc lidi :) a myslim, ze je to docela "rustova" prace (zni hrozne)

    Jobs at Geewa - We are hiring to develop and publish new online games
    http://corporate.geewa.com/job-openings/
    VIRTUALVOID
    VIRTUALVOID --- ---
    VIRTUALVOID: je to hezkej kram :/
    DARKIE
    DARKIE --- ---
    Pouzivate niekto Vuforia QCAR ? obcas mi vobec nenastartuje videopozadie, a podozrievam z toho priamo tu ich kniznicu (zrejme sa nevratia data z ich servera... alebo co..)
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    VIRTUALVOID: Ja na to uz narazil. InetlliJ IDEA pouzivame pro vyvoj v flexu. Je to nebe a dudy oproti nastrojum od Adobe postavenych nad Eclipse. I kdyz to ma taky svoje mouchy (par neprijemnejch bugu, ktery JetBrains "neumi reprodukovat").
    VIRTUALVOID
    VIRTUALVOID --- ---
    IntelliJ IDEA 10: free IDE for Android development | JetBrains IntelliJ IDEA Blog
    http://blogs.jetbrains.com/idea/2010/10/intellij-idea-10-free-ide-for-android-development/

    o tomto sa vie? :) pripadne ako dlho a preco mi to nikto nepovedal? :D
    HASH
    HASH --- ---
    DRIZDIK: v luxusnejsi vinotece je na zdi custom mapa byvaleho rakouska uherska se spoustou malych kreseb vazanych k jednotlivym oblastem. Je to zvetseny pomerne dost detailni vektor, takze .ai k tomu je.

    Namirim na ten obraz telefon, kamerou najedu na nejakou cast a chtel bych, aby se mi u ni zobrazil popisek, co ta kresba znazornuje.

    Takze augmented reality ve svem nejjednodussim havu a ve 2D :)
    DRIZDIK
    DRIZDIK --- ---
    HASH: nejsem si uplně jist jak to myslíš, ale případně by mě to zajímalo .. pošta
    HASH
    HASH --- ---
    Nevite o aplikaci, do ktere bych nahral pomalovanou zed s popiskama a pri zobrazeni by to prostrednictvym kamery a AR ukazovalo na jednotlivych obrazcich jejich popisky

    je to tady pripadne nekdo schopny naprgat?
    SIRLOON
    SIRLOON --- ---
    PETRVODAK: jooo kdyby to byl designer... :)
    OMNISLASH
    OMNISLASH --- ---
    JOHNY_G: dle slovicka "zapaleny"? :-D
    JOHNY_G
    JOHNY_G --- ---
    Fuj to jsem se lekl. Ten název inzerátu vypadá, jako by měl dělat za procenta :-)). Ale vnitřek dobrej.
    PETRVODAK
    PETRVODAK --- ---
    Ahoj, hledáme Zapáleného programátora her:
    [ OFFERING WORKNABÍZÍM PRÁCI: Zapálený programátor her / Praha ]

    Veškeré dotazy, prosím, přes email info@about-fun.com
    JOHNY_G
    JOHNY_G --- ---
    TENCOKACISTROMY: Jako který? Jestli něco stahuješ ze serveru, tak to pochopitelně nastavuješ setTextem. Lokalizaci a další věci pak řeší server nebo vlastní slovníky. Ale programuj si to jak chceš. Jen bys měl vědět, že to děláš blbě, a nikdo nebude chtít s tvým kódem jakkoli pracovat, kdybys to chtěl dělat opensourcově nebo komerčně :-).
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    VIRTUALVOID: Tomu rozumim, jde mi o nejaky dynamicky data, ktery nenactes z resources.
    VIRTUALVOID
    VIRTUALVOID --- ---
    TENCOKACISTROMY: v xml to davam zo 'string/...' a v kode R.string.blabla ..
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    TENCOKACISTROMY: Jeste k ty lokalizaci - jestlize to je pro xml tak ultimatni argument. Jak to pak resite v jiny nez UI vrstve?
    H_U_N_T_E_R
    H_U_N_T_E_R --- ---
    H_U_N_T_E_R: a zapomněl jsem dodat, že pro opravdu velkou aplikaci stejně musíte mít několik branchů, protože android je zprasenej jako win mobile a specifika platforem jednotlivých výrobců začínají být neúnosný.
    H_U_N_T_E_R
    H_U_N_T_E_R --- ---
    TOMDOTCOM: hlavně tady nikdo neřekl, že je to určený pro složitý aplikace. Na to je imho lepší xml. Tenhle způsob je ale ideální např. pro jendoduchý pop-up okna.


    TENCOKACISTROMY: refactoring jde i v xml, ale chce to něco lepšího, než AIDA (desktop), takže chápu, že pro tebe nepoužitelný.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    TOMDOTCOM: Ale vzdyt ten vyber je celkem jasnej.
    Tak misto dvou (tri, ctyri, ...) XML souboru napisu dve (tri, ctyri, ...) metody/tridy (jak se mi zachce) v java souboru.

    A pritom si muzu uzivat vyhod psanyho kodu (refactoring, staticka analyza kodu, atd...).
    Nedejboze kdyz v layoutu budu mit vic vlastnich view, to se pak v xml upisu :).

    Aby nedoslo k mylce, ja netvrdim ze to XML je spatne. Me ale proste nevyhovuje tenhle zpusob vyvoje, kdy mam ty tridy rozhazeny na ruznych mistech. Opravdu spatne se mi v tom orientuje (upozornuju, ze vsechno vyvijim na tabletu v AIDE) a ten XML zapis mi prijde fakt ukecanej (a vicemene bez autocomplete a dalsich vychytavek). Kdybych je mohl mit aspon ve stejnym adresari jako ty java soubory a mit je nejak inteligentne pojmenovany ... ale ono neee :P.
    TOMDOTCOM
    TOMDOTCOM --- ---
    TENCOKACISTROMY: rozdil tam samozrejme je, presne v tom co (nekorektne ;) pise JOHNY_G - a to ten, ze framework za tebe vybere xml podle jazyku, rozliseni, landscape/portrait a buhvi ceho vseho.
    Pokud budes psat komplikovanejsi aplikaci jejiz layout by mel tohle vsechno zohlednit, tak bude xml podstatne jednodussi.
    Pokud budes psat layoutove jednoduchou, nebo hodne dynamickou aplikaci tak se na xml layouty muzes vys.. a lepsi bude napsat to v kodu
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    JOHNY_G: Chapu, ze to nekomu nemusi bejt pohodlny, ale argument "jsi v pici" proste neni velidni.

    Mezi kody:
    <button widht="wrap_content" a height="wrap_content" text="@string/ok" />
    // a
    ui.newButton().setFullWrapLayout().setText(R.string.ok);
    

    proste neni ve vysledku rozdil.
    Muzes do toho pridavat vsechny ty vychytavky, ktery ti ten XML zapis ulehcuje. Ale nakonec to je stejne delegace par volani patricnejm objektum. Koukal jsem se na ty zdrojaky k tomu XML inflateru a fakt to neni zadna veda.
    JOHNY_G
    JOHNY_G --- ---
    TENCOKACISTROMY: Tohle je ale fakt děs a hrůza :-). Když budeš chtít verzi pro tablety, jsi v píči. Když budeš chtít jiný layout pro landscape, jsi v píči. Když budeš chtít lepší podporu malých či naopak velkých displejů, jsi v píči. Když budeš chtít lokalizovat... No na ty další faktory už přijdeš sám :-).
    Kliknutím sem můžete změnit nastavení reklam