要须心地收汗马,孔孟行世目杲杲。这篇文章主要讲述Android基础第一天相关的知识,希望能为你提供帮助。
2G、3G、4G技术:
网络通讯技术:1g-->
2g-->
3g-->
4g
..5g
1
功能变强
2
速度变快
3g:第三代移动通信技术
android起源:
android:机器人
android:是google公司开发的基于Linux2.6的免费开源操作系统
升级:
1.5
Cupcake(纸杯蛋糕)
1.6
Donut(甜甜圈)
2.1
Eclair(闪电泡芙)
2.2
Froyo(冻酸奶)
2.3
Gingerbread(姜饼)
3.0
Honeycomb(蜂巢)
只是给平板电脑使用的系统
4.0
Ice
cream
SandWich(冰激凌三明治)三合一
手机
电视
平板
4.1
Jelly
Bean
(果冻豆
)
4.2
Jelly
Bean
(果冻豆
)
5.0
Lime
Pie
(酸橙派)
体系结构:
Android的四层架构图
:
1.applicaitons:应用程序层
2.applicaitons frameword:应用框架层(api层)
3.libraries(库,c语言库):里面是c语言的开源框架
Android runtime:(dalvik vm) 达尔维克虚拟机。每一个应用程序都是运行在虚拟机里面。
4.linux kernel(内核)驱动:他是Android工程师添加的,进程间的通讯,ipc , c代码。存在安全问题。
dalvik虚拟机和jvm的区别
为什么不是jvm
而要搞一个dalvik
vm:
jvm
在设计上是考虑pc
不是移动设备
特点:1
速度快
2
功耗低
区别:
1
识别的文件不同
jvm:.class
文件
.jar
(压缩文件很多.class)
dalvik
vm:.dex文件
只是一个文件
一次加载所有的内容
2
架构不同:jvm:基于堆栈(内存条)
dalvik
vm:基于寄存器(cpu)
3
dvm:16M
20M
art模式:
android
runtime
:android
4.4才开始有的。在应用程序安装的时候,就把.dex文件编译成为系统所能识别的文件。android系统设计是不好滴。基于虚拟机。
sdk目录结构:
环境的搭建:
不要放置在中文目录
或者有空格的目录。
目录结构:
add-ons:google
map
docs:文档
extras:额外:升级后的一些支持包
希望在低版本中也可以使用。
platforms:开发平台
platfrom-tools:平台工具
aapt:把应用程序打包成apk的工具
adb
shell
进入android的文件系统
cd
/mnt/sdcard
cd
..
退到上一级
pwd
显示当前所在位置
adb
工具:android
debug
bridge
安卓调试桥
连接
手机、模拟器
sample:例子
sources:源码(只是部分的源码)
关联源码
system-images:镜像文件
安装系统
tools:工具
adb环境变量配置:
把adb.exe所在的目录配置在path里面就可以了。
adb指令:
adb
shell
进入android的文件系统
cd
/mnt/sdcard
cd
..
退到上一级
pwd
显示当前所在位置
ddms使用:
Devices:设备列表
Logcat:日志
Emulator Control:模拟器控制台
File Explorer:文件列表
Android开发eclipse工程的目录结构:
Android系统里面不可能出现两个包名相同的应用。
src:源码 java
gen:自动生成的java文件
Android 4.12:Android的版本
Android Dependencies:安卓的依赖包,支持包
assets:资产
bin:临时生成的
libs:第三方的库 jar包
res:资源(自动编译在R.java)
drawable-hdpi(ldpi,mdpi,xhdpi,xxhdpi):图片
layout:布局(xml)
values(values-v11,values-v14):字符串
AndroidManifest.xml:清单文件(配置文件 web.xml)
project.properties:配置应用的版本号
吧res目录下所有的资源映射到R.java文件,方便编程
应用程序的图片和名称:
packge = xxx:包名
Android:versionCode=”1“:版本号,升级
<
application:应用节点
Android:icon="@drawable/ic_launcher":应用的图标
Android:lable="@string/app_name":应用的标题
<
activity:界面
Android是基于组件的开发:基于四大组件:activity
service
broadcastReceiver
provider
j2ee也是基于组件的开发:基于三大组件:servlet
filter
listener
图像显示:Graphical Layout
XML显示:activity_main_xml
xml代码解析:
xmls:tools ="http://schemas.android.com/tools":相对布局
android:layout_width="match_parent":布局的宽
android:layout_height="match_parent":布局的高
match_parent:匹配父类
<
TextView:文本显示控件
wrap_content:包裹内容
android:layout_centerHorizontal="true":水平居中
android:layout_centerVertical="true":垂直居中
android:text="@string/hellow_world":显示内容
apk生成和安装的流程:
1.打包 appt.exe
2.上传 adb
3.安装
4.启动
点击事件的写法:
LinearLayout线性布局,orientation:方向
<
LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
提示信息,输入的限制类型:
TextView,EditText,Button
找到控件:
et_number = (EditText) findViewById(R.id.et_number);
bt_dial = (Button) findViewById(R.id.bt_dial);
给按钮设置监听:
bt_dial.setOnClickListener(new OnClickListener() { ... })--->
匿名内部类
按钮点击的时候调用:
public void onClick(View v) { ... }
获取号码:
String number = et_number.).toStrgetText(ing();
判断一下号码是否为空:
if(TextUtils.isEmpty(number)) { ... }
提醒用户 this:当前的类对象:
Toast toast = Toast.makeText(MainActivity.this, "亲,号码为空", Toast.LENGTH_LONG);
显示:
toast.show();
拨号:在系统里面有一个拨号的组件已经存在,激活电话应用里面的拨号组件:
Intent intent = new Intent();
--->
意图对象,组成:动作和数据
设置动作:
intent.setAction(Intent.ACTION_CALL);
数据:
Uri data = https://www.songbingjia.com/android/Uri.parse("tel:"+number);
设置数据:
intent.setData(data);
激活activity的组件:
startActivity(intent);
拨号的组件需要权限,该组件对外暴露的时候他要求这样的权限
<
user-permission android:name="android.permission.CALL_PHONE"/>
短信发送器:
真实手机的部署程序的方法:
1.准备真实安卓手机
2.给手机安装驱动
3.打开开发者模式
4.run as
常见的布局(线性,相对,表格,绝对,帧布局)
线性布局:
Line arLayou
t线性布局,orientation:方向
相对布局:
android:layout_toLeltOf-->
位于左边
android:layout_toRightOf-->
位于右边
android:layout_above-->
上面
android:layout_below-->
下面
和什么对齐:
android:layout_alignLelt-->
左边
android:layout_alignTop-->
顶部
android:layout_alignRight-->
右边
android:layout_alignBottom-->
底部
和父元素:
android:layout_alignParentLelt-->
左边
android:layout_alignParentTop-->
顶部
android:layout_alignParentRight-->
右边
android:layout_alignParentBottom-->
底部
android:layout_centerInParent
android:layout_centerHorizontal
android:layout_centerVertical
宽:
android:layout_width
高:
android:layout_height
外边距:
android:layout_margin
帧布局:
特点:一层一层的显示
<
FrameLayout>
<
/FrameLayout>
布局居中:
android:layout_gravity="center"
表格布局:
特点:一行,一列
<
TableLayout>
<
/TableLayout>
android:layout_weight="1"-->
权重:比重
android:gravity="center"-->
控件里面的内容居中
绝对布局:
注意:开发中不要使用
<
AbsoluteLayout>
<
/AbsoluteLayout>
常见单位:
dip
px(像素:不要使用)
如果是长度的单位:dp
dip
文字的大小:sp
【Android基础第一天】
推荐阅读
- Win 8运用Administrator提示“无法运用内置管理员账户打开程序”怎样办
- 5) 十分钟学会android--ActionBar知识串烧
- 7(安卓的回调机制)
- 6) 十分钟学会android--Activity的生命周期之启动与销毁
- 8) 十分钟学会android--Activity的生命周期之停止与重启
- 7) 十分钟学会android--Activity的生命周期之暂停与恢复
- 9) 十分钟学会android--使用Fragment建立动态UI
- 安卓 打飞机 app 开发 第一篇
- AndroidStudio3.0的安装和配置笔记