Android 开发
第一章、Android一第一次常识
1-1 Android开发概述
- Android是Google开发的操作系统
- Android开发是移动应用开发的表现形式之一
- 创始人是Andy Rubin
安卓平台架构
它是由操作系统、中间件、用户界面和应用软件四层组成
- 应用程序层:包括一些核心应用程序
- 应用框架:访问安卓提供的API框架
- 函数库:包含一些类库
四大组件
-
Activity屏幕
控件的容器。
-
Service服务
后台运行的程序
-
ContentProvider内容提供者
跨应用共享数据的唯一方式
-
BroadcastReceive广播接收器
操作系统发出的各种事件
1-2 Android开发工具
Eclipse Android Studio
- 下载安装JDK
为什么使用Android Studio ?
Android Studio是Google自己推出的Android集成开发工具,而且Google已经停止对Eclipse的支持。
安装Android Studio
到官网点击下载
根据自己需要更换目录
问题1:
打开发现并不是我上一步指定的位置
将其更换无用,因为原来我指定的SDK路径文件夹都是空的
设置代理
并且SDK都是灰色的点不开,所以准备自己下载一个单独的sdk
http://tools.android-studio.org/index.php/sdk
根据自己的系统选择需要的版本
安装SDK
安装完成之后
然后再打开这个就可以了
1-3第一个安卓应用
Android文件结构:
manifests:
AndroidManifest.xml:APP的配置信息
java:主要为源代码和测试代码
res:主要是资源目录,存储所有的项目资源
drawable:存储一些xml文件,-*dpi表示存储分辨率的图片,用于适配不同的屏幕。
-mdpi:320x480
-hdpi:480x800、480x854
-xhdpi:至少960x720
-xxhdpi:1280x720
layout:存储布局文件
mipmap:存储原声图片资源
values:存储app引用的一些值
- colors.xml: 存储了一些color的样式
- dimens.xml:存储了一些公用的dp值
- strings.xml: 存储了引用的string值
- styles.xml: 存储了app需要用到的一些样式
Gradle Scripts:build.gradle为项目的gradle配置文件
2、Project工程
build:系统生成的文件目录,最后生成的apk文件就在这个目录,这里是app-debug.apk
libs:为项目需要添加的*.jar包或*.so包等外接库
src:项目的源代码,其中android test为测试包,main里为主要的项目目录和代码,test为单元测试代码
3、AndroidManifest.xml
AndroidManifext描述了package中暴露的组件像activity,serveice等,他们各自的实现类,各种能被处理的数据和启动位置。此外还能声明程序中的contentproviers,intentreceivers,还能指定permissions和instrumentation等等。
-
xmlns:android:定义android的命名空间。
-
package:指定本应用内java主程序的包名,这里就是com.example.myapplication1了。
-
application:声明了每一个应用程序的组件及其属性。
-
android:allowBackup:将程序加入到系统的备份和恢复架构中。
-
android:icon:显而易见表示APP的图标了。
-
android:label:许可列表。
-
android:supportsRtl:启用各种RTLAPI来用RTL布局显示应用,这个是android4.2的新特性。 android:theme:android的主题。
-
activity:android:name表示当前的activity的名字,因为工程为MainActivity,所以这个名字就为这个,之后有新的activity的话,也需要添加才可以使用。
-
intent-filter:包含了action,data和category三种。
- action:只有android:name属性,常见的是android.intent.action.MAIN,表示此activity是作为应用程序的入口。
- data:指定了希望接受的intent请求的数据URI和数据类型。
- category:android:name属性,常见的是android.intent.category.LAUNCHER,决定应用程序是否显示在程序列表里。
关于本应用的manifest基本上没啥问题了,以后遇到了别的google查阅就好。
遇到问题:
换成线性布局后报错:
添加一句:
android:orientation="vertical"
二、安卓开发
1.activity
简介
一个Activity通常就是一个单独的屏幕
每个Activity都被实现为一个从Activity父类继承来的独立的子类;
对于开发者之言, Activity是一个程序的入口,是一个JAVA类
Activity类结构
android.app.Activity类的继承结构如下:
java.lang.Object
↳android.content.Context
↳android.content.ContextWrapper
↳android.view.ContextThemeWrapper
↳android.app.Activity
常用方法:
创建和使用:
public class OurActivity extends Activity {
protected void onCreate(Bundle savedInstanceState);
protected void onStart();
protected void onReStart();
protected void onResume();
protected void onPause();
protected void onStop();
protected void onDestroy();
}
其他常用方法:
public void setContentView(int layoutResID) //设置布局文件
public final View findViewById(int id) //会根据id找到对象