转载请注明出处:CLeopard http://blog.csdn.net/cleopard
通过第一天的基本知识学习,对Android有所熟悉,今天主要是对Intent的学习。
使用marddown编辑器,感觉还不错!
–>点击进入Android学习笔记导图 http://blog.csdn.net/cleopard/article/details/44037813
–>19本Android经典教程+104个Github上火爆项目开源源码 http://download.csdn.net/album/detail/1511
测试在Button的onClick函数里写入:
Intent intent = new Intent(First.this,Second.class);
startActivity(intent);
通过startActivity方法,由FirstActivity转入SecondActivity。
如果想回到上一个Activity,按Back键。
通过action和category,由系统辨认需要转向的Activity。
action和category属性在AndroidManifest.xml中的想要赋予的Activity标签里添加。
比如我们给SecondActivity添加action和category:
<activity android:name=”.SecondActivity”>
<intent-filter>
<action android:name=”com.cleopard.activitytest.ACTION_START”>
<category android:name=”android.intent.category.DEFAULT”>
intent-filter>
activity>
可以查看下启动Activity(主Activity)的intent-filer标签。
在onClick中使用:
Intent intent = new Intent(“com.cleopard.activitytest.ACTION_START”);
startActivity(intent);
Category属性中android.intent.category.DEFAULT是默认属性,使用时不用写上。
每个Intent中只能指定一个action,但是却能指定多个category;可以调用Intent中的addCategory()方法添加一个category(需要在AndroidManifest中添加)。
Intent intent =new Intent(Intent.ACTION_VIEW);//其常量值为android.intent.action.VIEW
Intent.setData(Uri.parse(“http://cleopard.download.csdn.net”));
startActivity(intent);
首先给Intent指定了内置的动作Intent.ACTION_VIEW,然后通过Uri.Parse()方法解析网址,使用setData()传递对象。
精确指定当前活动响应什么类型的数据。
例如activity具有浏览功能的data属性:
<data android:scheme=”http” />
则点击打开网址时,会提示使用谁登录。
geo:地理位置。tel:拨打电话。等等。。例如:
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse(“tel:10086”));
startActivity(intent);
通过putExtra()方法。
String data=”Hello,CLeopard!”;
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
intent.putExtra(“extra_data”,data);
startActivity(intent);
Intent intent=getIntent();
String data=intent.getStringExtra(“extra_data”);
由于传入的是String所以使用getStringExtra(),其他类推。
使用startActivityForResult()方法。
Intent intent=new Intent(FirstActivity.this,SecondActivity.class);
startActivityForResult(intent,1);
*1 表示辨别,接收返回数据会用到
Intent intent = new Intent();
Intent.putExtra(“data_return”,”Hello,CLeopard!”);
setResult(RESULT_OK,intent);//重要,向上一活动返回数据;一般只用RESULT_OK和RESULT_CANCELED两个值
finish();//关闭
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data){
switch(requestCode)
case 1:
If(resultCode==RESULT_OK){
String returnedData=data.getStringExtra(“data_return”);
}
break;
default:
}
}
共有三个参数,对照上面的内容。
@Override
public void onBackPressed(){
//…上面按钮事件代码
}
今天到此结束 2015/03/09 13:50 CLeopard |
---|
转载请注明出处:CLeopard http://blog.csdn.net/cleopard |