which installs both the JDK (Java Development Kit) and JRE (Java Runtime). By default the JDK and JRE will be installed into directories C:\Program Files\Java
System searches the current directory and the directories listed in the PATH environment variable for executable programs invoked from the CMD shell. It helps programmer can compile Java code in CMD shell. - Click the "Start" button > "Control Panel" > "System" > (Vista/7 only) "Advanced system settings"
aligns all children in a single direction, vertically or horizontally. - All children of a LinearLayout are stacked one after the other, so a vertical list will only have one child per row, no matter how wide they are, and a horizontal list will only be one row high (the height of the tallest child, plus padding). A LinearLayout respects margins between children and the gravity (right, center, or left alignment) of each child.
each child uses the same amount of space on the screen, set the android:layout_height of each view to "0dp" (for a vertical layout) or the android: layout_width of each view to "0dp" (for a horizontal layout). Then set the android:layout_weight of each view to "1".
to views in a RelativeLayout include: android:layout_alignParentTop If "true", makes the top edge of this view match the top edge of the parent. android:layout_centerVertical If "true", centers this child vertically within its parent. android:layout_below Positions the top edge of this view below the view specified with a resource ID. android:layout_toRightOf Positions the left edge of this view to the right of the view specified with a resource ID. These are just a few examples. All layout attributes are documented at RelativeLayout.LayoutParams.
rows and columns. A TableLayout consists of a number of TableRow objects, each defining a row (actually, you can have other children, which will be explained below). TableLayout containers do not display border lines for their rows, columns, or cells. Each row has zero or more cells; each cell can hold one View object. The table has as many columns as the row with the most cells. A table can leave cells empty. Cells can span columns, as they can in HTML.
- List View with Context Menu - List View with Custom Adapter - List View with Custom ArrayList - List View with Activity - List View with Activity and Custom Main Layout - List View with Thread
of scrollable items. The list items are automatically inserted to the list using an Adapter that pulls content from a source such as an array or database query and converts each item result into a view that's placed into the list.
query a Cursor as an asynchronous task in order to avoid blocking your app's main thread with the query. - When the CursorLoader receives the Cursor result, the LoaderCallbacks receives a callback to onLoadFinished(), which is where you update your Adapter with the new Cursor and the list view then displays the results.
a Cursor. When using SimpleCursorAdapter, you must specify a layout to use for each row in the Cursor and which columns in the Cursor should be inserted into which views of the layout.
be embedded in other applications (such as the Home screen) and receive periodic updates. - To create an App Widget, you need the following: + AppWidgetProviderInfo object Describes the metadata for an App Widget, such as the App Widget's layout, update frequency, and the AppWidgetProvider class. + AppWidgetProvider class implementation Defines the basic methods that allow you to programmatically interface with the App Widget, based on broadcast events. + View layout Defines the initial layout for the App Widget, defined in XML.
that allows you to save and retrieve persistent key-value pairs of primitive data types. You can use SharedPreferences to save any primitive data: booleans, floats, ints, longs, and strings. This data will persist across user sessions (even if your application is killed). + getSharedPreferences() - Use this if you need multiple preferences files identified by name, which you specify with the first parameter. + getPreferences() - Use this if you need only one preferences file for your Activity. Because this will be the only preferences file for your Activity, you don't supply a name.
other applications cannot access them (nor can the user). When the user uninstalls your application, these files are removed. - External storage such as SD card can also store application data, there's no security enforced upon files you save to the external storage. All applications can read and write files placed on the external storage and the user can remove them.
of the device, notifying applications of various events, from hardware state changes (e.g.,an SD card was inserted), to incoming data (e.g., an SMS message arrived),to application events (e.g., your activity was launched from the device’s main menu). - Not only can you respond to intents, but you can create your own, to launch other activities, or to let you know when specific situations arise (e.g., raise such-and-so intent when the user click this button). - Intents are asynchronous messages which allow Android components to request functionality from other components of the Android system. For example an Activity can send an Intents to the Android system which starts another Activity. - Three of the core components of an application — activities, services, and broadcast receivers — are activated through messages, called intents.
by its name (the component name field, mentioned earlier, has a value set). Since component names would generally not be known to developers of other applications, explicit intents are typically used for application-internal messages. - Implicit intents do not name a target (the field for the component name is blank). Implicit intents are often used to activate components in other applications.
of data. The main methods are Query, Insert, Update and Delete. - ContentResolver is a static proxy that communicates with a ContentProvider to access its data, either from within the same application or from another application.
of system and user data using ContentProviders. - Browser – bookmarks and browser history (requires permission READ_HISTORY_BOOKMARKS and/or WRITE_HISTORY_BOOKMARKS). - CallLog – recent calls made or received with the device. - Contacts – detailed information from the user’s contact list, including people, phones, photos & groups. - MediaStore – contents of the user’s device: audio (albums, artists, genres, playlists), images (including thumbnails) & video. - Settings – system-wide device settings and preferences. - UserDictionary – contents of the user-defined dictionary used for predictive text input. - Voicemail – history of voicemail messages.
charging state, level, and other information about the battery. android.intent.action.BATTERY_LOW Indicates low battery condition on the device. android.intent.action.BATTERY_OKAY Indicates the battery is now okay after being low. android.intent.action.BOOT_COMPLETED This is broadcast once, after the system has finished booting. android.intent.action.BUG_REPORT Show activity for reporting a bug. android.intent.action.CALL Perform a call to someone specified by the data. android.intent.action.CALL_BUTTON The user pressed the "call" button to go to the dialer or other appropriate UI for placing a call. android.intent.action.DATE_CHANGED The date has changed. android.intent.action.REBOOT Have the device reboot.