Android入门教程(7)
要点
关于方法
- 你可以自己定义方法,然后自己调用
- 定义方法,可以精简代码,减少冗余
- 点击函数,右键——go to——Declaration,查看函数的定义
- 方法的输入和输出,输入叫输入参数,输出叫做返回值
- 方法的声明需要的几个要素:返回值类型、方法名、()、{}、函数体
Java 存取修饰词:如 public、private
- private 只能在本类内访问,类外无法访问
- public 都可以调用
返回值类型,可以是int、String,也可以是 类
- 方法名,命名规则和变量一样:(驼峰拼写法)首字母小写,单词头大写;以动词开头
- 参数列表,放在
()
中,可以为空 - 方法体位于
{}
中 - 传递给方法的输入叫实参
- 形参:方法定义时声明需要的输入
- 函数调用 必须与 函数声明的参数个数,参数类型一致,否则报错
- 与形式参数不同,返回值只能有一个,不能有多个
- 程序无法运行到 return 下面的语句。运行到 return,程序就结束了。
- 如果方法不需要返回值,那么在声明方法的时候,返回值类型为 void。
- 函数的返回值是单个值,与变量的类型一致
- 让代码保持更简洁
- 字符串操作可以使用
+=
运算,相当于字符串追加。 - return 也可以直接返回 表达式
- 函数的实参,也可以是函数哦
- 字符串操作可以使用
- 一个 android APP主要由资源文件和java文件组成
- java文件都放在app下的 java目录下
- 所有的java文件都是在APP运行时处理,如按钮点击事件
- 资源文件放在 app下的 res目录下,是 resource的缩写,包含图片、字符串、颜色、宽高,菜单、布局等 xml文件,及视频、音频文件
- 把资源文件和java文件分开的优点是:根据具体的设备加载不同的资源,来让APP表现出最佳的效果。如:在大屏幕设备上呈现另一种布局,只需要替换布局文件即可;如本地换字符串,在一个集中的地方进行字符串替换即可,要比到每一个文件替换方便多了
*
怎样获取放在资源文件夹的资源呢?Accessing Resources 中文页面
- 当编译APP的时候,Android中的 AAPT工具会生成R类,这是一个叫做 R.java的文件
- R.java文件包含res目录下所有资源文件的ID
- 如:R.drawable 对应所有 Drawable资源,而该类型的每个资源都有对应的静态整形数,如 R.drawable.icon
- 访问资源的方法
- 在代码中: R.string.hello
- 在XML文件中: @string/hello
resource 和 Java代码中间的关系
- 点击 Just Java应用图标
- 打开 MainActivity.java
- 初始化
- 自动调用 onCreate方法,启动 activity
- 重要的一句代码 setContentView(R.layout.activity_main)
- Android 解析 activity_main 这个 xml文件
- 然后将 LinearLayout与 Java对象关联
- 这些Java对象组成多级view集合
- 对象有状态和方法
- 对象中的方法可以操作状态
- 如果需要在手机上显示一个 TextView,实际上需要App中Java对象的控制
- 当程序运行时,可以通过调用 TextView的方法,来修改Java字段(变量)
- 类就像建造房子的平面图,对象就像真实的建造好的房子
- 成员变量也叫类的状态,变量以 m开头
- 要查看TextView.java源文件,可以在chrome中安装 android sdk search扩展(注意:在Engish语言下可用,中文页面不支持)
- 面向对象可以隐藏内部实现
- 类与对象
- (常用)使用构造函数创建对象 TextView priceTextView = new TextView(context);
- 用工厂方法来创建对象 MediaPlayer player = MediaPlayer.create(context, R.raw.song);
- 可以上 google 搜索,查看需要使用构造方法,还是工厂方法
- 对象的方法调用
- 格式:对象变量名.方法名(输入参数);。如:titleTextView.setText(“News”);
- 传递参数的类型及顺序要与方法参数声明的一致
- 类的内部调用和累的外部掉要的区别,内部,省略了this.
- 在类的内部,可以访问私有变量和私有方法;类外,无法访问私有变量和私有方法
- 可以通过extend来直接使用父类的函数
- 在子类中可以重载(Override)这个方法
- 如果删除了重载的方法,那么就调用父类的方法
- 重写父类的方法,可以使用自定义的布局文件
- 在 MainActivity中重写onCreate和onCreateOptionsMenu是很有必要的