SlideShare a Scribd company logo
1 of 34
Android
    Model View Controller, Observer,
      liste, adaptoare si reciclare
                        Vlad PETRE

                 vlad@vladpetre.com
            http://twitter.com/vladpetre88
          http://facebook.com/vladpetre88
      http://www.linkedin.com/in/vladpetre88


1       Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Model View Controller (I)
    • Architectural Pattern
    • Separa
       – Interfata grafica
       – Programul in sine
       – Stocarea datelor
    • Avantaje
       – Programare pe componente
       – Usor de intretinut
    • Dezavantaje
       – Poate fi lent

2                        Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Model View Controller (II)




3       Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Model View Controller (III)




    • Linie continua – asociere directa
    • Linie intrerupta – asociere indirecta (ex: Observer)
4                  Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Model View Controller (IV)




5       Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Observer (I)




6   Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Observer (II)
    • Design Pattern
    • Separa
      – Obiectul observat
      – Observator
    • Avantaje
      – Programare pe componente
      – Usor de intretinut
      – Schema generalizata
    • Dezavantaje
      – Poate fi lent

7                       Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Observer – Exemplu (I)




            Abonarea la Gmail
8     Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Observer – Exemplu (II)




                    Notificarea
9     Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
ListActivity
     • Activitate specializata pentru o
       lista
     • Poate contine si alte componente
     • ID-ul listei:
       – android:id=“@android:id/list”
     • Metode speciale:
       – onListItemClick(…)
       – setListAdapter(…)

10                  Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Adaptor




11   Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
ListView
     • Container vertical
     • Optimizat pentru miscare
     • Implicit, avem componente
       identice pe fiecare rand
     • Rolul adaptorului:
       – Genereaza aceste componente
     • Evenimente:
       – setOnItemClickListener(…)
       – setOnItemLongClickListener(…)


12                    Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Adaptor
     • Poate fi predefinit:
       – ArrayAdapter
     • Sau customizat de programator:
       – Prin implementarea ListAdapter
       – Extinderea BaseAdapter




13                  Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Varianta statica cu ArrayAdapter (I)




14           Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Varianta statica cu ArrayAdapter (II)




15            Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Varianta dinamica cu ArrayAdapter (I)




16            Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Varianta dinamica cu ArrayAdapter (II)
17   Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Concluzii implementare cu
                      ArrayAdapter
     • ListView
       – Contine o lista
       – android:id=“@android:id/list”
     • Elementele listei
       – android.R.layout.simple_list_item_1
     • Static
       – Putem utiliza String[]
     • Dinamic
       – Putem utiliza ArrayList<String>
18                   Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Sa incercam ceva mai complex 



19         Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Liste cu elemente complexe
     • Elementele sunt componente de tip container, ce
       pot contine:
       – TextView
       – ImageView
       –…
     • Adaptor custom-made
       – Prin implementarea ListAdapter
       – Extinderea BaseAapter


20                   Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Extinderea BaseAdapter (I)
     • public View getView
          (int position, View convertView, ViewGroup list);

     • public int getCount ();

     • public Object getItem(int position) ;

     • public long getItemId(int position);


21                    Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
BaseAdapter (II)
                                                              Extinderea
22   Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Extinderea BaseAdapter (III)




23        Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Extinderea BaseAdapter (IV)
24   Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
BaseAdapter (V)
                                                              Extinderea
25   Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
BaseAdapter (VI)
                                                               Extinderea
26   Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Reciclare
     • Reutilizarea Obiectelor
     • Evitarea crearii de obiecte
       – new is bad for memory!
     • Utilizam
       – buffere




27                  Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Optimizare (I)




28   Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Optimizare (II)




29   Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Optimizare (III)




30   Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Tag-uri (pentru View)
     • public void setTag(Object tag);
     • public Object getTag();




31                  Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Eficient folosind Tag
32   Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Referinte
     • http://pdm.ipworkshop.ro
     • http://en.wikipedia.org/wiki/Model%E2%80%93view%E2
     • http://developer.android.com/guide/tutorials/views/hel




33                 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
Întrebări?


34   Scoala de Vara IP Workshop 2011 – Calimanesti Valcea

