本文共 2852 字,大约阅读时间需要 9 分钟。
转载请注明出处:
通过第一天的基本知识学习,对Android有所熟悉,今天主要是对Intent的学习。
使用marddown编辑器,感觉还不错! –>点击进入 –>测试在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(主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属性:则点击打开网址时,会提示使用谁登录。
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 |
---|
转载请注明出处: |