Location: Home > blog > App Q & A

How to develop an Android App?

time:2022-08-05 19:25:31 source:www.dl25.com browse:356

How to develop an Android App

foreword
This blog introduces how to develop an Android App from the perspective of development. It should be noted that this article only provides an idea of ​​​​how to develop an app, and will not introduce many technical details. From the overall situation, we will grasp how to conceive an app. The development of the app gives you an understanding of when you develop an app independently. If there is something wrong, please leave a message for discussion.

development environment
The development language used in the Android application layer is Java, which naturally requires the use of the Java runtime environment. Whether you are in a Windows system or a Mac system, you need to install the JDK and configure its environment variables. You don’t know what an environment variable is or how to Yes, please use your Baidu skills to learn by yourself.
How to develop an Android App
development tools
Development tools, Android has used Eclipse for a long time due to historical reasons. When we want to develop Android applications, we need to install the plug-in ADT developed by Google for it. Eclipse is an excellent and professional open source software, but it is only Using it to develop Android is a bit tasteless. If Eclipse is not optimized, it will be very stuck. Google really does not want to rely on others, so it has developed Android Studio, which is currently very popular among developers. , Now the 2.0 preview version is also out, everyone hurry up and go.

emulator
The emulator that comes with Android has been widely criticized. It is too slow and too slow. Compared with other IOS emulators, it is so smooth. n times the simulator Genymotion, you can go to the next personal version, which is enough for your usual development and testing. The best way is to use the real machine to test, after all, the real machine is the real environment.

Android Core Foundation
The front is the preparatory work. If you want to develop an Android app, you must at least master the core basic knowledge of Android. For children who are just learning Android, it is impossible to eat a fat man in one bite. You must lay a solid foundation before you can complete independence. It is not difficult to get started with Android development. After learning the basics, you only have the basic conditions for developing apps. There is still a long way to go to make an excellent app. Experience is accumulated through continuous practice. Find a systematic course Go and study hard, there are many resources for online education, such as dl25, there are many good learning resources, you can study by yourself.

product development process
  1. The normal process of developing an app on the Internet is roughly as follows:
  2. - Product planning, product direction
  3. - Requirement research, output requirement document
  4. - Requirements review, revision requirements document
  5. - The product dog drawing app wireframe is provided to the chicken shooter
  6. - The chicken shooter designs the visual draft based on the wireframe
  7. - The programmer builds the UI framework based on the visual draft
  8. - Programmers develop functions according to requirements documents
  9. - Tester writes test cases and tests according to schedule
  10. - Programmers fix bugs reported in regression testing and submit beta versions
  11. - Pass the test, submit it to the operation and release it to the channel online
The above is a summary of the author's experience, there may be inaccuracies, but roughly the whole process is like this, our developers need to be clear about their role in the entire product and their job responsibilities.

Quick build project 
Android is more difficult than I imagined, but there are so many things to learn at the beginning, and it will be more at a loss if you can't digest it all at once. The author wrote this blog to help you organize your development ideas.

Quickly building a project is also a skill, and this skill can only be perfected by yourself. When you first start developing, there will be a lot of repetitive work. If you don’t have the awareness to improve your development efficiency, maybe your Ten years of work experience means that only one year of experience took ten years.

Then how to do it, the author provides a summary of himself, for reference only: 
  1. - Define development specifications
  2. - Build UI framework
  3. - Optional development library integration (or self-made wheels)
  4. - Third-party service integration (subject to availability)

Customized development specification
A project is generally not developed independently by only one person. Even if it is developed independently, we should set the development specification. What kind of specification will there be?
- Naming conventions
- Code specification
- Code management specification

Naming conventions
Naming conventions include:
- Project naming
- package naming
- Class naming, member variable naming
- resource file naming
Every product we make will have a corresponding name. Don’t use Chinese to name it. It’s better to use English that can express Chinese meaning. For example, dl25 client can be named with dl25Client. When we create a project, we can use it as Application name.

code specification
The code specification depends on the language. Java is used to develop android. Naturally, it should be coded according to the Java coding specification. For example, the naming method should be camel case, and the coding should also conform to the Android development specification. For example, the UI thread does not do any time-consuming. Operations such as network requests and database operations need to be done in sub-threads, and only UI refresh is done in the UI thread. Specifications like these can be determined according to the problems encountered in the project, and the benefits of the specification It is to reduce the probability of stepping on pits and improve the quality of development.

