产品特色
编辑推荐
《Android Studio开发实战:从零基础到App上线》是一本非常实用的指导手册,它几乎包含了 Android Studio 所有的实用功能和操作技巧,适合放在你的电脑旁经常翻阅。
本书以通俗易懂的语言描述工具的使用技巧,并且每个操作都有实例演示,让读者感觉是在跟一个有经验的人聊天。
本书以近 1500 张图片详细描述 Android Studio 的使用,是真正的图文并茂。
本书以解决问题为目的,讲述如何使用工具来解决实际问题。
本书专注于操作技巧的讲解,对于 Android 开发的基础知识略有提及,但不是本书的重点。
本书以 macOS 上的操作为例进行演示,不同操作系统上 Android Studio 的操作差异不大,对于快捷键会区分 macOS / Windows / Linux。
本书的大部分操作技巧同样适用于 IntelliJ IDEA。
内容简介
《Android Studio开发实战:从零基础到App上线》是一部Android开发的实战教程,由浅入深、由基础到高级,带领读者一步一步走进App开发的神奇世界。
全书共分为16章。其中,前8章是基础部分,主要讲解Android Studio的环境搭建、App开发的各种常用控件、App的数据存储方式、如何调试App并将App发布上线;后8章是进阶部分,主要讲解App开发的设备操作、网络通信、事件、动画、多媒体、融合技术、第三方开发包、性能优化等。书中在讲解知识点的同时给出了大量实战范例,方便读者迅速将所学的知识运用到实际开发中。通过本书的学习,读者能够掌握3类主流App的基本开发技术,包括购物App(电子商务)、聊天App(即时通信)、打车App(交通出行)。另外,能够学会开发一些趣味应用,包括简单计算器、房贷计算器、万年历、日程表、手机安全助手、指南针、卫星浑天仪、抠图工具、动感影集、影视播放器、音乐播放器、WIFI共享器等。
本书适用于Android开发的广大从业者、有志于转型App开发的程序员、App开发的业余爱好者,也可作为大中专院校与培训机构的Android课程教材。
作者简介
欧阳燊 同济大学计算机科学与技术专业学士,浙江大学软件工程专业工程硕士,先后就职于福建新大陆软件工程公司、亚信科技有限公司杭州研发中心、福建福诺移动通信技术有限公司,历任系统分析师、高级软件工程师。具有12年以上软件开发经验,熟悉C/C++、Java及相关软件架构,两年Android开发经验,从事一款用户量超千万的App项目开发,对Android开发拥有丰富的实战经验。
目录
目 录
第1章 Android Studio环境搭建 1
1.1 Android Studio简介 2
1.2 Android Studio的安装 2
1.2.1 开发机配置要求 2
1.2.2 安装依赖的软件 3
1.2.3 安装Android Studio 5
1.3 运行小应用Hello World 7
1.3.1 创建新项目 7
1.3.2 编译项目/模块 10
1.3.3 创建模拟器 10
1.3.4 在模拟器上运行App 11
1.4 App的工程结构 12
1.4.1 工程目录说明 12
1.4.2 编译配置文件build.gradle 13
1.4.3 App运行配置AndroidManifest.xml 15
1.4.4 在代码中操纵控件 15
1.5 准备开始 17
1.5.1 使用快捷键 17
1.5.2 安装SVN工具 18
1.5.3 安装常用插件 19
1.5.4 导入ADT工程 21
1.6 小结 22
第2章 初级控件 23
2.1 屏幕显示 24
2.1.1 像素 24
2.1.2 颜色 25
2.1.3 屏幕分辨率 26
2.2 简单布局 27
2.2.1 视图View的基本属性 27
2.2.2 线性布局LinearLayout 30
2.2.3 滚动视图ScrollView 32
2.3 简单控件 34
2.3.1 文本视图TextView 34
2.3.2 按钮Button 38
2.3.3 图像视图ImageView 39
2.3.4 图像按钮ImageButton 43
2.4 图形基础 45
2.4.1 Drawable 46
2.4.2 状态列表图形 47
2.4.3 形状图形 48
2.4.4 九宫格图片 51
2.5 实战项目:简单计算器 52
2.5.1 设计思路 53
2.5.2 小知识:日志Log/提示Toast 54
2.5.3 代码示例 55
2.6 小结 58
第3章 中级控件 59
3.1 其他布局 60
3.1.1 相对布局RelativeLayout 60
3.1.2 框架布局FrameLayout 64
3.2 特殊按钮 65
3.2.1 复选框CheckBox 65
3.2.2 开关按钮Switch 66
3.2.3 单选按钮RadioButton 67
3.3 适配视图基础 68
3.3.1 下拉框Spinner 68
3.3.2 数组适配器ArrayAdapter 69
3.3.3 简单适配器SimpleAdapter 70
3.4 编辑框 71
3.4.1 文本编辑框EditText 72
3.4.2 自动完成编辑框AutoCompleteTextView 77
3.5 Activity基础 78
3.5.1 Activity的生命周期 78
3.5.2 使用Intent传递消息 82
3.5.3 向下一个Activity传递参数 84
3.5.4 向上一个Activity返回参数 85
3.6 实战项目:登录App 88
3.6.1 设计思路 88
3.6.2 小知识:AlertDialog 89
3.6.3 代码示例 91
3.7 小结 94
第4章 数据存储 95
4.1 共享参数SharedPreferences 96
4.1.1 基本用法 96
4.1.2 实现记住密码功能 97
4.2 数据库SQLite 98
4.2.1 SQLite的基本用法 98
4.2.2 SQLiteOpenHelper 100
4.2.3 优化记住密码功能 106
4.3 SD卡文件操作 108
4.3.1 SD卡的基本操作 108
4.3.2 文本文件读写 110
4.3.3 图片文件读写 111
4.4 Application基础 112
4.4.1 Application的生命周期 112
4.4.2 利用Application操作全局变量 113
4.5 实战项目:购物车 115
4.5.1 设计思路 115
4.5.2 小知识:菜单Menu 116
4.5.3 代码示例 119
4.6 小结 125
第5章 高级控件 126
5.1 日期时间控件 127
5.1.1 日期选择器DatePicker 127
5.1.2 时间选择器TimePicker 128
5.2 列表类视图 129
5.2.1 基本适配器BaseAdapter 129
5.2.2 列表视图ListView 133
5.2.3 网格视图GridView 138
5.3 翻页类视图 142
5.3.1 翻页视图ViewPager 142
5.3.2 翻页标题栏PagerTitleStrip/PagerTabStrip 145
5.3.3 简单的启动引导页 147
5.4 碎片Fragment 150
5.4.1 静态注册 150
5.4.2 动态注册/碎片适配器FragmentStatePagerAdapter 154
5.4.3 改进的启动引导页 157
5.5 Broadcast基础 159
5.5.1 发送/接收临时广播 159
5.5.2 定时器AlarmManager 162
5.6 实战项目:日历/日程表 163
5.6.1 设计思路 163
5.6.2 小知识:震动器Vibrator 165
5.6.3 代码示例 165
5.7 小结 170
第6章 自定义控件 171
6.1 自定义视图 172
6.1.1 声明属性 172
6.1.2 构造对象 175
6.1.3 测量尺寸 176
6.1.4 绘制视图 179
6.2 自定义动画 184
6.2.1 任务Runnable 184
6.2.2 下拉刷新动画 185
6.2.3 圆弧进度动画 186
6.3 自定义对话框 190
6.3.1 对话框Dialog 190
精彩书摘
第13章 多 媒 体
本章介绍App开发常见的多媒体技术,主要包括如何使用各种图像控件实现自定义相册、如何使用视频相关控件实现视频播放器,另外介绍四大组件之一的ContentProvider的基本概念与常见用法。最后结合本章所学的知识演示一个实战项目“音乐播放器——浪花音乐”的设计与实现。
13.1 相 册
本节介绍自定义相册的实现过程,首先说明使用画廊或循环视图如何实现简单相册;接着阐述使用图像切换器如何实现相册的左右滑动功能;然后分别介绍卡片视图与调色板的用法,并结合上述图像控件完成一个图片查看器——青青相册。
13.1.1 画廊Gallery
前几章使用文件对话框打开图片时只能看到图片的文件名,看不到图片的缩略图,对用户来说很不方便,因为光看文件名怎么知道这张图片什么模样呢?如果是在电脑上,就可以查看一组图片的缩略图列表,很容易找到想要的图片。在手机上可以使用相应的图像控件做出缩略图展示的相册效果。
画廊Gallery是专门用于展示图片列表的控件,左右滑动手势即可展示内嵌的图片列表,画面效果类似于一个平面万花筒。尽管Android将Gallery标记为Deprecation(表示已废弃),建议开发者采用HorizontalScrollView或ViewPager代替,不过Gallery用来轮播图片是一个挺好的选择。不妨了解一下Gallery控件,并结合其他控件加深对图像开发的理解。
下面是Gallery的常用方法说明。
? setSpacing:设置图片之间的间隔大小,对应的XML属性是spacing。
? setUnselectedAlpha:设置未选定图片的透明度,对应的XML属性是unselectedAlpha。取值范围为0.0~1.0,0.0表示完全透明,1.0表示完全不透明。
? setAdapter:设置画廊的适配器。
? getSelectedItemId:获取当前选中的视图序号。
? setSelection:设置当前选中第几个视图。
? setOnItemClickListener:设置单项的点击监听器。
使用画廊看起来很简单,接下来试着用Gallery结合ImageView实现观看画廊的相册效果。首先在布局文件中放置一个框架布局FrameLayout,里面放一个画廊控件与一个图像视图控件,ImageView设置为充满整个屏幕,Gallery放在屏幕下方;然后监听Gallery控件的单项点击事件,当用户点击指定图片项时,使用ImageView控件填充该图片,也就是点小图看大图。
下面是通过Gallery与ImageView实现简单相册的代码:
public class GalleryActivity extends AppCompatActivity implements OnItemClickListener {
private ImageView iv_gallery;
private Gallery gl_gallery;
private int[] mImageRes = { R.drawable.scene1, R.drawable.scene2, R.drawable.scene3,
R.drawable.scene4, R.drawable.scene5, R.drawable.scene6 };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_gallery);
iv_gallery = (ImageView) findViewById(R.id.iv_gallery);
iv_gallery.setImageResource(mImageRes[0]);
int dip_pad = Utils.dip2px(this, 20);
gl_gallery = (Gallery) findViewById(R.id.gl_gallery);
gl_gallery.setPadding(0, dip_pad, 0, dip_pad);
gl_gallery.setSpacing(dip_pad);
gl_gallery.setUnselectedAlpha(0.5f);
gl_gallery.setAdapter(new GalleryAdapter(this, mImageRes));
gl_gallery.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView parent, View view, int position, long id) {
iv_gallery.setImageResource(mImageRes[position]);
}
}
Gallery相册的画面效果如图13-1和图13-2所示。其中,图13-1所示为展示相册第一张图片时的画面;图13-2所示为点击第二张小图时,屏幕展示第二张大图的画面。
图13-1 画廊展示第一张图片 图13-2 画廊展示第二张图片
如果想用其他控件替代Gallery,就可以考虑使用功能强大的循环视图RecyclerView。具体实现时主要是定义一个水平方向的线性布局管理器,然后通过适配器填入图片列表。
使用RecyclerView与ImageView实现相册的代码很简单,举例如下:
public class RecyclerViewActivity extends AppCompatActivity implements OnItemClickListener {
private ImageView iv_photo;
private RecyclerView rv_photo;
private int[] mImageRes = { R.drawable.scene1, R.drawable.scene2, R.drawable.scene3,
R.drawable.scene4, R.drawable.scene5, R.drawable.scene6 };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recycler_view);
iv_photo = (ImageView) findViewById(R.id.iv_photo);
iv_photo.setImageResource(mImageRes[0]);
rv_photo = (RecyclerView) findViewById(R.id.rv_photo);
LinearLayoutManager manager = new LinearLayoutManager(this);
manager.setOrientation(LinearLayout.HORIZONTAL);
rv_photo.setLayoutManager(manager);
PhotoAdapter adapter = new PhotoAdapter(this, mImageRes);
adapter.setOnItemClickListener(this);
rv_photo.setAdapter(adapter);
rv_photo.setItemAnimator(new DefaultItemAnimator());
rv_photo.addItemDecoration(new SpacesItemDecoration(20));
}
@Override
public void onItemClick(View view, int position) {
iv_photo.setImageResource(mImageRes[position]);
rv_photo.scrollToPosition(position);
}
}
使用RecyclerView方式实现的相册效果如图13-3和图13-4所示。其中,图13-3所示为展示相册第3张图片时的画面;图13-4所示为点击第4张小图时,屏幕展示第4张大图的画面。
图13-3 循环视图展示第3张图片 图13-4 循环视图展示第4张图片
13.1.2 图像切换器ImageSwitcher
可能读者已经发现,前面Gallery相册在切换大图时比较生硬,前后两张图片闪一下就切过去了,用户体验不够友好。有没有办法让图片切换自然一些呢,比如通过渐变动画的方式?答案肯定是有的,就是把占据整个屏幕的图像视图ImageView换成图像切换器ImageSwitcher,然后通过ImageSwitcher实现前后图片的切换动画。
ImageSwitche
Android Studio开发实战:从零基础到App上线 epub pdf mobi txt 电子书 下载 2024
Android Studio开发实战:从零基础到App上线 下载 epub mobi pdf txt 电子书 2024