安卓基础干货(一):了解一下安卓的发展历史
程序员文章站
2022-05-25 14:36:38
恢复内容开始 金兴 1.1G 4G的介绍 1. G generation 2. 1G 大哥大 只能进行通话 不能发短信 3. 2G wap.baidu.com 支持上网 彩信业务 4. 3G 沃 www.baidu.com 7.2M/s 5. 4G lte long time evolution 1 ......
---恢复内容开始---
金兴
1.1G-4G的介绍
- G generation
- 1G 大哥大 只能进行通话 不能发短信
- 2G wap.baidu.com 支持上网 彩信业务
- 3G 沃 www.baidu.com 7.2M/s
- 4G lte long time evolution 100M/s
- 主要区别 速率的不同
- 5G 华为 大公司卖标准 小公司卖产品 arm:并不生产处理器 10G/s
2.Android操作系统介绍
安迪鲁宾研发
3.Android历史介绍
Android版本对应api级别 3.0 ---11 2.3----10 2.2 ---8
4.Android系统架构(重点)
第一层:应用层Application 第二层:应用框架层Application Framework 第三层:Android底层类库层 Libraries、Dalvik虚拟机 第四层:linux内核层 linux kernel Android试运行在Linux内核基础之上的。
5.两种虚拟机的不同 (重点)
1、架构不同:JVM使用栈架构;Dalvik使用的是寄存器,数据是加载到CUP的寄存器上的。 2、JVM加载的.class文件,Dalvik加载的是.dex文件,对内存的分配情况做了优化。 jvm: sun oracle dvm: 谷歌
6.SDKManger的使用
可以在里面管理SDK版本的下载和卸载。 sdk
7.模拟器的简介及创建
VGA 480* 640 QVGA 240*320 HVGA 320*480 WQVGA 240*400 FWVGA 480*854 WVGA 480*800 AVD: Android virtual Device
8.DDMS介绍
DDMS:Device Definition Monition Service
9.SDK目录
add-ons:存放高级应用的API的文件 build-tools:构建工具 docs:开发文档 extras:存放依赖的第三方的包 platforms:各个平台的文件 adb:android debug brigde android调试桥 sources:API的源代码文件 system-images:系统的镜像文件 tools:工具文件
10.创建HelloWorld
部署apk文件的过程: IDE判断adb是不是正在工作,用adb把apk文件上传到模拟上,模拟器安装apk文件,开启应用软件。
11.Android工程的目录结构
src/ java源代码存放目录 gen/ 自动生成目录 gen 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。 这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的资源,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含了各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。 res/ 资源(Resource)目录 在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。 libs/ 支持库目录 程序开发时需要的一些三方的jar包可以放在这个目录,系统会自动把里面的jar包,添加到环境变量。 assets资源目录 Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如:file://android_asset/xxx.3gp AndroidManifest.xml 项目清单文件 这个文件列出了应用程序所提供的功能,以后你开发好的各种组件需要在该文件中进行配置,如果应用使用到了系统内置的应用(如电话服务、互联网服务、短信服务、GPS服务等等),你还需在该文件中声明使用权限。 project.properties 项目环境信息,一般是不需要修改此文件
12.Android的打包过程
是把Android的应用程序打包成一个.apk文件,.apk文件可以安装在手机或者模拟器上。 如果是签名打包,是在打包的过程中,对文件进行了加密。 投放到Android市场上的应用软件必须签名。 aapt: Android application package tools 打包apk文件 签名: adb :Android debug bridge
13.ADB命令
— 常见命令: adb devices 列出所有的设备 adb shell 挂载到linux的空间 可以执行liux指令 adb install xxx.apk 如果有多个设备,我们可以指定设备 adb install –s emulator-5554 D:/xxx.apk adb shell 挂载到linux空间 adb push 把文件推到手机里 adb pull 把文件从手机里拉出来 ctrl + F11 横竖屏的切换
14.电话拨号器(重点)
开发项目的步骤: 1、理解需求,弄明白需求后在写代码; 2、在Android工程中设计UI界面; 3、代码实现业务逻辑;
电话拨号器的代码:
//初始化布局文件中的控件 et_phone = (EditText) findViewById(R.id.et_phone); Button bt_call = (Button) findViewById(R.id.bt_call); //获得EditText控件里面的数据 bt_call.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //拨打电话号码 //获取数据框中的电话号码 String phone = et_phone.getText().toString().trim(); //创建一个拨打电话的意图 Intent intent = new Intent(); //设置拨打电话号码的动作 intent.setAction(Intent.ACTION_CALL); //设置拨打的电话号码 intent.setData(Uri.parse("tel://"+phone)); //开启拨打电话的意图 startActivity(intent); } });
15.四种点击事件
(1)采用内部类的方式去实现OnClickListener (2)匿名内部类 (3)当前类imp OnClickListener (4)onclick 1、设置按钮的单击事件的监听器,创建匿名内部类 bt_call.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //拨打电话号码 String phone = et_phone.getText().toString().trim(); Intent intent = new Intent(); intent.setAction(Intent.ACTION_CALL); System.out.println("phone="+phone); intent.setData(Uri.parse("tel://"+phone)); startActivity(intent); } }); 2、创建一个内部类 private class MyOnClickListener implements OnClickListener{ @Override public void onClick(View v) { //拨打电话号码 String phone = et_phone.getText().toString().trim(); Intent intent = new Intent(); intent.setAction(Intent.ACTION_CALL); System.out.println("phone="+phone); intent.setData(Uri.parse("tel://"+phone)); startActivity(intent); } } //别忘记给按钮添加一个单击事件的监听器 bt_call.setOnClickListener(new MyOnClickListener()); 3、在布局文件中给按钮添加一个单击事件的响应方法,然后在代码中实现这个方法 (1)在布局文件中给按钮添加一个单击事件的响应方法 <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="拨打" android:id="@+id/bt_call" android:onClick="call" /> (2)在代码中实现这个方法 //view 表示的是按钮这个视图 public void call(View view){ //拨打电话号码 String phone = et_phone.getText().toString().trim(); Intent intent = new Intent(); intent.setAction(Intent.ACTION_CALL); System.out.println("phone="+phone); intent.setData(Uri.parse("tel://"+phone)); startActivity(intent); }
16.五种布局
- 线性布局(重点) 分水平和垂直2种
- 相对布局:各个组件都是按照相对位置来摆放。
- 帧布局: 一层一层绘制
- 表格布局
绝对布局 已经被谷歌废弃
-
工作中常用的就是各种布局的嵌套使用
---恢复内容结束---
上一篇: Executor多线程框架使用
下一篇: vonic单页面应用