想要系统的把安卓的知识从头过一遍,顺便发表成博客记录和分享下。
本系列帖子不适合完全的小白,稍微有一点基本知识就行,但是还是把前面的安卓的基本知识缩成一片帖子发出来吧
环境搭建的步骤
1 下载并安装Java Sdk
2 下载ADT集成安装包
3 配置ADROID_SDK_HOME环境变量
环境变量值是随意指定一个目录,用于保存Android虚拟机的位置,或是Ardroid虚拟机的位置,要是用真机测试则不必配置
4 创建一个Android模拟器
点击AVD Manager,用于创建多个模拟器,对应不同的版本
Devices Definitions是主要用于定义各种的屏幕分辨率
点击new用于创建模拟器
填写一个名称,然后选择屏幕分辨率,安卓的版本号,SD卡的大小(模拟器会直接创建一个相应大小的文件来模拟SD卡)
选择模拟器,点击Start,就可以进行启动
左边是模拟器的屏幕,右边是手机的各种按钮
创建一个Android应用程序
新建Android程序的步骤
1 新建一个Android工程
第一个是应用的名字,第二个是工程的名字,第三个是包名,第四个是向下兼容的最低版本,第五个目标SDK的版本,第六个是使用哪一个版本作为基础版本,第七个是样式
Android目录结构
src目录是代码文件
gen文件夹是自动生成的java文件,下面两个文件,BuildConfig和R。Java,对于程序员来说,是坚决不要修改的
Android 4.x和Android Private Libtrary放的都是Android依赖的jar文件
assets放的是各种资源文件,图片视频和音频
bin文件夹放的是二进制文件
libs放的是第三方的jar文件
res文件是放资源文件的,但是资源文件的格式是有严格要求的,并且都会自动生成Id的
他的前四个文件夹都是用来放置不同的分辨率的图片的
Layout放的是布局文件的
Menu放的是菜单
Value放置的都是一些值
AndroidMainFest.xml是整个程序的配置文件
下面的png格式的图片是程序的图标
proguard-project.txt是用来设置代码混淆问题的
project.properties是用来设置整个项目的配置问题的,主要是在sdk版本上
运行的方式是工程然后右键以安卓项目运行
Android的技术体系结构
开发技术结构图
安卓是根据Linux系统而专为手机进行的改进,包括电池管理,进程调度,摄像头,键盘,还有Wifi等等
在Linux之上分两部分,一部分是Library,一部分是Runtime(核心包/虚拟机)
在这之上的一层是应用框架层
最上层是应用程序层,也是通常我们调用框架层要实现的层次
基于组件的应用程序开发
安卓四大组件
1 Activity
可以简单理解为一个Activity就是一个界面,但通常一个应用里只有三四个Activity,负责和用户进行交互
2 Service
主要负责去完成Android程序中耗时较多的程序,但是没有图形界面,只在后台运行
3 Content Provider
一种向外暴露数据的方法,其他程序只要知道id,就可以访问数据,用于数据共享
4 BroadcastReceiver
一种手机的广播接收器,用来监听系统行为
View
View的基本概念
控件的学名就是View,View是所有控件类的父类
在Activity当中获取代表View的对象
View对象并不是new出来的,而是通过findViewById().然后进行一次类型转换(因为方法的返回值都是View对象)然后再进行一些代码上的修改
设置View的属性
TextView
在配置文件里声明对应的控件,进行初始设置,然后在Activity里用Java代码进行设置
Activity代码:
private TextView text1;
text1 = (TextView)findViewById(R.id.textView);
text1.setText("Honour Coder");
1 获取代表控件的对象
xml代码:
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="button"
/>
Activity代码:
private Button but;
but = (Button)findViewById(R.id.button);
2 定义一个类,实现监听器接口
在activity内写一个内部类,实现OnClickListener接口
class buttonClick implements OnClickListener
{
public void onClick(View arg0) {
// TODO Auto-generated method stub
count++;
text1.setText(count + "");
}
}
3 生成监听器对象
buttonClick bl = new buttonClick();
4 为控件绑定监听器对象
but.setOnClickListener(bl);
实现文字居中
一:在xml文件设置:android:gravity="center"
二:在程序中设置:m_TxtTitle.setGravity(Gravity.CENTER);
备注:android:gravity和android:layout_gravity的区别在于前者对控件内部操作,后者是对整个控件操作。
例如:android:gravity="center"是对textView中文字居中
android:layout_gravity="center"是对textview控件在整个布局中居中
EditText
可编辑的文本框
设置不显示密码的输入格式
android:password="true"