What Are The Drone Anti-jamming Systems Technology?
Android booting sequece and setup and debugging
1.
2.
3. Activity, Services and Broadcast Receivers Activities – The entry class into Android application, responsible for loading the first screen and take user inputs -onCreate() -onDestroy(); -onPause(); -onStart(); Services – The class used to create programs that run in background, and have no UI Broadcast receiver – The android component responsible to receive responses from system wide processes and send the event notification to the registered processes
4. Views View – Responsible for the UI in the application. A view is put on a layout and then as per programming directives a layout is laid
5.
6.
7.
8. SQLite Database Android provides full support for SQLite databases. Any databases you create will be accessible by name to any class in the application, but not outside the application. To create a new SQLite database is to create a subclass of SQLiteOpenHelper and override the onCreate() method, in which you can execute a SQLite command to create tables in the database. getWritableDatabase() and getReadableDatabase() To write and read from database, their return type is SQLiteDatabase class that provides methods for database operations . SQLiteDatabase query() methods – to execute queries, these methods takes various parameters, for various quires. Cursor It’s the return type of any SQLite query and the mechanism with which you can navigate results from a database query and read rows and columns .
9.
10. Android App Widgets App Widgets are miniature application views that can be embedded in other applications (such as the Home screen) and receive periodic updates. AppWidgetProviderInfo object Describes the metadata for an App Widget. AppWidgetProvider class implementation Defines the basic methods that allow you to programmatically interface with the App Widget, based on broadcast events. onUpdate() onDeleted(Context, int[]) onEnabled(Context) onReceive(Context, Intent) View class to draw the widget layout
11. Multimedia content Multimedia playback in Android is handled by the MediaPlayer class. You can play media stored in application resources, local files, Content Providers, or streamed from a network URL create(appContext, R.raw.my_audio); setDataSource("/sdcard/test2.3gp"); prepare(); For playing Video, we have to use a VideoView to act a surface to display the video MediaRecorder class and associated methods are used for recording video Using Intents Actions we can use camera and audio recording features
12.
13.
14. Android Booting Sequence Stages In Booting of Android OS from power on Stage 1 : Power on and boot ROM code execution Stage 2 : The boot loader loading Stage 3 : Starting of Linux kernel Stage 4 : The init process Stage 5 : Zygote and Dalvik Stage 6 : The system server initiation
15.
16.
17.
18.
19.
20. Android Booting Sequence Stage 6 The system server initiation The system server is the first java component to run in the system. It will start all the Android services such as telephony manager and bluetooth. Start up of each service is currently written directly into the run method of the system server. source can be found in the file frameworks/base/services/java/com/android/server/SystemServer.java in the open source project. Once the System Server is up and running and the system boot has completed there is a standard broadcast action called ACTION_BOOT_COMPLETED. To start your own service, register an alarm or otherwise make your application perform some action after boot you should register to receive this broadcast intent .
21.
22.
23. 3. Now in the work with tab, click on Add button, and then follow the instructions given in the ADT(Android Development Tool) installation link - The ADT URL is - follow the instructions in the installation, and then you must see the following screen. Then click on next, and then let the installation finish.
24. 4 . Once the IDE has restarted, go to Window -> Preferences. Then click on the "Android" tab on the screen coming on the left hand side
25. Then, again go to Windows -> Android Device and AVD manager, then click on Available packages tab, in the list coming on the left hand side of the screen, in the main window, a list of currently available Android version and other extensions for development of Samsung Galaxy Tab device application development will be shown
26. Set up AVD An Android Virtual Device (AVD) is an emulator configuration that lets you model an actual device by defining hardware and software options to be emulated by the Android Emulator
27.
28.
29.
30. Debugging Android applications The main components that comprise a typical Android debugging environment are: adb adb acts as a middleman between a device and your development system. It provides various device management capabilities, including moving and syncing files to the emulator, running a UNIX shell on the device or emulator, and providing a general means to communicate with connected emulators and devices. Dalvik Debug Monitor Server DDMS is a graphical program that communicates with your devices through adb. DDMS can capture screenshots, gather thread and stack information, spoof incoming calls and SMS messages, and has many other features. Device or Android Virtual Device Your application must run in a device or in an AVD so that it can be debugged. An adb device daemon runs on the device or emulator and provides a means for the adb host daemon to communicate with the device or emulator.
31.
32. Emulator 1, console: 5554 Emulator 1, adb: 5555 Emulator 2, console: 5556 Emulator 2, adb: 5557 ... Install Application on ADB - adb install <path_to_apk> Port forwarding - You can use the forward command to set up arbitrary port forwarding adb forward tcp:6100 tcp:7100 adb forward tcp:6100 local:logd File transfer across system and ADB - You can use the adb commands pull and push to copy files to and from an emulator/device instance's data file. adb pull <remote> <local> adb push <local> <remote>
33. Dalvik Debug Monitor Server : DDMS Android ships with a debugging tool called the Dalvik Debug Monitor Server (DDMS), which provides port-forwarding services, screen capture on the device, thread and heap information on the device, logcat, process, and radio state information, incoming call and SMS spoofing, location data spoofing, and more. Running DDMS DDMS is integrated into Eclipse and is also shipped in the tools/ directory of the SDK. DDMS works with both the emulator and a connected device. If both are connected and running simultaneously, DDMS defaults to the emulator. From Eclipse: Click Window > Open Perspective > Other... > DDMS . From the command line: Type ddms (or ./ddms on Mac/Linux) from the tools/ directory.
34.
35.
36.
37.
38.
39. Examining thread information The Threads tab in DDMS shows you the currently running threads for a selected process. In the Devices tab, select the process that you want to examine the threads for. Click the Update Threads button. In the Threads tab, you can view the thread information for the selected process.
40.
41.
42. Changing network state, speed, and latency Voice - unregistered, home, roaming, searching, denied Data - unregistered, home, roaming, searching, denied Speed - Full, GSM, HSCSD, GPRS, EDGE, UMTS, HSDPA Latency - GPRS, EDGE, UMTS Spoofing calls or SMS text messages Voice - Enter a number in the Incoming number field and click Call to send a simulated call to the emulator or phone. Click the Hang up button to terminate the call. SMS - Enter a number in the Incoming number field and a message in the Message : field and click the Send button to send the message. Setting the location of the phone Manual - set the location by manually specifying decimal or sexagesimal longitude and latitude values. GPX - GPS eXchange file KML - Keyhole Markup Language file
43. References http://www.developer.android.com What is Android? Android Developers Debugging Managing Virtual Devices Android Debug Bridge App Widgets Data Storage Content Providers Bluetooth Activity ActivityManager Service SharedPreferences Geocoder LocationManager WifiManager SmsManager android.telephony Topics from Android developer website