More Related Content

Viewers also liked

[Curs Android] C10 - Threaduri & Servicii (IPW 2011)
[Curs Android] C10 - Threaduri & Servicii (IPW 2011)[Curs Android] C10 - Threaduri & Servicii (IPW 2011)
[Curs Android] C10 - Threaduri & Servicii (IPW 2011)Vlad Petre
 
Voicenger - Software Architecture Document
Voicenger - Software Architecture DocumentVoicenger - Software Architecture Document
Voicenger - Software Architecture DocumentVlad Petre
 
[Curs Android] C02 - Aplicatii (IPW 2011)
[Curs Android] C02 - Aplicatii (IPW 2011)[Curs Android] C02 - Aplicatii (IPW 2011)
[Curs Android] C02 - Aplicatii (IPW 2011)Vlad Petre
 
5 Clienti de Mail pentru Android
5 Clienti de Mail pentru Android5 Clienti de Mail pentru Android
5 Clienti de Mail pentru AndroidZooku Solutions
 
Flux de training in Talent Management
Flux de training in Talent ManagementFlux de training in Talent Management
Flux de training in Talent ManagementTotalSoft
 
Tell Me More
Tell Me MoreTell Me More
Tell Me Moreroxic
 
Sistem de operare android - Madalina Olariu
Sistem de operare android - Madalina OlariuSistem de operare android - Madalina Olariu
Sistem de operare android - Madalina Olariumadalinaolariu
 
Prezentare generala a platformei Android
Prezentare generala a platformei AndroidPrezentare generala a platformei Android
Prezentare generala a platformei Androidmsg4alex
 
[Curs Android] C01 - Introducere (IPW 2011)
[Curs Android] C01 - Introducere (IPW 2011)[Curs Android] C01 - Introducere (IPW 2011)
[Curs Android] C01 - Introducere (IPW 2011)Vlad Petre
 
Android N is now Android Nougat
Android N is now Android NougatAndroid N is now Android Nougat
Android N is now Android NougatAppinventiv
 
Code Division Multiple Access- CDMA
Code Division Multiple Access- CDMA Code Division Multiple Access- CDMA
Code Division Multiple Access- CDMA ViVek Patel
 
Android seminar-presentation
Android seminar-presentationAndroid seminar-presentation
Android seminar-presentationconnectshilpa
 
Presentation on Android operating system
Presentation on Android operating systemPresentation on Android operating system
Presentation on Android operating systemSalma Begum
 

Viewers also liked (17)

[Curs Android] C10 - Threaduri & Servicii (IPW 2011)
[Curs Android] C10 - Threaduri & Servicii (IPW 2011)[Curs Android] C10 - Threaduri & Servicii (IPW 2011)
[Curs Android] C10 - Threaduri & Servicii (IPW 2011)
 
Voicenger - Software Architecture Document
Voicenger - Software Architecture DocumentVoicenger - Software Architecture Document
Voicenger - Software Architecture Document
 
[Curs Android] C02 - Aplicatii (IPW 2011)
[Curs Android] C02 - Aplicatii (IPW 2011)[Curs Android] C02 - Aplicatii (IPW 2011)
[Curs Android] C02 - Aplicatii (IPW 2011)
 
5 Clienti de Mail pentru Android
5 Clienti de Mail pentru Android5 Clienti de Mail pentru Android
5 Clienti de Mail pentru Android
 
Flux de training in Talent Management
Flux de training in Talent ManagementFlux de training in Talent Management
Flux de training in Talent Management
 
Tell Me More
Tell Me MoreTell Me More
Tell Me More
 
Sistem de operare android - Madalina Olariu
Sistem de operare android - Madalina OlariuSistem de operare android - Madalina Olariu
Sistem de operare android - Madalina Olariu
 
Android
AndroidAndroid
Android
 
Prezentare generala a platformei Android
Prezentare generala a platformei AndroidPrezentare generala a platformei Android
Prezentare generala a platformei Android
 
