"android" mobilių programėlių kūrimo įvadas #4

24
Android mobilių programėlių kūrimo įvadas

Upload: tadas-jurelevicius

Post on 02-Jul-2015

392 views

Category:

Education


2 download

DESCRIPTION

Ketvirtoji Android mobilių programėlių kūrimo paskaitą

TRANSCRIPT

Page 1: "Android" mobilių programėlių kūrimo įvadas #4

Androidmobilių programėlių kūrimo įvadas

Page 2: "Android" mobilių programėlių kūrimo įvadas #4

Drawable ResourcesA drawable resource is a general concept for a graphic that can be drawn to the screen and which you can retrieve with APIs such as getDrawable(int) or apply to another XML resource with attributes such as android:drawable and android:icon.

Bitmap File - A bitmap graphic file (.png, .jpg, or .gif). Creates a BitmapDrawable.

Nine-Patch File - A PNG file with stretchable regions to allow image resizing based on content (.9.png). Creates a NinePatchDrawable.

Animation Resource - An animation defined in XML that modifies properties of the target object, such as background color or alpha value, over a set amount of time.

State List - An XML file that references different bitmap graphics for different states (for example, to use a different image when a button is pressed). Creates a StateListDrawable.

Shape Drawable - An XML file that defines a geometric shape, including colors and gradients. Creates a ShapeDrawable.

Transition Drawable - An XML file that defines a drawable that can cross-fade between two drawable resources. Creates a TransitionDrawable.

Page 3: "Android" mobilių programėlių kūrimo įvadas #4

BitmapA bitmap image. Android supports bitmap files in a three formats:- .png (preferred)- .jpg (acceptable)- .gif (discouraged).

Note: Bitmap files may be automatically optimized with lossless image compression by the aapt tool during the build process. For example, a true-color PNG that does not require more than 256 colors may be converted to an 8-bit PNG with a color palette.

Page 4: "Android" mobilių programėlių kūrimo įvadas #4

XML BitmapAn XML bitmap is a resource defined in XML that points to a bitmap file. The effect is an alias for a raw bitmap file. The XML can specify additional properties for the bitmap such as dithering and tiling.

Note: You can use a <bitmap> element as a child of an <item> element. For example, when creating a state list or layer list, you can exclude the android:drawable attribute from an <item> element and nest a <bitmap> inside it that defines the drawable item.

Page 5: "Android" mobilių programėlių kūrimo įvadas #4

Nine-Patch FileA NinePatchDrawable graphic is a stretchable bitmap image, which Android will automatically resize to accommodate the contents of the View in which you have placed it as the background. An example use of a NinePatch is the backgrounds used by standard Android buttons — buttons must stretch to accommodate strings of various lengths. A NinePatch drawable is a standard PNG image that includes an extra 1-pixel-wide border. It must be saved with the extension .9.png, and saved into the res/drawable/ directory of your project.

Page 6: "Android" mobilių programėlių kūrimo įvadas #4

XML Nine-PatchAn XML Nine-Patch is a resource defined in XML that points to a Nine-Patch file. The XML can specify dithering for the image.

Page 7: "Android" mobilių programėlių kūrimo įvadas #4

Layer ListA LayerDrawable is a drawable object that manages an array of other drawables. Each drawable in the list is drawn in the order of the list—the last drawable in the list is drawn on top.

Each drawable is represented by an <item> element inside a single <layer-list> element.

Page 8: "Android" mobilių programėlių kūrimo įvadas #4

State ListA StateListDrawable is a drawable object defined in XML that uses a several different images to represent the same graphic, depending on the state of the object. For example, a Button widget can exist in one of several different states (pressed, focused, or niether) and, using a state list drawable, you can provide a different background image for each state.

Page 9: "Android" mobilių programėlių kūrimo įvadas #4

State ListNote: Remember that Android applies the first item in the state list that matches the current state of the object. So, if the first item in the list contains none of the state attributes above, then it is applied every time, which is why your default value should always be last (as demonstrated in the following example).

Page 10: "Android" mobilių programėlių kūrimo įvadas #4

Transition DrawableA TransitionDrawable is a drawable object that can cross-fade between the two drawable resources.

Each drawable is represented by an <item> element inside a single <transition> element. No more than two items are supported. To transition forward, call startTransition(). To transition backward, call reverseTransition().

Page 11: "Android" mobilių programėlių kūrimo įvadas #4

Clip DrawableA drawable defined in XML that clips another drawable based on this Drawable's current level. You can control how much the child drawable gets clipped in width and height based on the level, as well as a gravity to control where it is placed in its overall container. Most often used to implement things like progress bars.

Page 12: "Android" mobilių programėlių kūrimo įvadas #4

Shape DrawableThis is a generic shape defined in XML.Common use - a Drawable with a color gradient for buttons, backgrounds, etc.

Page 13: "Android" mobilių programėlių kūrimo įvadas #4

Shape Drawable

Page 14: "Android" mobilių programėlių kūrimo įvadas #4

Support LibraryThe support library for v4 provides access to several classes introduced with Android 3.0 and beyond, plus some updated version of existing classes, and even some APIs that currently don't exist in the Android platform. Some of the most useful and notable classes that have counterparts in the v4 support library are:

- Fragment- FragmentManager- FragmentTransaction- ListFragment- DialogFragment- LoaderManager- Loader- AsyncTaskLoader- CursorLoader

Page 15: "Android" mobilių programėlių kūrimo įvadas #4

Fragments

Page 16: "Android" mobilių programėlių kūrimo įvadas #4

FragmentsTo manage your fragments and loaders, you must use the methods FragmentActivity.getSupportFragmentManager() and FragmentActivity.getSupportLoaderManager() (instead of the getFragmentManager() and getLoaderManager() methods).

Page 17: "Android" mobilių programėlių kūrimo įvadas #4

FragmentsImplementation of PagerAdapter that uses a Fragment to manage each page. This class also handles saving and restoring of fragment's state.

This version of the pager is more useful when there are a large number of pages, working more like a list view. When pages are not visible to the user, their entire fragment may be destroyed, only keeping the saved state of that fragment. This allows the pager to hold on to much less memory associated with each visited page as compared to FragmentPagerAdapter at the cost of potentially more overhead when switching between pages.

Page 18: "Android" mobilių programėlių kūrimo įvadas #4

Fragments

Page 19: "Android" mobilių programėlių kūrimo įvadas #4

AdaptersAdapters are used to provide the data to the ListView object. The adapter also defines how each row is the ListView is displayed.

The adapter is assigned to the ListView via the setAdapter method on the ListView object.

An adapter extend the BaseAdapter class. Android provides some standard adapters; the most important are ArrayAdapter and CursorAdapter.

ArrayAdapter can handle data based on Arrays or java.util.List.

SimpleCursorAdapter can handle database related data. This description focuses on the non database case.

Page 20: "Android" mobilių programėlių kūrimo įvadas #4

Adapters

Page 21: "Android" mobilių programėlių kūrimo įvadas #4

Async Task

Page 22: "Android" mobilių programėlių kūrimo įvadas #4

RecognitionListenerUsed for receiving notifications from the SpeechRecognizer when the recognition related events occur. All the callbacks are executed on the Application main thread.

Page 23: "Android" mobilių programėlių kūrimo įvadas #4

RecognitionListener

Page 24: "Android" mobilių programėlių kūrimo įvadas #4

Q&A

[email protected]