Implementation of a line chart component (custom field and screen) for BlackBerry mobile devices using BlackBerry APIs (v4.3 and up).
Implementation of line chart as a custom field and a screen to embed line chart field implementing commands for zooming into the data and moving the chart up and down. Field should receive array/Vector of line data (each line being a Hashmap with keys being String labels) or Dates to displayed as labels on x-Achsis and values being y-Achsis labels. Max and min y-achsis values should be learned from data, alternatively be specified as parameters to the field. zoom in and out of data possible (adjusting to subset of values being displayed on x-achsis and y-achsis), BlackBerry Trackball to scroll up/left and down/right used to move window of data being displayed. y-axis always displays one label per 50 px of vertical height, labels calculated from values being displayed x-axis always displays one label per 50 px of horizontal width of the fields, labels calcualted from the nearest value (in case of labels) or Date (in case of Date). Field needs to be configurable with respect to - array/Vector for line strength/thickness of each chart line (default: 1px) - array/Vector for line color of each chart line (default: black) - color, font and size of x-axis labels (default: standard font, 10px, black) - color, font and size of y-axis labels (default: black, standard font, 10px) - color and size of x-axis (default darkgrey) - color and size of y-axis (default darkgrey) - background color of all of field (alternatively background bitmap) - background color of chart area (alternatively background bitmap) - display x-axis (boolean) - display y-axis (boolean) - vertical height of field (default [url removed, login to view]()) - horizontal width of field (default [url removed, login to view]()) - display of anxilary vertical / horizontal lines (default: false) - color and size of anxilary vertical / horizontal lines (default darkgrey) - color and size of anxilary vertical / horizontal lines (default darkgrey) - vertical label ofset (default: 50px) - horizontal label ofset (default: 50px) Screen to embed component should derive from BlackBerry MainScreen - should be configurable to = display mean / max / min value on top of chart components as a legend = Character used to zoom in and out (default TrackBall up/down) = Character used to move data window left/right (defautl Trackball left/right) = Title (provided by MainScreen) = Display of legend (boolean) = Array of Strings as legend of each chart line) = Position of legend (TOP, RIGHT, LEFT, BOTTOM) of Chart component each legend position small square with color of line followed by label) = Percentage of screen width/height used for legend Implemention of unit test for ChartField and ChartScreen using Google Stock Chart Data for a day, month, year, as well as fictive labeled values Additional requireemnts: Testing of the Chart Component using all available BlackBerry Simulators (freely available from RIM site). Project set for Eclipse containing source code and test app and project metadata.