[Android Application Development]-(10) An application development transformation process

Source: Internet
Author: User

Because it is personal developers rather than team development. In the development process, there are no such specifications, no detailed requirements, no interface design, and no detailed development plan. Therefore, the development of an application must undergo many transformations to become perfect or provide a better user experience. Of course, this is all based on your own development skills and technical levels.

The following are some interesting and helpless things I encountered during the development process. It's a joke or a resonance. I am also willing to record it to show it.

I am alone in our company's application development, and the rest are underlying driver development and hardware development personnel. One day, I received a development requirement from my superiors. I simply described the functions to be implemented, which were used for testing during product batch production. No requirement document or uidesign. In this case, I will use documents to list the functions to be implemented, and then attach a simple development plan. For the uidesign, we just use PS or Word to draw a general design. It is a little difficult for me to do without art cells. Haha ......

According to simple requirements, I listed various functions and found 18 small functions: Wifi, BT, 3G, MIC, Camera, etc., because they are used for testing applications, so try to be automatic and the interface should be as clear as possible. For example, if the test passes, it is green and if the test fails, it is red. The following code can be developed:

First, the project name is a bit interesting. I have roughly changed several of them. The project name is Test. After the first basic version is created, it seems uncomfortable. Test? How can this problem be solved? Because TestXXX is usually used to test the Demo of some small functions. Now, I made up my mind to change it to Testing. At that time, I was satisfied. After the second optimized version was developed, I felt uncomfortable. There was always a shadow in Test. Then change to FunctionTest. This is good. Functional testing can express the meaning of this application. Now, the new feature has been put aside for the time being. I need to add another copy-and-install application. I can't create a new project named CopyAndInstall. Again, I felt uncomfortable, but the project was put down as soon as it was urgent. Finally, these two simple applications will be used in product batch production. In fact, there are still concerns about the two programs, but there is no way to put it on your head, and the last thing is still happening?

We all know that, whether exported or in China, customers must strictly control the UI they have confirmed. There is no CopyAndInstall application on the UI that the customer has confirmed. This was seen by the sampling staff and explained for half a day. The final conclusion is that the software must be upgraded.

First, let's talk about the principle of my CopyAndInstall hiding. CopyAndInstall will automatically detect a configuration file. The configuration file contains commands to perform operations, such as copy or install, and CopyAndroidInstall will read and execute operations, after the operation is completed, it is automatically hidden. However, in the Production Pipeline, the tester forgets this step due to negligence. This is the tragedy.

In my anger, I merged the two applications and renamed them FactoryUse. By default, they were hidden and displayed in special ways. After the operation, they were automatically uninstalled! This is good. The whole world is quiet. Of course, I have to declare that none of the implementation solutions have their advantages and disadvantages. It is most important to take an optimal solution between them.

Again, the application UI has undergone several major changes. For the 18 functions, there are certainly no 18 buttons on the interface, and click events one by one to implement the functions. So what should we do? The first version is implemented using ListView, and it still feels good. A page is displayed, and the test status of each item is displayed during the test. However, it is difficult to use this program when it comes to testers. For example, if I only want to test several of the functions, do I have to test them all? I only want to test one item but need to select it first, and then click the test button to enter the test? Why is one more operation required? Can't click to execute ?...... & * (¥ # % #!! Still calm down, programmers. So I added the all-selected invert selection function to the tester again. "This line is so narrow that it is always not in progress." We all know that 18 functions are displayed in ListView. If you are a mobile phone, you can imagine how narrow the line is. The same is true for MID, where all the testers are girls. Wandering in the "slit" is also not quite uncomfortable, especially the countless "seams" are even more horrible. Now, the page width cannot be displayed. So I was forced to change the interface to the GridView display. So far, we have effectively stopped "Gossip "! Www.2cto.com

This is the development of software, or the need for continuous human progress, and needs to be constantly optimized and changed. I'm eager for this kind of change, but I am afraid of it because it can help me constantly improve myself, both in design and pure technology. The problems brought about are also obvious, there are endless demands and endless versions. At this time, the Project Manager will say, if you have done it well, it will be okay! Is that true? You know

The above situation is actually not the case. A project is designed at one stage. Therefore, we must go through such a process from scratch to perfection. Looking back, it is actually an important process. In order to avoid complicated iterations in this process, it is necessary to go through careful preparation, thorough investigation, and mining of the meaning of deep-level applications at the beginning of the design.

Based on these situations, the following principles are listed in the project development process.

1. Get a good name for the project. Why should artists change their names? Isn't there a sense of art because it's nice to hear, remember, and remember? Of course, I suggest it be easy to understand and reasonable.

2. Provide a nice interface for the project. Whether it is a software or a person, the most impressive or the first feeling, the first feeling is the person's face, appearance, software interface.

3. Always consider the user experience. Think out of the box. Jump out of the role of the designer and evaluate your design with the experience of multiple customers. And try a better experience

4. Use existing controls as much as possible when necessary.

5. The rest is the software engineering.

Author: tangcheng_ OK
 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.