Hello all,

I have a question about touch mode (probably it was already asked,
sorry if so, but I couldn't find a discussion like this). It's not
about technical issues, everything more or less is clear here, it's
more about philosophy. Hope Romain Guy will have chance to look into
this.

The simple task I'm working on is a CRUD application. I have several
entities stored in a database. Lets say users and groups. I have to
provide basic set of operations to a user: create, retrieve, update
and delete entity (CRUD).

Using usual approach I would create two forms for each entity list and
form. List displays all records from the database and has commands
(menu items, toolbar buttons or whatever else) to add, edit, delete
records. Add command displays form to let user fill-in fields and add
new record. Edit command displays form with attributes of currently
selected record. Delete command removes currently selected record from
the database. Pretty common, eh?

Android applications offer another model. We have three screens. I
call them: list, view and form. In Contacts application:
- list - is a list of contacts;
- view - is a screen with information and dial number/send sms
command;
- form - is a form for editing information about the contact.

How CRUD commands are distributed (I don't consider other commands
like dial, send SMS).

- list has only Add command in menu (and all possible commands in
context menu).
- view has Edit and Delete commands in menu,
- form is similar to the approach above.

There is one thing that confuses me here. In the Contacts application
this approach looks perfect. Usually we have contacts with a number of
phone numbers assigned, so view screen is quite functional.

But lets imagine that we need to work with an entity that has only one
attribute, e.g. 'users group' has only 'name' attribute. In this case
view screen is always almost empty, only group name is displayed in
the screen header (contact with only name filled looks very similar,
although you still have favourite flag set/unset action). Since I
don't have other actions to be performed on gorup, the only function
of this screen is to have edit and delete commands in options menu.
This seems confusing to me.

I tried to implement it in a traditional way (the approach I described
first). So I created a list screen, put 'Add', 'Edit', 'Delete'
commands into menu. I couldn't get Edit and Delete menu commands
working in touch mode, because I couldn't obtain selected item.

In case when click on a list item moves user to the form, Edit/Delete
commands are not needed in the options menu (in touch mode), entering
edit mode is implemented via click, but deletion is not possible.

The only solution I see here:
- list screen options menu has only Add command;
- click on a list item is equal to the Edit command;
- Delete command is available only from the form screen (you can Save,
Discard or Delete).

Yeah, it is Palm OS approach :) Using this approach I make my
application inconsistent with other Android applications.

With Android approach I get almost empty almost non-functional view
screen, which makes me think that I'm doing something wrong.

Any ideas on this?

Thank you in advance.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to