• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    LWEEKAndroid development
    MATHEZ
    MATHEZ --- ---
    poptavka:
    kamos hleda cloveka co by umel flashnout cinsky tablety vykoupeny z insolvence od nejmenovane ceske firmy. jedna se o vetsi pocet kusu. pokud je tu odbornik co by zvladnul podobny ukol, prosim volejte na 604 982 095, pan Kodym; do patku potrebuje podat nabidku (kterou nepoda dokud si nebude jisty ze tablety pujdou preflashovat), takze je nutne jednat velmi rychle. pan je velmi seriozni
    MAKROUSEK
    MAKROUSEK --- ---
    FRENNET: Android se programuje zhusta tak, ze davas dohromady knihovny. Treba tady mas ruzne kalendare, ktere muzes pouzit: https://github.com/wasabeef/awesome-android-ui/blob/master/pages/Calendar.md
    FRENNET
    FRENNET --- ---
    Zdravim!
    Dostala jsem napad na jednu apku(?)/kalendar s informacemi pro kazdy den. Ona ta apka(?) uz existuje, ale ne v cj a v katastrofickem stavu ( dle recenzi je to nepouzitelny shit). Tak ji chci napsat dle svych predstav. No jsem uplny novacek programovanim nepolibeny. Hledala jsem nejake navody a dopatrala se k moznostem:
    1. Napsat ji v Java (znamena ucit se za pochodu pri psani).
    2. Napsat ji v HTPA(coz mi prijde schudnejsi, trochu to znam).
    Co je lepsi?
    Dale pak: existuji nejake volne dostupne predepsane neco? V tomto pripade kalendar? Ze bych si ho pak upravila a doplnila dle sebe.
    A tohle je hnuso otazka. Da se stahnout uz hotova apka a s ni pracovat-prelozit, doplnit atd.?
    Diky
    RADDINO
    RADDINO --- ---
    REDTIME: Díky. Použil jsem nějaký generátor, tak snad se v tom nikdo nebude hrabat.
    REDTIME
    REDTIME --- ---
    RADDINO: nikdo neříká, že kvůli tomu musíš mít vlastní web, stačí je napsat (můžeš si vygooglovat sample nebo jsou i generátory) a umístit je veřejně do google docs / dropbox / jakýkoliv jiný cloud.
    RADDINO
    RADDINO --- ---
    "Aplikace obsahuje soubor APK s kódem verze 1, který požaduje následující oprávnění: android.permission.CAMERA. Pro aplikace s těmito oprávněními v souboru APK je nutné definovat zásady ochrany soukromí."

    Jak tohle řešit, pokud se jedná o malou appku, která nebude mít web? Řešili jste to někdo?
    H_U_N_T_E_R
    H_U_N_T_E_R --- ---
    RADDINO: konstanta "utf8" -> viz. přetížení o jednom parametru, co jsem poslal zde: [ H_U_N_T_E_R @ Android development ]
    RADDINO
    RADDINO --- ---
    H_U_N_T_E_R: co prosím dělá textEncoding?
    DRIZDIK
    DRIZDIK --- ---
    GIOMIKY: Pokud potřebuješ jen to tak ti stačí jakýkoliv view a odchytávat na něm touch eventy a detekovat swipe .. buď si to napsat sám, nebo implementovat nějakej guesture listener. Na tuhle událost potom vyměnit URL v jediném webview .. ale je to asi nejhorší způsob jak udělat appku :-D
    DRIZDIK
    DRIZDIK --- ---
    GIOMIKY: Tady už máš spoustu možností od obsluhování tohodle v javascriptu uvnitř stránky, přes nějaké fragmenty ve viewpageru po implementaci guesture handleru a složitějšího hraní, protože mít několik webview vedle sebe nebude zrovna hezké pro zdroje v telefonu, kor když budeš svipovat a ty webview ti budou umirat a zase se startovat
    RADDINO
    RADDINO --- ---
    H_U_N_T_E_R:
    H_U_N_T_E_R: díky, vyzkouším.
    H_U_N_T_E_R
    H_U_N_T_E_R --- ---
    H_U_N_T_E_R: jo a ještě převod stringu z UTF16 na UTF8
    public static String toEncoding(String str) throws UnsupportedEncodingException {
    return new String(str.getBytes("utf8"), "utf8");
    }
    H_U_N_T_E_R
    H_U_N_T_E_R --- ---
    RADDINO: jo, embeduju si tam ale svoje fonty:
    BaseFont bfAntigo = BaseFont.createFont("assets/fonts/antigonilight.ttf", textEncoding, BaseFont.EMBEDDED);
    Font antigo16 = new Font(bfAntigo, 15);
    ...
    PdfPCell cellCelkemCaption = new PdfPCell(new Paragraph(TextNormalizer.ToEncoding("CELKEM K ÚHRADĚ", textEncoding), antigo16));
    RADDINO
    RADDINO --- ---
    Používáte někdo iText na generování PDF z aplikace? Už jsem to nějak rozchodil, ale nejdou mi české znaky (ř,č,š..). Neřešil to někdo? Z stackoverflow jsem to napochopil. Díky
    RADDINO
    RADDINO --- ---
    YAZZMAN:
    DRIZDIK: díky, nastuduji.
    DRIZDIK
    DRIZDIK --- ---
    RADDINO: Určitě bys měl persistovat někam ty data, ať už nějaká struktura v paměti na fragmentu nebo přímo DB, pokud ti appka spadne, tak budeš schopný obnovit ten stav.
    Místo linearu bych určitě použil recyclerView, kde nebudeš strojově vytvářet imageView, ale jen zavoláš datasetChanged nad adapterem a budeš moc jednoduše handlovat itemClick
    YAZZMAN
    YAZZMAN --- ---
    RADDINO: nebude jednodussi misto generovani ImageView pouzit RecyclerView? Jakoze o hodne jednodussi?
    CZERUDLA
    CZERUDLA --- ---
    RADDINO: Ahoj. Můžeš to tam "doprasit" tak, že v onActivityResult() budeš mít i obr.setOnClickListener(new OnClicklistener() {Dialog...});
    RADDINO
    RADDINO --- ---
    RADDINO: ještě ukázka těch metod
    Imageview · GitHub
    https://gist.github.com/ankhthief/fe4035ef90ecfd422a0fd9ef8b1711b5
    RADDINO
    RADDINO --- ---
    Jdu si pro radu zkušenějších. Mám fragment, kde ukládám do DB info o zranění a chci mít také možnost přiložit fotku. Nyní řeším to, že bych rád po vyfocení fotky ty fotky zobrazoval pod tlačítkem "Take photo .." a po kliknutí na ně otevřel fotku ve větším náhledu asi v Dialogu, kde by byla možnost fotku smazat. Aktuálně to mám tak, že po kliknutí na tlačítko se spustí camera Intent. Po vyfocení fotky se v OnActivityResult kódem vytvoří ImageView do definovaného LinearLayoutu a obrázek se zobrazí. Pokud vyfotím další, další obrázek se vytvoří pod to. Řeším teď, jak udělat obrázek kliknutelný, aby se po kliku otevřel Dialog, když nevím jeho ID, jelikož ty ImageView vytvářím dynamicky. Budu rád za nějaké nakopnutí, případně nasměrování, jak podobnou situaci řešit správně. Předpokládám, že moje řešení je prasárna.

    Díky moc

    JOHNY_G
    JOHNY_G --- ---
    Ještě k těm support packages. I kdybychom zapomněli na budoucí vývoj (jak psal DATEL), tak je tu slušná pravděpodobnost, že dřív nebo později narazíš na nekompatibilitu v nějaké classe, kterou Android vůbec nepodporuje, a existuje jenom v support libkách. Typicky ViewPager :-).
    DRIZDIK
    DRIZDIK --- ---
    MR_DAN: backstack je pro tebe něco jako history, s tím že jeden fragment můžeš mít v backstacku ale víckrát tak na to pozor. Současně to co dostaneš od manageru nemusí být stejná instance já tam byla předtím. Aplikace ti může umřít a znovu se probrat a backstack se mezi tím serializuje.
    DRIZDIK
    DRIZDIK --- ---
    MR_DAN: pokud neděláš něco drahého v onCreate nebo konstruktoru, tak si toho nevšimeš, jen si přidáš práci
    MR_DAN
    MR_DAN --- ---
    hmm, koukam na to, ze FragmentManager ma jakysi back stack, ktery jednak urcite budu chtit pouzivat a jednak se da pouzit i jako cache .. fragmentManager.findFragmentByTag(String)
    MR_DAN
    MR_DAN --- ---
    hmm, support baliky jako standard, zajimavy informace mi davate a dava to smysl...

    DRIZDIK: a co nejaka kombinace - cachovani instanci a zaroven ukladani jejich stavu pro pripad, ze by je system zabil a musely se vytvaret znova? byl by ten pripadnej rozdil v performance markantni? ja vlastne poradne nevim, jak draha operace je vyrvoreni fragmentu a naloadovani jeho stavu
    DRIZDIK
    DRIZDIK --- ---
    MR_DAN: Jak říká DACAN: .. rule of thumb je používat support package.
    U druhé teda vždy používám znovuvytváření fragmentů. Pamatováním si siceusnadníš práci na jedné straně, ale jen to doložíš, protože potřebuješ, aby ti appka přežila to, že jí hodíš na pozadí a obnovíš. V tu chvíli ti fragmenty i aktivita můžou stejně umřít, tak proč dělat dvě věci ... takže to co říká YAZZMAN používám jen pro FragmentPager, kde listuju horizontálně nějaký obrazovky, ale jinak určitě zapracuj na ukládání stavu. Od toho tam ten life-cycle je a použije se i jinde.
    DACAN
    DACAN --- ---
    DATEL: pouzivame vlastne jen support libky.
    DATEL
    DATEL --- ---
    Ono je teda otázka, zda vzhledem k tomu, jak Google s každou novou API verzí zavádí nové věci, starší dává jako deprecated - obecně, nejen u těch fragmentů - není lepší používat primárně ty support verze. Ono totiž support knihovny jsou aktualizované pořád, ale originální ne. Takže oprava bugů bude podle mě lepší v support knihovně. Nebo jak se na to koukáte vy ostatní?
    MR_DAN
    MR_DAN --- ---
    jo uz to mam, ta idea kdyz delam new->fragment->blank mi automaticky vytvari ty support,v4.Fragment potomky... to samy u aktivit
    MR_DAN
    MR_DAN --- ---
    YAZZMAN: hmm, koukam ze ty ne-support classy vidim jako sdk 26, protoze to je to sdk ktere aktualne pouzivam k vyvoji - da se nejak zjistit, od ktere verze API je ktera classa? je to koukam v javadocu, ale to je jak cist egyptana Sinuheta :D
    zda se, ze se to da poznat podle toho "v4" (napr) v packagi, co?
    z tohohle mam vazne peknej bordel v kodu, protoze spousta navodu na webu pouziva ty support knihovny... musim na to vic soustredit pozornost
    Kliknutím sem můžete změnit nastavení reklam