Design and Development of An Android-based File Transfer Tool(3)
In China, along with the standardization of enterprise resource management and expansion of enterprise scale, computer resource management in enterprises shall get rid of reliance on hardware or internet, and proceed towards internal network resources management.
Now pigeon mail, Japanese software, is prevailing abroad. It is a small LAN file transfer tool with fast speed and a wide range of applications. Though this software has been upgraded several times, I think there is still improvement to make, such as in its management function.
There is also a large amount of instant messaging software arising and developing, but not a single one is perfect for users. For example, implanted commercial advertisements cause annoyance to users; some software is designed with redundant functions and lead to wastes in space and resources; some software is not functional without internet server; some is highly charged. Some software can realize LAN transmission but with only simple functions. Considering all these shortages, we need to develop a free, green version of LAN file transfer tool with adequate function but no commercial advertisements. And also in this tool, we plan to apply P2Pj technology to replace transmission dependence on the server.
1.3 Android software platform
Android OS is Google 's new mobile Internet services for next-generation core of the intelligent terminal open source platform , which itself is a set of software stacks (Software Stack), constitute the framework of specific stack layers shown in Figure 1 . Among them, the standard library includes packaged Android core libraries and the Java language API basic library ; Dalvik virtual machine is improved Google Java virtual machine is register-based rather than the traditional stack -based virtual machine , it also improved memory usage optimization of resources and support for multiple virtual machines characteristics of each program under the Android system has a runtime instance of the Dalvik virtual machine ; application framework layer , encapsulates the Android application developers need to use the API, providing developers with reusable components ; application layer is the surface layer of the Android system , responsible for visual interaction between the user and the mobile phone , the Android OS integrated stacks of concrete constitute the framework for all of the core Android applications and developers to develop applications. Seen from Figure 1 , although the surface is an application written in the Java language , but when it comes to the local library or the kernel layer , JNI technology will be used to call a local program , it will be compiled into NDK application.
Install the Android software development platform supports three major operating systems : Windows, Mac OS and Linux. I chose Linux system , because under Linux can be more convenient to use compiler tools , such as NDK [4]. Install Android development platform , the first to download the Android SDK in the official website , this development kit contains a variety of essential debug commands and applications API; then download a newer version of Eclipse, and give it to install Android ADT plugin development ; Because Eclipse is used to write and compile Java code , so the Linux system must be installed Java environment ; then the official website to download NDK tools ; finally configure the Linux environment variable to complete the setup the development environment.
2 Theory Basis
An Android platform based file transfer tool needs to be developed to support upload and download of multi-protocol files. Then users can transfer files by verifying and logining servers.
2.1 Key Technology
Network address plays a significant role in cyber data communication, for address identification helps send data correctly to target computers. TCP/IP protocol uses IP address as computer identification with each computer a unique IP address. However, to precisely connect with programs, a unique IP address is not adequate, for often more than one program is running in one computer. In this situation, a program address identification is needed. TCP/IP protocol provides port as running application program identification. Therefore, IP address and port address comprise an effective network address in TCP/IP protocol.