RhinoCan
Well-Known Member
I was wondering if anyone could suggest an appropriate design for the app I want to build for work.
The main purpose of the app is to record sales of items. A form of some sort will be presented and the user will input an order number, an item type, and the number of units sold. The item type will be selected from a spinner. The order number and number of items sold will be typed by the user. The latter two items need a bit of basic editing to make sure they are reasonable: the order number must be exactly 6 digits and the number of items sold must be an integer greater than or equal to 1. The user needs to be notified of any errors and allowed to correct them (as many times as it takes to get things right). Once the form has been completed and edited, the user needs to do something, like press a submit button to notify the program that the data is ready to be stored. The data is being stored in an SQLite table, at least for the moment. (I plan to store it in a MySQL database once I figure out how to get the data there from Android.) After the data has been stored, the order number and number of items sold should be blanked out.
The user may wish to see accumulated sales occasionally so will need to be able to ask the app to see previous sales. I'm inclined to see this information as a second intent which the user can access by pushing a button, perhaps in the top bar. But I'm not certain on this at all. Perhaps viewing sales should be an entirely separate app.
There's one other bit of functionality that I think the users will need occasionally: fixing bad data retroactively. Suppose the user enters some valid but inaccurate data. For instance, the user says the item type is X but it is really B. When I was writing Java for desktop apps, I would tend to put things like the sale data in a JTable and then click on the row that showed the bad data and specifically in the cell that contained the bad data, then edited the row and pressed Enter to keep the change or Escape to abort the change. It's not at all clear to me if I can do anything analogous in Android. If there is something similar, that's probably the way I'd choose to go unless this is considered bad design; in that case, I'd like to know what is considered the right way to edit incorrect data that was inadvertently put on the database. Perhaps I need a form similar to the one that records the sales where I search for the bad record (somehow) then edit the bad record in a form that shows only that record?
I've been looking around at various Android design/best practices sites for the past couple of hours but I haven't yet seen anything that addresses the kinds of questions I am asking here. If there *is* a site that talks about these issues and suggests the best approaches to them, please point me to them so I don't need to bother everyone here
The main purpose of the app is to record sales of items. A form of some sort will be presented and the user will input an order number, an item type, and the number of units sold. The item type will be selected from a spinner. The order number and number of items sold will be typed by the user. The latter two items need a bit of basic editing to make sure they are reasonable: the order number must be exactly 6 digits and the number of items sold must be an integer greater than or equal to 1. The user needs to be notified of any errors and allowed to correct them (as many times as it takes to get things right). Once the form has been completed and edited, the user needs to do something, like press a submit button to notify the program that the data is ready to be stored. The data is being stored in an SQLite table, at least for the moment. (I plan to store it in a MySQL database once I figure out how to get the data there from Android.) After the data has been stored, the order number and number of items sold should be blanked out.
The user may wish to see accumulated sales occasionally so will need to be able to ask the app to see previous sales. I'm inclined to see this information as a second intent which the user can access by pushing a button, perhaps in the top bar. But I'm not certain on this at all. Perhaps viewing sales should be an entirely separate app.
There's one other bit of functionality that I think the users will need occasionally: fixing bad data retroactively. Suppose the user enters some valid but inaccurate data. For instance, the user says the item type is X but it is really B. When I was writing Java for desktop apps, I would tend to put things like the sale data in a JTable and then click on the row that showed the bad data and specifically in the cell that contained the bad data, then edited the row and pressed Enter to keep the change or Escape to abort the change. It's not at all clear to me if I can do anything analogous in Android. If there is something similar, that's probably the way I'd choose to go unless this is considered bad design; in that case, I'd like to know what is considered the right way to edit incorrect data that was inadvertently put on the database. Perhaps I need a form similar to the one that records the sales where I search for the bad record (somehow) then edit the bad record in a form that shows only that record?
I've been looking around at various Android design/best practices sites for the past couple of hours but I haven't yet seen anything that addresses the kinds of questions I am asking here. If there *is* a site that talks about these issues and suggests the best approaches to them, please point me to them so I don't need to bother everyone here
