Android学习小结2
来源:互联网 发布:mysql数据库设计优化 编辑:程序博客网 时间:2024/05/19 13:21
想要调用一个活动有三样东西绝对不能少:
在AndroidMainifest中注册
在布局中,布置好id,以及其他属性
在.java中写下
Intent intent = new intent(“在注册好的action的名称”/intent.XX);
可以加上addcategory,控制多个目录
startActivity()来启动intent
隐式启动Activity的intent到底发给哪个activity,需要进行三个匹配,一个是action,一个是category,一个是data,可以是全部或部分匹配
显示启动:
Intent intent = new Intent(first.this,second.class);
startActivity(intent);
规律,个人认为,四大组件无论哪个既然都需要在注册,那么一定会在.Java中使用相同的名称或者ID去匹配
除了加上action 和category之外还能加上
Data:android:scheme 用于数据的协议部分(http)
Android:host 用于指定主机名(www.baidu.com)
Android:port 用于端口,一般随主机名后
Android:path 用于主机与端口之后,如一段网址中跟在域名之后的内容
Intent.ACTION_xx 系列全是Android内部的内置动作
但是部分动作需要本身就需要有的软件,不然无法获取,比如geo获取地理位置,需要百度地图软件
传递数据到下一个活动
上一个活动需要putextra()
下一个活动则getintent().getStringExtra()
传递到上一个活动
同一个思路,申请一个intent putextra传,getStringExtra接受。Intent声明一个data用来储存
第一个活动需要用startActivityForresult()来建立
上一个活动:
button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(first.this, "You clicked Button 1", Toast.LENGTH_SHORT).show(); //String data = "Hello SecondActivity"; Intent intent = new Intent(first.this,second.class); //intent.putExtra("extra_data", data); startActivityForResult(intent, 1); // TODO Auto-generated method stub } });protected void onActivityResult(int requestCode,int resultCode, Intent data){ switch(requestCode) { case 1: if(resultCode == RESULT_OK) { String returnedData = data.getStringExtra("data_return"); Log.v("First",returnedData); } break; default: }
第二个活动
Button button2 = (Button) findViewById(R.id.button_2); button2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.putExtra("data_return", "Hello first"); setResult(RESULT_OK,intent); finish(); // TODO Auto-generated method stub } });
总结:
想要调用控件,必须在R.java里面有ID,要声明并联系ID
所谓的intent就是目的过滤器,
目的是什么,将两者通过或者默认名(注册时,要调用Android.xx)联系,和来声明多一个活动
而传递信息,顺着传递,需要putExtra(),第二活动需要getStringExtra()来获取
数据存在intent中
返回数据,则是调用setActivityForResult(),以及上述两种函数联系起来
- Android学习小结2
- Android学习小结2
- android学习小结
- android学习小结4
- android学习小结3
- android学习小结5
- android ----学习小结
- android学习小结4
- Android NDK 学习小结
- Android 学习小结
- Android:Sqlitedatabase学习小结
- android学习小结
- android:学习小结
- Android 动画学习小结
- Android 学习小结
- Android 学习小结
- Android逆向学习小结
- Android:Sqlitedatabase学习小结
- OC基础day4-继承,self,super,多态,类对象,SEL类型,description,私有方法与私有变量,三种访问限制
- ElasticSearch 学习笔记(1)
- 贵州烟草大数据之一:零售户聚类
- CoCycles- new awesome functional code search
- 创建一个简单的接口回调
- Android学习小结2
- 读书笔记1.Android启动模式
- jQuery-Mobile学习(表单)
- 如何让VMware低版本运行VMware高版本创建的虚拟机
- VMware Tools (ubuntu系统)安装详细过程与使用
- HDU 3743 (树状数组,离散化)
- HTML5(四)html5<canvas路径和三角函数的故事>(中)
- Linux(CentOS6.5)系统安装Windows字体
- 深入比较ThreadLocal模式与synchronized关键字