Details zur Ausschreibung 47299

Öffentliche Ausschreibung

development of a list component backed by data collection

Gegenstand der Ausschreibung

1. Task

Goal is the development of a list component backed by data collection (e.g. list, set...).

The backing collection shall hold a new base class or interface (depending on programming language, henceforth CollectionItem) as items. All items in the collection will implement or extend the above mentioned class/interface. This will allow for items to be used more easily by the list component. Changes to the backing collection shall be
reflected in the associated list component.

A derivable adapter shall create the list component‘s entries from the data collection, programmatically. After completion of the task it should be possible to create a view with a list by following these steps:

1. Create and fill data collection with classes deriving/implementing CollectionItem.

2. Derive adapter and implement methods to create custom components (henceforth CustomItems) based upon type of CollectionItem. CustomItems will reference the associated CollectionItem and vice versa.

3. Create and configure list. Place list in another component and connect to adapter and data collection. An example must be developed to show the functionality. Simple app which will show the list with 100% width and 75% screen height (portrait mode sufficient). Backing collection as list with example elements, derived adapter and one type of CustomItem.

2. List component

The list component will be deployed in different layouts, views or components.

CustomItems may act as container and may hold other components as well (e.g. ViewGroup - Android). CustomItems need not be associated to a CollectionItem, i.e. it must be possible to add/insert CustomItems which are not associated with a CollectionItem in the backing collection.

List must be implemented with regard to performance, e.g. not visible elements (elements outside users view) shall not be processed, if not required.

CustomItems in the list need not be of same height. CustomItems may change their height at any time and list must update accordingly. Visibility of components can be changed at any time and list must update accordingly.

CustomItems are displayed top to bottom, i.e. components added first will be shown further up, components added later will be shown further down.

List is scrolled by touch, hold and move. Components in the list may also react to touch, hold and move. Therefore, mechanims must be implemented to allow for both, list and components, to be recipient of touch and other events.

When last CustomItem is completely visible, scrolling further down is not possible. The list cannot be scrolled over this point. These scrolling restrictions apply to all scrolling activities (scroll to, keep in view, scrolling by user, ...).

When first CustomItem is completely visible, scrolling further up is not possible - however, the list may be moved over this point. If this happens, the list snaps back to the first element, when the user stops touching it. The list will throw an event (only once for each time the list is scrolled further than possible).

CustomItems can be added/inserted or removed at any time. List must handle these operations thread safely. Insertion and removal must be supported by pointer to CustomItem.

Scroll-to method: list must offer methods to scroll to certain components (called by activities, tasks and similar - not by the user), i.e. bring certain components into view. It shall be possible to scroll to a component directly by giving pointer to component or to the last or first visible component in the list. Scroll restrictions still apply.



2.1 Configurable options

These options must be selectable on list creation/initialisation.

1. Sorting (on/off)

If set, added/inserted components are sorted into the list based upon a sort/compare method which each component must support. Sorting needs not to be possible for elements already in the list.

2. Alphabetical fast access (on/off)

If set, a list of characters is displayed in alphabetical order right next to the list and can be used to fast access components which titles begin with the selected character. Alphabetical list must be  implemented for latin alphabet. A mechanism to change to other types of alphabets must be implemented.

3. Keep in view (on/off)

If set, list will display last component (and predecessors), when shown. If new component is added/inserted after last component, list will scroll new component into view.

This behaviour lasts until user scrolls him/herself. If user scrolls back to last component, above mentioned behaviour will resume.

If not set, list will stay at first component, when shown. 


Annex - A Glossary

Component Graphical element which can hold other components. Examples are labels, images, textview, Checkboxes, Panels, ...

Custom component Derived or newly created user control which can use new or existing styles for drawing. It can consist of several other custom components. Comparable to User Control (C#), Views and ViewGroups (Android). 

Event Used to inform other parts (components, tasks, activities...). This may be developed as event, callback or whatever is used in general on the target system.

Art des Auftrags

Lieferauftrag & Dienstleistung

Erfüllungsort (Bundesland):

Berlin

Die Ausschreibung ist bereits beendet, weil die Angebotsfrist abgelaufen ist.
Eine Bewerbung um diesen Auftrag ist nicht mehr möglich.

Auftraggeber

20253 Hamburg

Kontaktdaten des Auftraggebers

 Freischalten
Eintragsdatum: 19.04.2018
Angebotsfrist: 05.05.2018

Ausführliche Beschreibung des Auftrags

 Freischalten
Sie müssen als Auftragnehmer eingeloggt sein um die vollständige Ausschreibung zu sehen.

Wenn Sie bereits Mitglied sind, loggen Sie sich bitte ein, um die Ausschreibung vollständig einzusehen.
Wenn Sie noch kein registriertes Mitglied sind, klicken Sie bitte auf 'Jetzt Registrieren'

Einloggen   Jetzt registrieren!   Infos & Preise

Weitere Ausschreibungen mit ähnlichen Inhalten finden Sie unter folgenden Kategorien.