[Curs Android] C01 - Introducere (IPW 2011)
[Curs Android] C01 - Introducere (IPW 2011)[Curs Android] C01 - Introducere (IPW 2011)
[Curs Android] C01 - Introducere (IPW 2011)
 
Ppt on android
Ppt on androidPpt on android
Ppt on android
 
Android N is now Android Nougat
Android N is now Android NougatAndroid N is now Android Nougat
Android N is now Android Nougat
 
Code Division Multiple Access- CDMA
Code Division Multiple Access- CDMA Code Division Multiple Access- CDMA
Code Division Multiple Access- CDMA
 
Android seminar-presentation
Android seminar-presentationAndroid seminar-presentation
Android seminar-presentation
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Presentation on Android operating system
Presentation on Android operating systemPresentation on Android operating system
Presentation on Android operating system
 
Android ppt
Android ppt Android ppt
Android ppt
 

Similar to [Curs Android] C07 - Liste (IPW 2011)

[Curs Android] C05 - Emulator (IPW 2011)
[Curs Android] C05 - Emulator (IPW 2011)[Curs Android] C05 - Emulator (IPW 2011)
[Curs Android] C05 - Emulator (IPW 2011)Vlad Petre
 
Arquillian 소개
Arquillian 소개Arquillian 소개
Arquillian 소개성욱 전
 
테스트 어디까지 해봤니? Arquillian을 이용한 Real Object 테스트
테스트 어디까지 해봤니? Arquillian을 이용한 Real Object 테스트테스트 어디까지 해봤니? Arquillian을 이용한 Real Object 테스트
테스트 어디까지 해봤니? Arquillian을 이용한 Real Object 테스트jbugkorea
 
Karuta 1.0 : ready for innovative use
Karuta 1.0 : ready for innovative useKaruta 1.0 : ready for innovative use
Karuta 1.0 : ready for innovative useRaynauld Jacques
 
Saluki - do it like a user
Saluki - do it like a userSaluki - do it like a user
Saluki - do it like a userIcinga
 
How to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based MicroservicesHow to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based MicroservicesPavel Bucek
 

Similar to [Curs Android] C07 - Liste (IPW 2011) (6)

[Curs Android] C05 - Emulator (IPW 2011)
[Curs Android] C05 - Emulator (IPW 2011)[Curs Android] C05 - Emulator (IPW 2011)
[Curs Android] C05 - Emulator (IPW 2011)
 
Arquillian 소개
Arquillian 소개Arquillian 소개
Arquillian 소개
 
테스트 어디까지 해봤니? Arquillian을 이용한 Real Object 테스트
테스트 어디까지 해봤니? Arquillian을 이용한 Real Object 테스트테스트 어디까지 해봤니? Arquillian을 이용한 Real Object 테스트
테스트 어디까지 해봤니? Arquillian을 이용한 Real Object 테스트
 
Karuta 1.0 : ready for innovative use
Karuta 1.0 : ready for innovative useKaruta 1.0 : ready for innovative use
Karuta 1.0 : ready for innovative use
 
Saluki - do it like a user
Saluki - do it like a userSaluki - do it like a user
Saluki - do it like a user
 
How to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based MicroservicesHow to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based Microservices
 

More from Vlad Petre

SSD pe intelesul tuturor!
SSD pe intelesul tuturor!SSD pe intelesul tuturor!
SSD pe intelesul tuturor!Vlad Petre
 
The 3-D Secure Protocol
The 3-D Secure ProtocolThe 3-D Secure Protocol
The 3-D Secure ProtocolVlad Petre
 
Founding a startup. DOs and DON'Ts.
Founding a startup. DOs and DON'Ts.Founding a startup. DOs and DON'Ts.
Founding a startup. DOs and DON'Ts.Vlad Petre
 
[Curs Android] C08 - Intents & Broadcast Receivers (IPW 2011)
[Curs Android] C08 - Intents & Broadcast Receivers (IPW 2011)[Curs Android] C08 - Intents & Broadcast Receivers (IPW 2011)
[Curs Android] C08 - Intents & Broadcast Receivers (IPW 2011)Vlad Petre
 
