安卓旁听课程
1.".setXXX"后出现活动方法--多态的体现
2.Manifest.xml配置文件
- pakage--路径
- icon--图标
- 根据图标的不同分辨率,mipmap自动分配
- label--这个app的名字
系统过滤器--intent--意图--将需求过滤的越精确越好
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
复制代码
- Actions--intent需要做的事情
- 比如拨打某个电话号码,打开一个 URL,编辑某些数据。一个 action 是一个简单字符串常量描述应该完成的事情。
- Date--intent需要使用的资源
- 在 Android 中它会用一个 URI(唯一资源标识符) 或者 Uri 对象来表示。数据类型需要根据 action 而变
这样,action和data组合在一起,Android就能够知道这个intent是干什么的以及用什么来干 的问题了
Extra--一种传递给intent的包含额外信息的键值存储对象,以便让intent用于完成特定的动作
比方说,如果事先准备一些东西的话,人才能更好地完成某个任务,Android 也是同样的。一个好的 intent 总是需要准备好必要的附属物(extra)。
实例化的时候用 intent 的构造函数
3.字节码文件
java源程序文件 .java java的字节码文件 .class
跳转界面的三种方式
Itent myintent = new Intent();
- myintent.setClass(MainActivity.this,secondActivity.class);
- myintent.setComponent(MainActivity.this,secondActivity.class);
- 如上图中所示
4.两个Activity中数据的传输
两种方式
- Bundle对象--用于存储数据
- OnclickListenner在多个包中都有,在View视图包里面也有这个方法,视图包!视图包!
5.Log
6.Intent--松绑定(即:调用)
- 一种运行时绑定机制,能在程序运行的过程中连接两个不同的组件
- 通过intent传达意图,Android会根据请求的内容选择适当的组件来响应
【操作名词】
- componentName--组件名字
- action--我想打开一个网站
- 制定 我们要做什么 动作
- 用来表现意图的行动
- “做”俯卧撑、“写”一封情书
- category--类别:用来表示动作的类别--更加进一步精确的描述action的特征
- data--表示动作要操作的数据(一个具体的网址)
- extras--附加信息
- type--数据类型,对于data事例的描写
点击一个Button跳转进入百度首页实例?
显示intent (直接)
指定componentName属性的Intent
调用setComponent(ComponentName)或者setClass(Context,class)来指定
隐式intent
没有指定componentName,用过action来描述
IntentFilter意图过滤器
7.Uri对象-统一的资源定位符
8.报错问题
1.因为同时存在了多个 startActivity,需注意打开界面的重复性
java.lang.NullPointerException:
Attempt to invoke virtual method 'java.lang.String[] android.os.Bundle.getStringArray(java.lang.String)'
on a null object reference.
复制代码
11.
每次动态添加完菜单项,记得添加相应的id
order--显示顺序
12.一个监听器 监听 了 所有的按钮,View.getid可以得知当前是哪一个具体的button被点击
所以用switch语句
item.getItemid()就获得了具体对象是哪一个
13.Activity的四种launchMode
决定是否生成新的Activity实例,是否重用已存在的Activity实例,是否和其他Activity实例公用一个task里
补充知识点--task:task是一个具有栈结构的对象,一个task可以管理多个Activity,启动一个应用,也就是创建一个与之对应的task
https://blog.csdn.net/liuhe688/article/details/6754323
14.注意Menu的菜单项的id不能重复,不然会出现空指针异常
15.在Activity中布局文件中对象的获取--findviewbyid
16.获取上下文菜单
17.OnClickListener()
通过其属于哪一个包下,确定不同的OnClickListener()
View中的?
View.OnClickListener(){......}
复制代码
Dialog中的?
18.Dialog
19.chechBox需要放到RadioGroup中存放--才能获取选中的信息
20.关于Fragment和Activity之间onCreateOptionsMenu的问题
借鉴:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1120/2025.html
21.回调--父类自动调用
比如:OnCreat()方法
22. 基于?的问题,需要了解一下:LayoutInflater和findViewById() 的区别
- LayoutInflater作用类似于findViewById()
- LayoutInflater是在res/layout/下的xml布局文件,对于一个没有被载入或者想要动态载入的界面,都需要使用LayoutInflater.inflate()来载入;
- findViewById()是对于已经载入的界面,就可以使用Activity.findViewById()方法来获得其中的具体widget控件(如Button、TextView等)。
定义变量后,变量是空的,必须进行赋值,在OnCreate中findViewbyId