Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:dydaktyka:aml:lab7_2016 [2016/12/01 12:22]
esimon [Rozbudowa projektu bazowego]
pl:dydaktyka:aml:lab7_2016 [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
 ====== Aplikacje hybrydowe ====== ====== Aplikacje hybrydowe ======
  
-====== Wstęp ​-- WebView ====== +====== Wstęp - WebView ====== 
 +  - Stwórz aplikację android, która będzie skąłdała sie z jednej aktywności,​ zawierajacej tylko WebView. 
 +  - Umieść w swojej aplikacji poniższy zegar: http://​alexanderbrevig.github.io/​jsBinClock/​ 
 +  - Odszukaj jaką grę w HTML5/​Javascript i spróbują ją osadzić w całości w Webview. Jak poradzić sobie z CSS i innymi zewnętrznymi zasobami?
 ====== Sencha Touch ====== ====== Sencha Touch ======
 ===== Powtórka ===== ===== Powtórka =====
  
  
-  - Zapoznaj się z [[http://docs.sencha.com/​touch/​2.3.0/touch-build/examples/​kitchensink/​index.html/|kuchennym zlewem]]¹ [[http://​www.sencha.com/​products/​touch/​|Senchy]].+  - Zapoznaj się z [[https://cdn.sencha.com/​touch/​sencha-touch-2.3.1a/built-examples/​kitchensink/​index.html|kuchennym zlewem]]¹ [[http://​www.sencha.com/​products/​touch/​|Senchy]].
   - Zauważ, że aplikacja nie działa na IceWeasel (Firefox/​Thunderbird/​Seamonkey/​Waterfox/​dowolne [żywioł]+[zwierzę]). Wyciągnij wniosek na temat rynku przeglądarek w środowiskach mobilnych.   - Zauważ, że aplikacja nie działa na IceWeasel (Firefox/​Thunderbird/​Seamonkey/​Waterfox/​dowolne [żywioł]+[zwierzę]). Wyciągnij wniosek na temat rynku przeglądarek w środowiskach mobilnych.
   - Otwórz aplikację na różnych urządzeniach/​w różnych przeglądarkach bazujących na WebKit; czy dostrzegasz różnice w interfejsie? ​   - Otwórz aplikację na różnych urządzeniach/​w różnych przeglądarkach bazujących na WebKit; czy dostrzegasz różnice w interfejsie? ​
Linia 22: Linia 24:
 ==== Stworzenie bazowego projektu ==== ==== Stworzenie bazowego projektu ====
  
-  - Pobrać i zainstalować Seancha Touch 2 i Cmd +  - Pobrać i zainstalować Seancha Touch 2 i Cmd[[http://​www.sencha.com/​products/​touch/​download/​sencha-touch-2.3.1/​3015|Download]] 
-       ​* ​[[http://​www.sencha.com/​products/​touch/​download/​sencha-touch-2.3.1/​3015|Download]] +  - Zaintalować Node.js: ​<​code>​sudo apt-get install nodejs npm nodejs-legacy</​code>​
-       * <​code>​sudo apt-get install nodejs npm nodejs-legacy</​code>​+
   - Następnie, korzystając z linii komend, wygenerować przykładową aplikację: <​code>​sencha -sdk <​ścieżka_do_sdk_senchy>​ generate app <​nazwa_aplikacji>​ <​katalog_aplikacji></​code>​   - Następnie, korzystając z linii komend, wygenerować przykładową aplikację: <​code>​sencha -sdk <​ścieżka_do_sdk_senchy>​ generate app <​nazwa_aplikacji>​ <​katalog_aplikacji></​code>​
   - Przejrzyj wygenerowaną zawartość i porównaj z [[http://​docs.sencha.com/​cmd/​guides/​touch/​cmd_app.html#​touch-_-cmd_app_-_understanding_your_application_s_structure|opisem zawartości aplikacji]]   - Przejrzyj wygenerowaną zawartość i porównaj z [[http://​docs.sencha.com/​cmd/​guides/​touch/​cmd_app.html#​touch-_-cmd_app_-_understanding_your_application_s_structure|opisem zawartości aplikacji]]
Linia 104: Linia 105:
   - Dodaj obsługę tego Stora w zakładce news. Oraz dodaj opcję "​wyżwietl wiecej po kliknięciu na tytuł"​. definicja zakładki powinna wyglądać tak:<​code>​   - Dodaj obsługę tego Stora w zakładce news. Oraz dodaj opcję "​wyżwietl wiecej po kliknięciu na tytuł"​. definicja zakładki powinna wyglądać tak:<​code>​
 title: '​News',​ title: '​News',​
-                ​iconCls: '​info',​ +iconCls: '​info',​ 
-                xtype: '​nestedlist',​ +xtype: '​nestedlist',​ 
-                store: '​NewsStore',​ +store: '​NewsStore',​ 
-                title: '​News',​ +title: '​News',​ 
-                displayField:​ '​title',​+displayField:​ '​title',​
  
-       +detailCard: { 
 +    xtype: '​panel',​ 
 +    scrollable: true, 
 +    styleHtmlContent:​ true 
 +},
  
-                detailCard: { +listeners: { 
-                    xtype: 'panel', +        ​itemtapfunction(nestedList,​ list, index, element, post) { 
-                    ​scrollabletrue+            this.getDetailCard().setHtml( 
-                    ​styleHtmlContent: true +                [post.get('description'),"</​b>​See more: <a href=",​post.get('​url'​),">​Geist</​a>"​].join(""​));​ 
-                },+
 +</​code>​ 
 +  - Zamiast statycznych danych, umieszczonych w polu **data** w NewsStore, użyj Proxy umozliwiającego wybranie danych z newsapi. zmodyfikuj Store, by wyglądał jak poniżej:<​code>​ 
 +Ext.define('​HelloWorld.store.NewsStore'​{ 
 +extend: '​Ext.data.TreeStore',​  
 +requires: ['​Ext.data.proxy.Ajax'​],​ 
 +id: '​NewsStore',​ 
 +config:{ 
 +            autoLoad: true
 +            fields: ['​author',​ '​title',​ '​description',​ '​url',​ { 
 +                ​name: '​leaf',​ 
 +                defaultValue:​ true 
 +            ​}],
  
-                 ​listeners: { +            root: { 
-                        ​itemtapfunction(nestedList,​ list, indexelement, post) { +                leaffalse 
-                            ​this.getDetailCard().setHtml( +            }
-                                ​[post.get('description'),"</​b>​See more<a href=",post.get('url'),">​TechCrunch</​a>"​].join(""​));​+ 
 +            ​proxy:​ { 
 +                type: 'ajax', 
 +                url'​https://​newsapi.org/​v1/​articles?​source=techcrunch&​apiKey=abe648b1a17a46df9609bd7778ba7522'​, 
 +                reader: { 
 +                    type: 'json', 
 +                    rootProperty:​ '​articles'​
                 }                 }
 +            }
 +        }
 +});
 </​code>​ </​code>​
 +  - Zbuduj aplikację natywną z wykorzystaniem Cordovy
 +    - Może okazać sie, że URL-e się nie ładują (zobacz do log-cata)
 +    - Być może konieczne będzie zainstalowanie pluginu <​code>​cordova plugin add cordova-plugin-whitelist</​code>​
 +  - Zbuduj aplikację natywną z wykorzystaniem Phonegapa.
 +    - Załóż konto na https://​build.phonegap.com
 +    - W katalogu root swojej aplikacji dodaj plik local.properties z zawartością jak poniżej:<​code>​phonegap.username=user@domain
 +phonegap.password=p@ssw0rd</​code>​ UWAGA :!: W pliku ''​app.json''​ wygenerowanym przez senche pola nazywają sie ''​phonegap.remote.user''​ i ''​phonegap.remote.password''​ co jest mylace :!: Ma być jak w przykładzie powyżej.
  
  
   ​   ​
pl/dydaktyka/aml/lab7_2016.1480591337.txt.gz · ostatnio zmienione: 2019/06/27 15:51 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0