[Curs Android] C06 - DDMS & LogCat (IPW 2011)
[Curs Android] C06 - DDMS & LogCat (IPW 2011)[Curs Android] C06 - DDMS & LogCat (IPW 2011)
[Curs Android] C06 - DDMS & LogCat (IPW 2011)Vlad Petre
 
[Curs Android] C04 - User Interface (IPW 2011)
[Curs Android] C04 - User Interface (IPW 2011)[Curs Android] C04 - User Interface (IPW 2011)
[Curs Android] C04 - User Interface (IPW 2011)Vlad Petre
 
Diploma Project: Friloc - Retea de socializare bazata pe geolocalizare
Diploma Project: Friloc - Retea de socializare bazata pe geolocalizareDiploma Project: Friloc - Retea de socializare bazata pe geolocalizare
Diploma Project: Friloc - Retea de socializare bazata pe geolocalizareVlad Petre
 
Diploma Presentation: Friloc - Retea de socializare bazata pe geolocalizare
Diploma Presentation: Friloc - Retea de socializare bazata pe geolocalizareDiploma Presentation: Friloc - Retea de socializare bazata pe geolocalizare
Diploma Presentation: Friloc - Retea de socializare bazata pe geolocalizareVlad Petre
 
Eneco: Energy Economy
Eneco: Energy EconomyEneco: Energy Economy
Eneco: Energy EconomyVlad Petre
 
Kickstart Project: Android+Restlet+Hibernate+PostgreSQL
Kickstart Project: Android+Restlet+Hibernate+PostgreSQLKickstart Project: Android+Restlet+Hibernate+PostgreSQL
Kickstart Project: Android+Restlet+Hibernate+PostgreSQLVlad Petre
 
Critica asupra lucrarii Proactive Computing
Critica asupra lucrarii Proactive ComputingCritica asupra lucrarii Proactive Computing
Critica asupra lucrarii Proactive ComputingVlad Petre
 
Critica asupra Singularitatii lui Vernor Vinge
Critica asupra Singularitatii lui Vernor VingeCritica asupra Singularitatii lui Vernor Vinge
Critica asupra Singularitatii lui Vernor VingeVlad Petre
 
Aplicare Filtre pe Imagini
Aplicare Filtre pe ImaginiAplicare Filtre pe Imagini
Aplicare Filtre pe ImaginiVlad Petre
 
Voicenger - Software Design Document
Voicenger - Software Design DocumentVoicenger - Software Design Document
Voicenger - Software Design DocumentVlad Petre
 
Voicenger - System Requirements Specification
Voicenger - System Requirements SpecificationVoicenger - System Requirements Specification
Voicenger - System Requirements SpecificationVlad Petre
 
Optimizarea metodelor de sortare SIMD pentru GPU-uri NVIDIA
Optimizarea metodelor de sortare SIMD pentru GPU-uri NVIDIAOptimizarea metodelor de sortare SIMD pentru GPU-uri NVIDIA
Optimizarea metodelor de sortare SIMD pentru GPU-uri NVIDIAVlad Petre
 
The Bluetooth Protocol
The Bluetooth ProtocolThe Bluetooth Protocol
The Bluetooth ProtocolVlad Petre
 
[SCS]Friloc: Retea de socializare bazata pe geolocalizare in timp real
[SCS]Friloc: Retea de socializare bazata pe geolocalizare in timp real[SCS]Friloc: Retea de socializare bazata pe geolocalizare in timp real
[SCS]Friloc: Retea de socializare bazata pe geolocalizare in timp realVlad Petre
 
[IPW]FriLoc - Your Friends Locations
[IPW]FriLoc - Your Friends Locations[IPW]FriLoc - Your Friends Locations
[IPW]FriLoc - Your Friends LocationsVlad Petre
 

More from Vlad Petre (20)

SSD pe intelesul tuturor!
SSD pe intelesul tuturor!SSD pe intelesul tuturor!
SSD pe intelesul tuturor!
 
The 3-D Secure Protocol
The 3-D Secure ProtocolThe 3-D Secure Protocol
The 3-D Secure Protocol
 
