Android 开发

Android 开发

第一章、Android一第一次常识

1-1 Android开发概述

  • Android是Google开发的操作系统
  • Android开发是移动应用开发的表现形式之一
  • 创始人是Andy Rubin

安卓平台架构

Android 开发

它是由操作系统、中间件、用户界面和应用软件四层组成

  • 应用程序层:包括一些核心应用程序
  • 应用框架:访问安卓提供的API框架
  • 函数库:包含一些类库

Android 开发

四大组件

  • Activity屏幕

    控件的容器。

  • Service服务

    后台运行的程序

  • ContentProvider内容提供者

    跨应用共享数据的唯一方式

  • BroadcastReceive广播接收器

    操作系统发出的各种事件

Android 开发

1-2 Android开发工具

Eclipse Android Studio

  • 下载安装JDK

为什么使用Android Studio ?

Android Studio是Google自己推出的Android集成开发工具,而且Google已经停止对Eclipse的支持。

安装Android Studio

到官网点击下载

Android 开发

根据自己需要更换目录

Android 开发Android 开发Android 开发Android 开发Android 开发Android 开发Android 开发

Android 开发

问题1:

Android 开发

打开发现并不是我上一步指定的位置

Android 开发

将其更换无用,因为原来我指定的SDK路径文件夹都是空的

Android 开发

设置代理

Android 开发

并且SDK都是灰色的点不开,所以准备自己下载一个单独的sdk

http://tools.android-studio.org/index.php/sdk

根据自己的系统选择需要的版本

Android 开发

安装SDK

Android 开发Android 开发Android 开发Android 开发Android 开发

安装完成之后

Android 开发

Android 开发

Android 开发Android 开发

然后再打开这个就可以了

Android 开发

参考资料:https://blog.csdn.net/NBA_1/article/details/104147829

1-3第一个安卓应用

Android文件结构:

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工程

Android 开发
build:系统生成的文件目录,最后生成的apk文件就在这个目录,这里是app-debug.apk

libs:为项目需要添加的*.jar包或*.so包等外接库

src:项目的源代码,其中android test为测试包,main里为主要的项目目录和代码,test为单元测试代码

3、AndroidManifest.xml

Android 开发

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 开发

添加一句:

 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找到对象

子类

graph TB begin[Activity] -->ac[AccountAuthenticatorActivity] begin-->ag[ActivityGroup]
上一篇:领域驱动之4层介绍


下一篇:java 匿名类 protected 构造方法