android开发教程 amp;笔记_图文
黑马程序员android开发笔记及源码

01、什么是3G02、android系统简介03、android背景介绍04、android的framewor简介05、两种虚拟机的比较06、sdk的下载以及简介07、创建android模拟器08、ddms简介09、platform-tools的简介及常见adb指令10、android项目的目录结构11、android下apk安装的过程12、常见的adb指令介绍13、创建模拟器遇到的常见错误14、电话拨号器15、点击事件的四种写法16、短信发送器17、相对布局&单位介绍18、现形布局&布局的组合19、表格布局&绝对布局20、帧布局21、测试相关概念22、android下junit测试框架配置23、logcat简介24、保存文件到手机内存25、android下文件访问的权限26、保存文件到SD卡中27、分析setting源代码获取SD卡大小28、_sharePreference入门29、xml文件的序列化30、采用pull解析xml文件31、采用断电调试的方法观察pull解析的的流程32、android下创建一个sqllite数据库33、sql语句实现数据库的增删改查34、系统api实现数据库的增删改查&Sqlite3工具的使用35、数据库的事物36、listView入门37、采用layoutInflater打气筒创建一个view对象38、采用数据适配器ArryAdapter39、常用数据适配器simpleAdapter40、数据适配器总结41、内容提供者简介42、内容提供者的实现43、短信的备份44、插入一条记录到系统短信应用45、内容观察者46、获取系统的联系人信息47、保存联系人到系统通讯录48、读取联系人的一个小细节49、网络图片查看器50、anr产生的原理&如何避免51、android消息机制入门52、网络html查看器53、字符乱码问题的处理54、采用get方式提交数据到服务器55、采用post方式提交数据到服务器56、提交数据到服务器中文乱码问题的处理57、采用httpclient提交数据到服务器58、异步http框架简介&实现原理59、异步http框架提交数据到服务器60、上传文件到服务器61、smartimageview&常见开源代码62、多线程下载的原理63、多线程断点下载的原理64、多线程java代码移植到android65、多线程下载文本页面的更新66、显示意图激活另一个activity67、隐式意图激活另一个activity68、隐式意图的配置69、隐式意图和显示意图的使用场景70、在不同activity之间数据传递71、activity的声明周期72、activity的启动模式73、activity横竖屏切换的声明周期74、开启新的activity获取他的返回值75、请求码和结果码的作用76、利用广播实现ip拨号77、短信窃听器78、自定义广播时间&发送自定义广播&广播接受者优先级79、采用服务执行长期后台操作80、采用服务窃听电话&服务的声明周期81、android进程优先级&为什么使用服务82、绑定方式开启服务&调用服务的方法83、服务的声明周期(混合开启84、采用aidl绑定远程服务85、代码注册广播接受者&利用广播调用服务的办法86、加载大图片到内存87、获取图片exif信息88、从gallery获取图片89、图片画画板90、扒开美女衣服91、图片的缩放92、图片的旋转93、图片的平移&镜面&倒影效果94、图片的合成95、图片的颜色处理96、多媒体播放api简介97、人脸识别98、mediaplayer的生命周期99、soundpoo简介100、sufaceview的生命周期101、播放在线视频102、视频播放器进度的处理103、调用系统照相机拍照和录像104、采用camera拍照105、常见对话框106、notification入门107、菜单108、android下的样式109、android下的主题110、代码编写ui111、html创建ui112、帧动画113、代码创建创建的tween动画114、xml文件定义动画115、传感器简介116、117、杀死进程118、apk的安装119、应用程序的反编译120、动态创建fragment121、用fragment创建一个选项卡122、fragment的向下兼容性123、fragment的生命周期124、fragment之间的通讯125、应用程序国际化04、android的framewor简介Wap:wait and playWireless Makeup Language(WML)精简的html语言Applications:android自带的基本上层应用Aplication framework:应用程序框架Librarics:Linux lernel:05、两种虚拟机的比较编译后文件格式:jvm:.java->.class->.jardalvik vm:.java->.dex->.odex基于的架构:jvm:基于栈的架构dalvik vm:基于寄存器的架构Cpu直接访问寄存器因此dalvik虚拟机的效率比jvm高06、sdk的下载以及简介->获取sdk工具包(sdk:standard develope kits)->ADT(android develop tools,实际上是eclipse的插件)SDK具体内容Android->SDK Plateform:开发时使用到的jar包->Samples for sdk:->ARM EABI V7a System Image:模拟器运行时的镜像->Intel n86 Aton System:模拟器运行时的镜像->MIPS System Image:模拟器运行时的镜像->google APIs:google提供的jar包,可以直接使用google提供的一些API ->source for android SDK:SDK全部的源代码Extrals:->tools:开发的工具->support library:实现高版本的android向下的兼容->google Admed Ads SDK:gongle提供的广告插件->Analyties App Irackiong SDK:应用的用户分析->cloud message:云消息->gongle play service:收费服务->google USB Driver:真实的设备驱动开发时:基于4.0,兼容2.2、2.3.307、创建android模拟器avd:android virture developerVGA:480*640(电视的标准分辨率)QVGA:240*320(四分之一)HVGA:320*480(一半)WVGA:480*800(width)FWVGA:480*854(更宽)08、ddms简介ddms:模拟器不支持中文,因此发送中文会显示不出来09、platform-tools的简介及常见adb指令Android调试桥:内部实现就是socket让两个系统之间实现数据交互->reset adb:模拟器找不到时候可以重启->adb device:列出所有的连接的设备->adb kill-server:杀死adb调试桥->adb start-server 启动adb调试桥dx.bat:将.class文件打包10、android项目的目录结构一:SDK的目录结构->Samples->Api demo:根据API demo(模拟器上面可以看见)的效果可以在sample中看见相应的代码->Source:jar包所有的sdk源代码都在这个文件夹里->SystemImage:系统镜像->temp:下载更新临时存储的文件夹,一般是空的->tools:emulater.ext 不同版本的模拟器二:New Android Application->theme:留给以后作为扩展,现在并没有太大的作用->target SDK:一般选择高版本,因为高版本对下兼容->mark project as a library:一般不选择,意思是将这个项目提供一个jar包供别人使用三:文件夹目录.setting:设置目录assets:资产目录,存放一些文件,这些文件会被原封不动打包到应用程序的apk中bin:gen:自动生成的目录->builderConfig.java:生成的配置信息->R.java:Android 4.1.2->android.jar开发环境,jar包可以在properties中修改,jar包就是SDK011、Android下apk的安装过程一、Android安装过程分析:->setContentView:甚至view的对象,把里面的xml文件加载到->在project中选择build automaticly会自动把文件生成字节码文件,.class $代表的class文件生成的是内部类->dex.bat文件会把.class文件生成.dex文件->apk压缩文件解压内部内容->META-INF:应用程序的签名eclipse的调试签名文件->res:资源文件->classes.dex:class文件->resources.arsc:资源ID映射->android软件安装的过程:->拷贝xxx.apk带/data/app/xxx-1.apk->在/data/data目录下创建一个文件夹,文件夹名称当前应用程序的报名012、常见adb指令前提:->设备连接上电脑而且驱动安装正常,如果安装不正常的话,会有黄色的问号显示;->设备上打开USB调试;指令:->adb device(如果启动发现这个程序没有安装会自动安装)->adb kill-server->adb start-server->adb uninstall <包名>->adb -s emulator-5554 install c:\\users\\administrator\\hello.apk如果有多个设备的话,如果不指定安装的是哪个设备程序会报错->adb push haha.prop /sdcard/haha.txt 将文件移到(360管家,豌豆荚之类的软件他们也是用的adb指令,倘若电脑上装这些软件的话,会因为两个adb指令抢端口号而挂掉)(adb版本之间兼容不是很好,经常报错可以考虑下版本的问题)->adb shell:远程连接到了android的linux终端ls:显示文件夹ps:显示正在运行的程序ping:网络连通性013、创建模拟器遇到的常见错误->路径最好不要有中文:->应用安装不上,或者安装模拟器的时候开启一个新的模拟器:可能是模拟器的资源被占用,模拟器在运行的时候其实占用着硬盘上面的一个文件,这个文件位于工作空间.android/avd/iphone.avd 里面会有镜像文件,当一个模拟器开启起来了,就给你创建一个文件夹.knock的文件夹,代表着这个模拟器被锁定了,如果把模拟器关掉,就没有程序占据这几个镜像资源了,那么这几个程序就会被自动删除。
Android开发教程入门(软件安装流程)

Android开发教程第一部分:安装SDK这里介绍如何安装Android的SDK开发包和配置开发环境。
如果你还没有下载SDK,点击下面的链接开始。
Download the Android SDK系统和软件配置要求要通过Android SDK中提供的代码和工具进行Android应用程序的开发,需要一个合适的用于开发的电脑和合适的开发环境,具体要求如下:支持的开发环境EclipseEclipse 3.2,3.3(Europa)Android开发工具插件(可选)其他的开发环境或者IDEJDK5.0或者JDK6.0(仅有JRE是不够的)安装SDK下载好SDK包后,将zip文件解压缩至合适的地方。
在下文中,我们默认你的SDK安装目录为$SDK_ROOT 你可以选择将$SDK_ROOT/tool s加入到你的路径中1.Linux下,打开文件~/.bash_profile或者~/.bashrc,找到设定PATH环境变量的一行,将$SDK_ROOT/tools的完整路径加入其中。
如果没有找到设定PATH变量的行,你可以自己添加一行:export PATH=${PATH}:<你的$SDK_ROOT/tools的完全路径>2.Mac下,在你的home目录中找到文件.bash_profile,和Linux的一样处理。
如果还没有在机器上设定这个文件,你可以创建一个.ba sh_profile文件。
3.Windows下,右键点击【我的电脑】,选择【属性】,在【高级】页中,点击【环境变量】按键,在弹出的对话框中双击“系统变量”中的变量“Path”,将$SDK/tools的完全路径加入其中。
通过将$SDK/tools加入系统路径,在运行adb和其它一些命令行工具时就不需要键入完全路径名了。
需要注意到是,当你升级了SDK后,如果安装路径有变动的话,不要忘记了更新你的PATH变量的设置,将其指向变动后的路径。
安装Eclipse插件(ADT)如果你选择Eclipse作为Android的开发环境,可以安装一个专门为Android定制的插件:Android Development Tools(ADT),ADT插件集成了对Android工程和工具的支持,它包含了大量功能强大的扩展,使得创建、运行、调试Android程序更简单更快捷。
android基础知识ppt课件

9
控制台
标题文本预设
此部分内容作为文字排版占位显示 (建议使用主题字体)
标题文本预设
此部分内容作为文字排版占位显示 (建议使用主题字体)
标题文本预设
此部分内容作为文字排版占位显示 (建议使用主题字体)
标题文本预设
此部分内容作为文字排版占位显示 (建议使用主题字体)
标题文本预设
此部分内容作为文字排版占位显示 (建议使用主题字体)
标题文本预设
此部分内容作为文字排版占位显示 (建议使用主题字体)
10
研究成果与应用前景
• Supporting text here. • When you copy & paste, choose "keep text only" option.
11
代表着当前编码格式
Text here
Copy paste fonts. Choose the only option to retain text.
Android基础知识
Android 1. 目前全球智能手机最主要的两大阵营是Android和IOS,Android和IOS是移动操作系
统的名称,它们背后的公司是谷歌和苹果,所以有时候也叫做谷歌系统和苹果系统 2. 比较主流的电脑端操作系统有微软的Windows、苹果的的IOS及开源的Linux,相对
5
Android Studio界面的简单介绍
页面标题依次显示项目名称,项目所在路径,模块名,当前编辑类的路径。
6
Android新建项目
File—New—NewProject
7
Android studio开发工具的介绍
快捷键
8
Android手机开发教程

2.2.2 Eclipse的安装与汉化 12
2.2.3 SDK和ADT的安装和配置 14
2.3 创建第一个Android项目——HelloAndroid 16
2.3.1 创建HelloAndroid项目 16
20世纪90年代初,裘伯君、鲍岳桥等IT行业的前辈“单打独斗”就能开发出脍炙人口的应用,如今做一个项目动辄就需要数百人的大规模团队和千万级的巨额开发费用,程序员真的没有了展露个人才华和创意的机会吗?我们正站在移动技术改变人类生活方式的十字路口,而移动互联网正是这一切的关键。Android以全新的开放平台和全球化的市场,为小团队提供了一个充分展现自己的舞台。本书为所有Android开发者提供了绝佳的参考,不可不读!
在安装了Android开发环境之后,可以直接将Android项目导入到Eclipse中,步骤如下:
首先,启动Eclipse,选择“File”→“Import...”菜单,展开“General”项,选择“Existing Projects into Workspace”导入项目到工作区,如图3所示。
—Android中文用户组
随着3G技术的成熟和智能手机的不断普及,移动应用的需求与日俱增,移动应用开发成为当下最热门的技术之一。在Google和Android手机联盟的共同推动下,Android在众多移动应用开发平台中脱颖而出。本书的出版对于广大Android应用开发者来说不啻是一种福音,它将为Android开发者社区注入强大的活力!
—谷奥(/)
这是一本参考手册,内容的完整性和系统性几乎无可挑剔,可作为广大Android开发者的案头必备书;这是一部权威指南,基础知识部分翔实而丰富,高级知识部分深入且饱含最佳实践,能从本质上提升开发者对Android的理解和开发水平。尤为值得一提的是,Android 2.0中新增了大量激动人心的新特性,不仅支持多点触摸设备、软键盘,而且还支持多账户在线管理、蓝牙……作为国内第一本基于Android 2.0的著作,本书可谓极具前瞻性,第一时间将这些新特性完美地呈现给了广大读者。
Android官方开发教程中文版(四)

Android官方开发教程中文版管理Activity的生存周期管理Activity的生存周期当用户通过导航离开然后又返回你的App,App的Activity实例在它们的生存周期内在两个不同的状态之间转换。
例如,Activity首次启动时成为系统的前台并接受用户的关注,在这个过程中,Android系统在你的Activity上调用一系列生命周期方法设置用户界面和其它组件。
如果用户执行了一个启动另一个Activity或切换到其它App的动作,系统调用生命周期的其它方法把Activity移到后台(Activity不再可见,但实例和状态仍然完好无损)。
在生命周期的回调方法中,你可以定义当用户离开和重新进入Activity时,Activity的行为。
例如,如果你正在创建一个流媒体视频播放器,当用户切换到其它App时,你可以暂停视频并中断网络连接。
当用户返回时,你再重新连接网络并允许用户从暂停点恢复播放。
本课程解释了重要的生命周期回调方法,每个Activity实例接收和如何使用它们,使Activity执行用户期望的结果,并且当Activity不需要它们时,不会消耗系统资源。
启动Activity不像其它编程范例由main()方法启动,Android系统在Activity中通过调用对应生命周期特定阶段的回调方法来启动代码。
在启动Activity时有一系列的回调方法,销毁Activity时也有一系列的回调方法。
本节内容提供了大部分重要的生命周期方法的概览,并且展示了在创建Activity的新实例时如何处理首个生命周期的回调。
理解生命周期回调在Activity的生存期内,系统在一个阶梯状金字塔的序列中调用核心的生命周期方法。
也就是说,Activity生命周期的每一个阶段都是这个金字塔上的一个台阶。
随着系统创建新的Activity实例,每个回调方法都把Activity的状态向顶部移动一步,当到达顶部时,Activity 运行在前台并可以和用户交互。
《Android应用开发》课件——第5章 数据存储

File SDPath = Environment.getExternalStorageDirectory();
File file = new File(SDPath, "data.txt");获取SD卡目录
String data = "HelloWorld";
FileOutputStream fos = new FileOutputStream(file);
注意:Android系统有一套自己的安全模型,默认情况下任何应用创 建的文件都是私有的,其他程序无法访问。
✎
5.2.1 将数据存入到文件中
内部存储
String fileName = "data.txt";
// 文件名称
String content = "helloworld";
// 保存数据
FileOutputStream fos = openFileOutput(fileName, MODE_PRIVATE);
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
动态申请权限的方法
外部存储 ✓ 存储位置
将数据以文件的形式存储到外部设备上。
✓ 存储位置
mnt/sdcard/目录下。
✓ 其它应用操作该文件时
不用设置权限,会被其它应用共享
✓ 删除文件
该文件可在本应用外删除,使用前需要 确认外部设备是否可用
✓ 删除文件
直接使用FileOutputStream和 FileInputStream操作对象
第1章 Android基础入门(Anddroid)

在XML布局文件中调用名为app_name字符串资源 @string/app_name
✎ 1.5.5 颜色资源
颜色资源
– 定义位置:res/values/文件夹的colors.xml文件中 – colors.xml文件中的颜色资源
用于<定?xm义l 颜ver色sio资n=源"1的.0"标en签coding="utf-8"?>
19.6%
4.5K-6K
0.7%
20K-30K
29.8%
10K-15K
22.3%
6K-8K
2.8%
8K-10K
5.7%
¥18610
取自12554份样本可供参考 截止至2018年12月
数据来源:职友集
✎ 1.1.1 通信技术
通信技术
第一代通信技术(1G):是指最初的模拟、仅限语音的蜂窝电话 标准。
使用AndroidStudio创建程序, 使用模拟器运行程序。
① 在Android Studio的Welcome to Android Studio窗 口中选择【Start a new Android Studio project】选 项创建项目
② 点击工具栏中【AVD Manager】标签启动模拟器
✎ 1.5.5 颜色资源
颜色资源
– 调用方式
➢ 通过Java代码调用颜色资源
在Activity的onCreate()方法中调用名为colorPrimary的颜色资源 getResources().getColor(R.color.colorPrimary);
➢ 在XML布局文件中调用布局资源文件
//在XML布局文件中调用activity_main.xml布局资源 <include layout="@layout/activity_main"/>
第1章 Android基础入门

July 2012
KitKat
4.4 - 4.4.4
Oct 2013
Lollipop
5.0 - 5.1.1
Nov 2014
Marshmallow
6.0 - 6.0.1
Oct 2015
Nougat
7.0 - 7.1
Sept 2016
Oreo
8.0 - 8.1
Sept 2017
Pie
9.0
Aug 2018
2021/10/19
第1章 Android基础入门
7
智能手机操作系统市场份额
数据来源:https:///cn/smartphone-os-market-share/
2021/10/19
第1章 Android基础入门
8
Android的优势
基于开源技术 自由度高 选择多样化 广泛的开发群体
2021/10/19
第1章 Android基础入门
6
Android和iOS的区别
对比项目
Android
iOS
开发语言
Java、Kotlin
Objective-c、Swift
系统开放性 Android源码开放,开放性更好 封闭操作系统,开放性较差
系统安全性 源代码开放,安全性较差
封闭操作系统,安全性更高
Dalvik通过一组C核心库调用Linux内核的功能,同时基于Dalvik向上提供了一个 功能完备的SDK
为了能充分利用已有的基础,Android SDK尽量与Java SE保持一致,这使得 Android应用的开发与普通Java应用程序的开发高度类似
2021/10/19
第1章 Android基础入门