《Android四大组件介绍PPT演示课件》由会员分享,可在线阅读,更多相关《Android四大组件介绍PPT演示课件(26页珍藏版)》请在金锄头文库上搜索。
1、,Android Fantastic Four,Jacky Cai 2017/07/07,.,Fantastic Four,1,Activity,2,Service,3,Content Provider,4,Broadcast Receiver,5,目录,Contents,Fantastic Four,The Design Pattern Behind,Model represents an object carrying data. It can also have logic to update controller if its data changes. View represents
2、 the visualization of the data that model contains. Controller interacts with model and view, controls data flow, updates view when data changes. It keeps view and model separate.,Various Resources, ,To Do List#FF0000FF5px color/colorPrimary color/colorPrimaryDark color/colorAccent,Resource - Layout
3、,Android supports variety of resources from simple values such as strings and colors to complex resources like layout, images and themes.,Resource - Misc,Fantastic Four,1,Activity,2,Service,3,Content Provider,4,Broadcast Receiver,5,目录,Contents,Activity - Life Cycle,Exit activity while pressing back
4、key, home key or killed in recent apps, what will the activity do correspondingly? Whats the impact to KPI test?,Activity - Task,Whats the difference between process and task? How many tasks a process may have?Which process is the Activity-Y in figure-2 belonging to?,Task is a collection of activiti
5、es that users interact with when performing a certain job. The activities are arranged in a stack(back stack) in the order in which each activity is opened. For example. If the user presses theBackbutton, that new activity is finished and popped off the stack.,How new activity was added to back stac
6、k and popped off while pressingBackbutton and destroyed, the previous one resumes.,Two tasks: Task B receives user interaction in the foreground, while Task A is in the background, waiting to be resumed.,Activity - Hands on,How to start Activity in other application? Which process does the started A
7、ctivity belong to, caller app or its own?,Prerequisite Install android studio Messenger app see attachmentLets surfingResource LayoutLogcatActivity LifeCycleMVC - RecyclerViewDevice monitor toolDDMS HW,Fantastic Four,1,Activity,2,Service,3,Content Provider,4,Broadcast Receiver,5,目录,Contents,Service,
8、Service can perform long-running operations in background, it does not provide a user interface. Another application can start a service, and it continues to run in the background even if the user switches to another application. Ways of starting service as follows.,As said earlier that service was
9、working in background, why it will be started in foreground in the music player?What is the difference between these three kinds of services, which way shall we use?,Service can be started in foreground by call startForeground(),Service Life Cycle,Will onStartCommand() be called if service is only b
10、ound?,What is thread safe method?What is IPC and RPC?How was IPC implemented through AIDL in android?,Process and Thread,模拟器,真机,Intent and Components,Two Types of Intents Explicit intents- specify the component to start by name (the fully-qualified class name). Youll typically use an explicit intent
11、 to start a component in your own, because you know the class name of the activity or service you want to start. (E.g. Intent intent= new Intent(this, B.class) Implicit intents- do not name a specific component, but instead declare a general action to perform, which allows a component from another a
12、pp to handle it. For example, if you want to show the user a location on a map, you can use an implicit intent to request that another capable app show a specified location on a map. (E.g. Intenti=newIntent(Intent.ACTION_VIEW,data);),AnIntentis a messaging object you can use to request an action fro
13、m anothercomponent. Although intents facilitate communication between components in several ways, there are three fundamental use cases:,If no match component was found then what will happen and what we shall do to avoid it?,Intent and Intent Filters,Send an implicit IntentIntent sendIntent = new Intent();sendIntent.setAction(Intent.ACTION_SEND);sendIntent.putExtra(Intent.EXTRA_TEXT, textMessage);sendIntent.setType(text/plain);startActivity(sendIntent);Receive an implicit Intent ,