Android-Intent
- overview
- dig deep
overview
-
intent:
-
n.
1. an anticipated outcome that is intended or that guides your planned actions
2. the intended meaning of a communication
adj.
giving or marked by complete attention to
All in all , Intent is the tool to show preAction also some kind of announcement.
In Android development , Intent coould use as follow:
1,Initiate Activity/Service/BoradcastReceiver
2,Useing it's attribute value to specify more details
dig deep
Intent[Component,Action,Category,Data,Type,Extra,Flag]
Component
-
def
- specify in which package which class you want use
- set ComponentName -> set Intent.setComponent -> start activity best practic
- Intent([PROJECT].this,[ACTIVITY].class)
Action & Category
-
def
-
an abstract movement which haven’t specify to any Activity/Service/BoradcastReceiver(crap)
think these two attributes like two QA tags on activity which will help Intent to locat specified Activity(which also include system activities)
use
- AndroidMainifest -> intent-filter -> (0~N) | (0~N) | 1 best practic
-
intent.setAction([Action]);
intent.addCategory([Category]);
startActivity(intent);
Data & Type
-
def
- also the principles to catch one specified Activity , also privide data and type to start Activity , which give people freedome to customize activity use
- set Data -> set Action -> run Activity best practic
-
Uri uri = Uri.prase(data);
intent.setData(uri);
intent.setAction([Action]);
startActivity(intent);
Extra
-
def
- using to exchange data between Activities use
- Extra -> Bundle / Map -> key-value best practic
-
sent:
Bundle data = new Bundle();
data.putSerialzable(“person”,p);
Intent intent = new Intent(this,Result.class);
intent.putExtras(data);
startActivity(intent);receive:
Intent intent = getIntent();
Person p = (Person) intent.getSerializableExtra(“person”);
Flag
-
def
- controle flag use
- SDK best practic
- everywhere