Android_app project development step summary, android_app Project Development
After several android enterprise application projects, I summarized the basic development steps of the project and hoped to communicate with each other.
I. Application plan:
※Determine the function.
※Required interface and page Jump process.
※The source and format of required data and data.
※Whether server support is required.
※Whether local database support is required.
※Whether special permissions are required.
※Whether background services are required.
Ii. Architecture Design:
※Stratified.
※Network connection.
※Data processing-xml and domain.
※Encapsulate Activity.
Three Interface Design:
※The main interface is determined.
※Module interface, list, view, and edit interface.
※Menu, button, dialog box, and prompt information.
※The overall UI color.
Iv. Data Operations and storage:
※Data source.
※Data type.
※Storage method.
5. Business implementation:
※Client service parsing.
Page 6:
※Jump between pages.
※Menus, buttons, and events.
Keywords: android app, android develop, android summary
Start the project from 2010.04 to complete the main functional modules, and share the development process and precautions.
Development Environment: ubuntu7.10 + eclipse 3.5 + sdk
The following is a summary of development:
1.Precautions for source code-based SDK and SDK upgrade
O familiar with how to internationalize Resources
O familiar with how it supports different screen sizes and different density Media
O familiar with its main APIs, the supported lowest version, and the unsupported APIs
O understand its layered architecture
O upgrade SDK
§ Ensure that the platform supports the relevant cglib version (or upgrade ubuntu)
§ The simple row-tolerant method is remove ~ /. Remove related android versions and upgrade them.
§ Some Resources (for example, % s in strings) may need to be modified to adapt to the new version.
§ Old versions such as 2.01 may not be included in the new sdk
2.Emulator & Mobile
O use adb shell to operate emulator
§ Http://www.javaeye.com/topic/260042.
O push/pull file in emulator
§ Eclipse-> window-> Show View-> File Explorer-> pull a file from the device (or push a file onto the device)
O use real mobile to connect to usb for Direct Testing (mobile must be set to develop/debug mode)
§ Http://dimitar.me/how-to-connect-your-android-phone-to-ubuntu-to-do-developmenttestinginstallations-or-tethering/.
O emulator is more suitable for performance testing and functional testing. Mobile is more suitable for touch operation testing and real display testing of some views.
O screen size adaptation test (enumeration large, medium, small), screen direction (enumeration horizontal, vertical screen), Task Switching Test
O memory adaptation can only be tested on mobile
3.System Configuration items
O SharedPreferences storage location and how to manually modify it on emulator
§ Locate the storage location: \ data \ your package dir \ shared_prefs \ your xml files
§ Follow the above pull/push the file
O SQLite (sqlite3)
§ Default storage location: \ data \ your package dir \ databases \ your database name
§ Perform part of database design and data update based on the above adb shell operation emulator
§ Design version update and upgrade
O Other File I/O
§ File Reading under assert
§ File permissions and read/write
O interpret AndroidManifest. xml
§ Application/process ID
§ Activity started at the beginning
§ Form of the activity stack (specify taskAffinity & launchMode = "singleTask"), and switch to a new activity in the form of intent. setFlags (Intent. FLAG_ACTIVITY_REORDER_TO_FRONT)
§ Required permissions
§ Minimum supported versions
4.Development Based on View, Context, and Manager
O system View & Layout (Layout is also a View)
§ Use the View itself to separate Layout items.
§ Common View & Layout: ListView, ScrollView, RelativeLayout, TableLayout
Design commonly used style/theme Drawable: http://idunnolol.com/android/drawables.html
§ Common image operations
§ SetColorFilter)
§ Tailoring
O custom View & Layout
§Java code
1.Public classTouchListViewExtendsListView {PublicTouchListView (Context context, AttributeSet attrs,IntDefStyle ){
2 .}}
§Java code
1.Public classToolbarExtendsLinearLayout {
2.PublicToolbar (FinalContext context ){
3.Super(Context );
4 .}
5.
6.PublicToolbar (FinalContext con, AttributeSet attrs ){
7 .}
8.
9 .}
O Application, Activity, Service, View, Intent
§ Relationship between Application, Activity, Service and Context
§ Relationship between View and Context
§ Use Application for global variables between activities, services, and views (better than Singleton)
§ Use Intent in factory Mode
§ Do activity jump
§ SendBroadcast (real-time data exchange with Thread + BroadcastReceiver)
O WindowManager and PackageManager
2.Network I/O
O java.net
O android.net
O org. apache. http
§ If he is not allowed to operate in AsyncTask, his TimeOut setting must be less than 5 seconds (ANR wait time)
§ Java.net.UnknownHostException
If it occurs in emulator, refer to: http://www.javaeye.com/topic/521023
§ If mobile occurs, it is generally a DNS resolution problem. You can either retry the operation or change the Host domain name to public ip address.
3.Plotting part
O drawing on The View
§ Add borders only to the original View
§Java code
1. @ Override
2.Protected voidDispatchDraw (Canvas canvas ){}
§ Custom View
§Java code
1. @ Override
2.Protected voidOnDraw (Canvas canvas ){
O drawing on Bitmap
§Java code
1. Bitmap result = Bitmap. createBitmap (48, 48, Config. ARGB_8888 );
2. Canvas canvas =NewCanvas (result );
3 ....
4. canvas. drawBitmap (result, rect, rect, paint );
2.Animation
O Frame Animation
§ Control the detection speed at 25 FPS to make it smoother
O gradient Animation
§ Translation
§ Scaling
§ Rotation
§ Transparency
3.ANR
O build a Handler for messages and message loop Processing
O use AsyncTask
4.Exception & UncaughtException
O use UncaughtExceptionHandler
5.Introduce third-party jar and share data with other apps
O add third-party jar files by adding user library
O Content Provider usage
6.Performance Optimization/Optimization
O View-based optimization http://dl.javaeye.com/topics/download/774b3e9e-1c48-33bd-bc9d-5c27da998181
O Code-level Specification
O Method-level optimization
§ Method Profiling (root permission is required if the usb is used to connect to mobile)
O GC Analysis
§ Use Allocation Tracker
Download Source Document
Software Project Development Summary Report example
Software Project Summary Report
1 Introduction
1.1 Writing Purpose
The development of the business management system of XXX company has been basically completed. Write this Project Development Summary report so that we can better implement customized project development in future project development; let me have more data in future project development to standardize our development process and improve our development efficiency, so as to create more company benefits.
1.2 Background
Project name: XXX Business Management System
Software name: XXX Business System
Customer: XXX
User: XXX employee
1.3 references
Project development documentation:
1. Data Model for software development: PDM_OperationSystem20070831.pdm
2. Database Development document: xxxbusiness Management System Data Warehouse design description 2.0.doc
3. for software business process, see xxxbusiness management system process description .doc.
4. For Software User Manual, see xxxbusiness Management System Function Description 3.0.doc.
5. For software business process, see xxxbusiness management system process description .doc.
6. Third-party controls used in the software: ComponentArt Web. UI 2006.1252 for asp.net2.0.rar
7. Security Ikey driver used in the software: Ikey Driver.rar
The above references are the latest documents as of January 31. If any, modify the reference document name.
2 Development Evaluation
2.1 Production Efficiency Evaluation
1. It takes nearly one year to develop the system.
2. The development process is repetitive.
3. A thorough understanding of the customer's needs.
Based on the above, the development efficiency of this project is not very high. On the contrary, there is a waste of time.
2.2 product function evaluation
Through the joint efforts and cooperation of our colleagues, the XXX business management system has successfully completed the customer's business needs. After observing the customer's use process, the project was successfully developed, but there are still some problems, which are caused by many reasons. For example, there are also some problems in the early stage of System database design defects, some code building defects, and understanding of customer requirements, this requires a certain amount of time for us to maintain the new problems and existing debug issues raised during the customer's use. In general, the function development of this system is still a relatively successful case.
2.3 Summary of technical methods
Technologies and tools used in this project:
1. Use Code Generator: use the code generator [dynamic soft. Net Code Automatic Generator], which greatly improves the coding efficiency and accelerates the development process of the project. In future projects, we should try to use similar tools to complete the work in the shortest time. In future project development, we 'd better develop code generation tools suitable for ourselves to save development cycles and development costs to a greater extent.
2. Use the database modeling tool and PowerDesigner tool to establish the system database model, so that programmers can understand the business flow well and master the architecture ideas of the system architects to better meet the functional requirements of customers. In future project development, we need to build a database model in the early stage of the system and optimize system functions to the maximum extent.
3. Use third-party controls: This system uses the ComponentArt Web. UI third-party controls. This control meets the customer's needs for the software interface to a great extent, and thus facilitates software operations. Only a third-party widget, ComponentArt Web. UI, is used in this project. In the future project development process, third-party widgets will be used. In this way, it is a good way for both the aesthetics, friendliness, and operability of the software interface and the system development efficiency. However, when using third-party controls, you must be careful when selecting some common third-party controls on the network.
4. Use a custom control: This system uses a custom control (GhdGridView), which can be used to unify the system... the remaining full text>
Android project development experience, project source code and personal work experience
Decrypted version of android development... Sent...