Founding a startup. DOs and DON'Ts.
Founding a startup. DOs and DON'Ts.Founding a startup. DOs and DON'Ts.
Founding a startup. DOs and DON'Ts.
 
[Curs Android] C08 - Intents & Broadcast Receivers (IPW 2011)
[Curs Android] C08 - Intents & Broadcast Receivers (IPW 2011)[Curs Android] C08 - Intents & Broadcast Receivers (IPW 2011)
[Curs Android] C08 - Intents & Broadcast Receivers (IPW 2011)
 
[Curs Android] C06 - DDMS & LogCat (IPW 2011)
[Curs Android] C06 - DDMS & LogCat (IPW 2011)[Curs Android] C06 - DDMS & LogCat (IPW 2011)
[Curs Android] C06 - DDMS & LogCat (IPW 2011)
 
[Curs Android] C04 - User Interface (IPW 2011)
[Curs Android] C04 - User Interface (IPW 2011)[Curs Android] C04 - User Interface (IPW 2011)
[Curs Android] C04 - User Interface (IPW 2011)
 
Diploma Project: Friloc - Retea de socializare bazata pe geolocalizare
Diploma Project: Friloc - Retea de socializare bazata pe geolocalizareDiploma Project: Friloc - Retea de socializare bazata pe geolocalizare
Diploma Project: Friloc - Retea de socializare bazata pe geolocalizare
 
Diploma Presentation: Friloc - Retea de socializare bazata pe geolocalizare
Diploma Presentation: Friloc - Retea de socializare bazata pe geolocalizareDiploma Presentation: Friloc - Retea de socializare bazata pe geolocalizare
Diploma Presentation: Friloc - Retea de socializare bazata pe geolocalizare
 
Eneco: Energy Economy
Eneco: Energy EconomyEneco: Energy Economy
Eneco: Energy Economy
 
Kickstart Project: Android+Restlet+Hibernate+PostgreSQL
Kickstart Project: Android+Restlet+Hibernate+PostgreSQLKickstart Project: Android+Restlet+Hibernate+PostgreSQL
Kickstart Project: Android+Restlet+Hibernate+PostgreSQL
 
Critica asupra lucrarii Proactive Computing
Critica asupra lucrarii Proactive ComputingCritica asupra lucrarii Proactive Computing
Critica asupra lucrarii Proactive Computing
 
Critica asupra Singularitatii lui Vernor Vinge
Critica asupra Singularitatii lui Vernor VingeCritica asupra Singularitatii lui Vernor Vinge
Critica asupra Singularitatii lui Vernor Vinge
 
Aplicare Filtre pe Imagini
Aplicare Filtre pe ImaginiAplicare Filtre pe Imagini
Aplicare Filtre pe Imagini
 
Voicenger - Software Design Document
Voicenger - Software Design DocumentVoicenger - Software Design Document
Voicenger - Software Design Document
 
Voicenger - System Requirements Specification
Voicenger - System Requirements SpecificationVoicenger - System Requirements Specification
Voicenger - System Requirements Specification
 
Optimizarea metodelor de sortare SIMD pentru GPU-uri NVIDIA
Optimizarea metodelor de sortare SIMD pentru GPU-uri NVIDIAOptimizarea metodelor de sortare SIMD pentru GPU-uri NVIDIA
Optimizarea metodelor de sortare SIMD pentru GPU-uri NVIDIA
 
Nvidia Tegra
Nvidia TegraNvidia Tegra
Nvidia Tegra
 
The Bluetooth Protocol
The Bluetooth ProtocolThe Bluetooth Protocol
The Bluetooth Protocol
 
[SCS]Friloc: Retea de socializare bazata pe geolocalizare in timp real
[SCS]Friloc: Retea de socializare bazata pe geolocalizare in timp real[SCS]Friloc: Retea de socializare bazata pe geolocalizare in timp real
[SCS]Friloc: Retea de socializare bazata pe geolocalizare in timp real
 