code management
For a product that is frequently updated and iterative, it is impossible to keep the same from beginning to end. At this time, we need to manage the code branch. It is best to use the git code repository to manage the code. As a qualified developer, you don't even need to say git. I also used svn's children's shoes to quickly give up it and put it into the arms of git. Its benefits are self-evident, and you can experience it yourself.

Build UI framework
Building a UI framework requires us to design according to the navigation mode of the product. The commonly used navigation modes in the market are as follows:

If there is no accident, our app must be one of the navigation modes. Generally, when the wireframe comes out, we should know what the app to be developed will look like. The developer does not need to wait for the visual draft and materials to come out before starting the construction. A shelf, we will make adjustments after the visual draft comes out.

Select development library
Generally, the libraries involved in our app include:
- UI framework (such as PullToRefresh, Slidingmenu)
- Network request library (such as okhtttp, AndroidAsyncHttp, Volley)
- Data manipulation library (such as GreenDao, Ormlite)
- Image caching framework (like Universal-Imageloader)
- Data parsing library (such as Gson)

The reason for choosing these libraries is definitely to avoid repeated wheel building. From the perspective of development efficiency, choosing an excellent open source library can greatly shorten the development cycle and improve development efficiency, but from the perspective of personal improvement, we may I have become a programmer who can only use API. If you want to improve, building wheels or analyzing these excellent source codes is a good way.

Third-party service integration
When we develop an app, we will definitely encounter some requirements, such as push requirements, automatic upgrades, data statistics, social sharing, user feedback, etc. However, for a start-up enterprise or individual developer, all have to do it yourself If you are developing, wouldn't it be exhausting? There are certain technical thresholds like push, and you can set up a company if you can do it well, so choosing some third-party services is an optional move. If you say that you will grow bigger in the future, and you are afraid that it will be difficult to control it with a third party, then you can do it yourself.

The above things are enough to develop an app. Whether it can be used after development requires a reliable test, whether there is a crash, the operation flow is not smooth, and users will use it if the experience is good. Here we do not judge the quality of an app from the product point of view. What programmers need to consider is to make our app better from the code level and performance level.

cloud test
After we complete the development, we need to test the basic functional requirements for the test engineers. Their traditional method is to do regression testing according to the test cases written in advance, and then feedback the tested bugs to the engineers, and the engineers will fix the bugs, but This is really unreliable. Sometimes we care too much about functions and ignore some more important things, that is, experience. The most direct feeling to users is whether your app is amazing or smooth enough, users may simply It doesn't matter how awesome you are doing this function. Therefore, we should test from a non-functional direction. Our purpose is to make users feel comfortable, rather than adding some messy functions. How to measure some non-functional factors? Here we will mention the "cloud test", because there are too many devices now. If the company wants to buy a bunch of devices for testing, how much will it cost, and the devices are updated too fast , you simply can't keep up, so there is a cloud test, which is a cloud test platform service, providing a large number of mainstream models, we can directly save the cost of purchasing equipment, and can also get a complete test report .

Let's talk about its benefits :
  1. - Terminal cloud, saving the cost of purchasing and leasing test equipment
  2. - High efficiency saves the cost and time of testers
  3. - Including compatibility test, performance test, function test
  4. - Simple operation and detailed test report generation
With so many benefits, when you're short of test engineers, it's hard to justify not trying.

Package online: 
After the previous development and testing steps are all OK, you are not far from realizing the complete development of an app. A normal Internet company will give the signed and packaged apk to the operation, hand it over to them to write the copy, and upload it to the application. The channel, let the channel give us the first launch and promotion. If we are individual developers, we have to do this work ourselves.

Summarize: 
This blog has sorted out the entire app development process for you. It doesn't talk about too much technical stuff, but understanding the app process is very beneficial for you to grasp the product. Although we are only a small developer, if you have Pursuit, when it is your turn to be in charge of a product, you should know every aspect of development well, because if there is a problem, you also know how to solve it in a targeted manner. Although the author is only a small developer, he is also willing to think. Many times, he is not willing to be led by others, because our life should be in our own hands.

Android software recommendation: GB whatsapp apk download