视频课:https://edu.csdn.net/course/play/7621
java
一:四大核心组件android
Activity(活动)
是Android应用中负责与用户交互的组件
Service(服务)
Service一般位于后台运行,它通常不须要与用户交互,所以Service组件没有图形用户界面
BroadcastReceiver(广播接收器)
用于接收系统中其它组件发送的广播
ContentProvider(内容提供者)
多个应用程序之间进行实时的数据交换的前提web
二:工程目录结构数据库
Android按照用途将不一样的内容分别存放在不一样的目录中
app
src文件夹
存放开发者编写的源代码
存放导入的第三方的源代码
框架
gen文件夹
ide
存放系统自动生成的代码
工具
assets文件夹
布局
存放程序中使用的nonmedia文件
测试
bin文件夹
存放编译生成的文件和打包文件
libs文件夹
存放第三方的jar包
res文件夹
存放布局文件、资源文件等
AndroidManifest.xml
配置文件
res文件夹主要用于存放各类资源
drawable相关文件下存放各类图片文件。
layout下存放图形用户界面的布局文件。
menu下存放菜单的布局文件。
values下存放各类数据资源,如字符串资源。
AndroidManifest.xml文件
定义了应用程序的基本信息
定义了应用程序包。
定义应用程序组件。
肯定默认Activity。
肯定API使用权限。
定义最小API级别。
指定引用程序库。
R.java文件
每一种资源在R类中存在一个惟一的ID
R类存在与gen目录中。
通常状况下不须要修改这个类(自动生成) 。
java源代码中但是引用资源 Button btnLogin= (Button)findViewById(R.id.btnLogin);
XML文件中也能够引用资源 @drawable/ic_launcher @string/app_name
assets下存放nonmedia文件
不会被编译成二进制,原样保存在apk包中。
不会被映射到R类中,须要使用AssetManager类进行访问。
能够建立子目录。
建立第一个Activity
Activity是一个应用程序组件:
包含了一个能够和用户交互的显示界面
好比:拍照、发邮件、浏览地图等
每一个Activity都有一个窗口
这个窗口一般是充满屏幕的
也能够比屏幕小而浮于其余窗口之上
一个Android应用程序能够包含一个或多个Activity
这些Activity之间是相对独立的
当一个Activity启动时,以前的那个Activity就中止了
建立一个Activity一般有这样几个步骤:
为这个Activity设计一个界面布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView android:id="@+id/textview1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="我是文本控件" />
</LinearLayout>
须要建立一个Activity类的子类
必须实现onCreate()方法
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
Intent是在组件之间传递的消息
能够在同一个应用程序或者不一样应用程序之间传递
这个消息是一个Intent类的对象,包含一组信息
Action——要执行的或者已发生的动做
ACTION_CALL(字符串常量)
ACTION_MAIN (字符串常量)
ACTION_SCREEN_ON (字符串常量)
Category——指明应该处理当前intent的组件种类
CATEGORY_HOME (字符串常量)
CATEGORY_LAUNCHER (字符串常量)
Intent过滤器用于指定组件“愿意”接收的Intent
能够包含Intent中包含的信息所对应的过滤条件
Action
Category
在配置Activity时一般经过Intent过滤器来给定Activity的执行条件
在AndroidManifest.xml文件中配置Activity
<manifest …>
<application …>
<activity android:name=“com.csg.MainActivity” android:label="@string/app_name">
<intent-filter>
<action android:name=“android.intent.action.MAIN” />
<category android:name=“android.intent.category.LAUNCHER” />
</intent-filter>
</activity>
</application>
</manifest>
Android应用的构建过程以下:
Android应用的构建过程以下:
一、使用aapt工具生成R.java文件
二、使用javac工具将.java文件编译成.class文件
四、使用dx.bat批处理将众多.class文件转换成一个.dex文件
五、使用aapt工具打包资源文件(包括res、assets、AndroidManifest.xml等)
六、生成apk安装文件
SDK目录结构以下:
add-ons这里面保存着附加库
docs这里面是Android SDK API参考文档
platforms是每一个平台的SDK真正的文件
tools目录里面包含了重要的编译工具
platform-tools保存着一些通用工具,好比adb、和aapt、aidl、dx等文件
samples是Android SDK自带的默认示例工程
tools做为SDK根目录下的tools文件夹,这里包含了重要的工具
SDK经常使用包以下:
android.os 提供基本的操做服务,消息传递和进程间通讯IPC。
android.graphics 做为图形渲染包,提供图形渲染功能。
android.database 包含底层API处理数据库,方便操做数据库表和数据。
android.content 提供各类服务访问数据在手机设备上,程序安装到手机设备和其余相关资源,以及内容提供展现动态数据。
android.view 核心用户界面框架。
android.widget 提供标准用户界面元素,List(列表),Buttons(按钮),Layout manager(布局管理器)等,是组成咱们界面的基本元素。
android.app 提供高层应用程序模型,实现使用Activity。
android.provider 提供方便调用系统提供的content providers的接口。
android.webikit 包含以系列工做在基于Web内容的API。
DDMS 的全称是Dalvik Debug Monitor Service
为测试设备截屏
查看特定进程的线程及堆信息
Logcat窗口
广播状态信息
模拟电话呼叫
收发SMS短信
虚拟地理坐标
Emulator Control能够用于模拟控制
模拟拨打和接听电话
模拟短信息收发
模拟地理坐标位置
Logcat窗体提供了应用运行中的日志输出与查询过滤
能够输出设备的全部输出信息
若是是真机,须要打开bebug模式
支持日志级别
支持过滤查询
Android 中的日志工具类是Log( android.util.Log),这个类中提供了以下几个方法来供咱们打印日志
Log.v()
打印那些最为琐碎的,意义最小的日志信息
Log.d()
打印一些调试信息
Log.i()
用于打印一些比较重要的数据
Log.w()
用于打印一些警告信息
Log.e()
用于打印程序中的错误信息
设置过滤器