[IPW]FriLoc - Your Friends Locations
[IPW]FriLoc - Your Friends Locations[IPW]FriLoc - Your Friends Locations
[IPW]FriLoc - Your Friends Locations
 

Recently uploaded

The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024Janet Corral
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 

Recently uploaded (20)

The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 

[Curs Android] C07 - Liste (IPW 2011)

  • 1. Android Model View Controller, Observer, liste, adaptoare si reciclare Vlad PETRE vlad@vladpetre.com http://twitter.com/vladpetre88 http://facebook.com/vladpetre88 http://www.linkedin.com/in/vladpetre88 1 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 2. Model View Controller (I) • Architectural Pattern • Separa – Interfata grafica – Programul in sine – Stocarea datelor • Avantaje – Programare pe componente – Usor de intretinut • Dezavantaje – Poate fi lent 2 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 3. Model View Controller (II) 3 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 4. Model View Controller (III) • Linie continua – asociere directa • Linie intrerupta – asociere indirecta (ex: Observer) 4 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 5. Model View Controller (IV) 5 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 6. Observer (I) 6 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 7. Observer (II) • Design Pattern • Separa – Obiectul observat – Observator • Avantaje – Programare pe componente – Usor de intretinut – Schema generalizata • Dezavantaje – Poate fi lent 7 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 8. Observer – Exemplu (I) Abonarea la Gmail 8 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 9. Observer – Exemplu (II) Notificarea 9 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 10. ListActivity • Activitate specializata pentru o lista • Poate contine si alte componente • ID-ul listei: – android:id=“@android:id/list” • Metode speciale: – onListItemClick(…) – setListAdapter(…) 10 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 11. Adaptor 11 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 12. ListView • Container vertical • Optimizat pentru miscare • Implicit, avem componente identice pe fiecare rand • Rolul adaptorului: – Genereaza aceste componente • Evenimente: – setOnItemClickListener(…) – setOnItemLongClickListener(…) 12 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 13. Adaptor • Poate fi predefinit: – ArrayAdapter • Sau customizat de programator: – Prin implementarea ListAdapter – Extinderea BaseAdapter 13 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 14. Varianta statica cu ArrayAdapter (I) 14 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 15. Varianta statica cu ArrayAdapter (II) 15 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 16. Varianta dinamica cu ArrayAdapter (I) 16 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 17. Varianta dinamica cu ArrayAdapter (II) 17 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 18. Concluzii implementare cu ArrayAdapter • ListView – Contine o lista – android:id=“@android:id/list” • Elementele listei – android.R.layout.simple_list_item_1 • Static – Putem utiliza String[] • Dinamic – Putem utiliza ArrayList<String> 18 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 19. Sa incercam ceva mai complex  19 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 20. Liste cu elemente complexe • Elementele sunt componente de tip container, ce pot contine: – TextView – ImageView –… • Adaptor custom-made – Prin implementarea ListAdapter – Extinderea BaseAapter 20 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 21. Extinderea BaseAdapter (I) • public View getView (int position, View convertView, ViewGroup list); • public int getCount (); • public Object getItem(int position) ; • public long getItemId(int position); 21 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 22. BaseAdapter (II) Extinderea 22 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 23. Extinderea BaseAdapter (III) 23 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 24. Extinderea BaseAdapter (IV) 24 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 25. BaseAdapter (V) Extinderea 25 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 26. BaseAdapter (VI) Extinderea 26 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 27. Reciclare • Reutilizarea Obiectelor • Evitarea crearii de obiecte – new is bad for memory! • Utilizam – buffere 27 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 28. Optimizare (I) 28 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 29. Optimizare (II) 29 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 30. Optimizare (III) 30 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 31. Tag-uri (pentru View) • public void setTag(Object tag); • public Object getTag(); 31 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 32. Eficient folosind Tag 32 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 33. Referinte • http://pdm.ipworkshop.ro • http://en.wikipedia.org/wiki/Model%E2%80%93view%E2 • http://developer.android.com/guide/tutorials/views/hel 33 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea
  • 34. Întrebări? 34 Scoala de Vara IP Workshop 2011 – Calimanesti Valcea