安卓权威编程指南-笔记(第26章 服务的作用)
摘要:1. IntentService IntentService也是一个context(Service是Context的子类),并能够响应intent。 一个最基本的IntentService实例如下: 服务的intent又称作命令,每一个命令都要求服务完成某项具体的任务,服务种类不同,其执行命令的方式
阅读全文
安卓权威编程指南 挑战练习 25章 深度优化 PhotoGallery 应用
摘要:你可能已经注意到了,提交搜索时, RecyclerView 要等好一会才能刷新显示搜索结果。请接受挑战,让搜索过程更流畅一些。用户一提交搜索,就隐藏软键盘,收起 SearchView 视图(回到只显示搜索按钮的初始状态)。再来个挑战。用户一提交搜索,就初始化 RecyclerView ,显示一个搜索
阅读全文
安卓权威编程指南-笔记(第23章 HTTP与后台任务)
摘要:1. 网络连接基本 最后记得在AndroidManifest.xml文件中添加联网权限。 2. 线程与主线程 线程是个单一执行序列。单个线程中的代码会逐步执行。所有Android应用的运行都是从主线程开始的。然而,主线程不是线程那样的预定执行序列。相反,它处于一个无限循环的运行状态,等待着用户或系统
阅读全文
Fragment argument
摘要:每个Fragment实例都可以附带一个Bundle对象,该bundle包含键值对,可以像附加extra到Activity的intent中那样使用他们。一个键值对即一个argument。 创建fragement argument,首先创建Bundle对象,然后,使用Bundle限定类型的“put”方法
阅读全文
安卓权威编程指南 挑战练习 23章
摘要:23.10 挑战练习:Gson 要使用GSON,首先要添加GSON库的依赖。在dependencies闭包中添加如下内容: GSON可以将一段JSON格式的字符串自动映射成一个对象。 编写GalleryItemBean类,代码如下: 这里没有去重写GalleryItem类,而是在类中使用了Galle
阅读全文
安卓权威编程指南 挑战练习 22章 应用图标
摘要:首先增加一个RecyclerView的条目布局,代码如下: 较之前只增加了一个ImageView用来显示App的Icon。 接下来直接修改NerdLauncherFragment中的ActivityHolder类和ActivityAdapter类就可以了。代码如下:
阅读全文
安卓权威编程指南-笔记(第22章 深入学习intent和任务)
摘要:本章,我们会使用隐式intent创建一个替换android默认启动器的应用。名为NerdLauncher。 NerdLauncher应用能列出设备上的其他应用,点选任意列表项会启动相应应用。 1. 解析隐式intent 可启动的主 activity 都有包含 MAIN 操作和 LAUNCHER 类别
阅读全文
安卓权威编程指南-笔记(第21章 XML drawable)
摘要:在Andorid的世界里,凡事要在屏幕上绘制的东西都可以叫drawable,比如抽象图形,Drawable的子类,位图图形等,我们之前用来封装图片的BitmapDrawable就是一种drawable。 本章我们还会看到更多的drawable:state list drawable、shape dr
阅读全文
安卓权威编程指南 挑战练习15章
摘要:挑战练习:ShareCompat 修改mReportButton的点击事件
阅读全文
安卓权威编程指南 挑战练习 20.9 创建多版本主题
摘要:创建values-v21目录,再此目录下创建styles.xml文件,编辑如下代码:
阅读全文
安卓权威编程指南 -笔记(20章 样式与主题)
摘要:1.颜色资源 在res/values/color.xml内可以定义一些颜色供应用引用。 2.样式 样式是一套能够应用于视图组件的属性,用于复用相同的 UI 特性。 在res/values/styles.xml中添加一个BeatBoxButton样式。 3.主题 样式很有用。在styles.xml公共
阅读全文
安卓权威编程指南 -笔记(19章 使用SoundPool播放音频)
摘要:针对BeatBox应用,可以使用SoundPool这个特别定制的实用工具。 SoundPool能加载一批声音资源到内存中,并支持同时播放多个音频文件。因此所以,就算用户兴奋起来,狂按按钮播放全部音频,也不必担心会损坏应用或者耗光手机电量。 1. 创建SoundPool 2. 加载音频文件 相比其他音
阅读全文
安卓权威编程指南 -笔记(18章 处理assets)
摘要:resources资源可以存储声音文件,但当处理多个音乐文件时,效率会很低。 assets可以被看作随应用打包的微型文件系统,支持任意层次的文件目录结构。类似游戏这样需要加载大量图片和声音资源的应用通常都会使用它 1. 导入assets 在app模块下创建assets目录,然后建立需要的资源文件夹并
阅读全文
安卓权威编程指南 挑战练习 16章
摘要:创建一个根节点为ImageView的布局文件,代码如下: 接着创建一个PictureDialogFragment继承DialogFragement,用来显示大图。 最后修改CrimeFragment中的代码,使点击缩略图的时候让大图显示出来。 给缩略图控件增加点击事件即可 修改CrimeFragme
阅读全文
安卓权威编程指南 -挑战练习 15章。
摘要:修改CrimeFragment中的mReportButton监听器的点击事项。 为了嫌疑人电话的持久性存储。所以首先应在Crime类中增加一个嫌疑人的电话号码的字段。 增加字段后就要修改CrimeBaseHelper的onCreate()方法 接着修改CrimeCursorWrapper类中的get
阅读全文
安卓权威编程指南 挑战练习 13.8 用于RecyclerView的空视图
摘要:首先修改fragment_crime_list视图,增加一个TextView和一个Button控件: 然后在CrimeListFragment中设置TextView 和 Button 的全局变量 之后在onCreateView()方法中对这两个变量进行初始化,并对Button 设置点击事件,这里的点
阅读全文
安卓权威编程指南 挑战练习13.7-优化字符串资源显示
摘要:注意到没有,只有一条crime记录的时候,显示总记录数的子标题会显示:1 crimes。请改正这个粗心的语法错误。实现思路上,你可以在代码中准备不同字符串资源分情况使用,但这会给应用本地化制造麻烦。比较好的做法是使用复数字符串资源(又称为量化字符串)。首先,在strings.xml文件中定义复数字符
阅读全文
关于List比较好玩的操作
摘要:本文来自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/9347357。 作为Java大家庭中的集合类框架,List应该是平时开发中最常用的,可能有这种需求,当集合中的某些元素符合一定条件时,想要删除这个元素。如: [java] v
阅读全文
安卓权威编程指南 挑战练习13.6 14.8
摘要:首先为Crime增加一个菜单项。 在menu文件夹下创建一个名为crimefragment_crime的布局文件,代码如下: 之后在CrimeFragment中添加如下代码让菜单项显示出来: 删除crime记录,需要在存放Crime对象的List删除我们选中的条目。在CrimeLab中增加如下代码:
阅读全文
安卓权威编程指南 挑战练习:实现高效RecyclerView刷新
摘要:之前在CriminalIntent应用里面为itemView实现了点击事件。 所以现在可以通过点击事件获取到我们点击条目的位置。 首先添加一个全局变量 然后修改onClick()中的方法 这里简单说下RecyclerView.getChildAdapterPosition()方法,此方法可以获取It
阅读全文
安卓权威编程指南 挑战练习 5章 6章 8 章
摘要:1.通过onSaveInstanceState保存作弊痕迹,在onCreate()方法中获取即可。 2.通过onSaveInstanceState保存作弊痕迹,在onCreate()方法中获取即可。 3.建立一个boolean类型的数组,用来保存当前题目位置是否查看过答案。 github: http
阅读全文
百度地图API:使用百度地图
摘要:让地图显示出来 修改activity_main.xml中的代码 因为TextView现在暂时用不到了。所以先给TextView增加了一个visibility属性,并指定为gone。将其隐藏起来。 修改Mainctivity中的代码,如下所示: 首先调用SDKInitialzer的initialize
阅读全文
百度地图API:使用百度定位
摘要:准备工作: 1.申请百度地图API 2.下载百度地图的SDK 3.将SDK包中的BaiduLBS_Android.jar文件放到,项目里的app/libs里面 4.在src/main目录下创建一个名为jniLibs的目录,然后将SDK包中的其他所有目录放在里面。 5.同步一下项目。 首先修改布局文件
阅读全文
LitePal
摘要:Litepal采用的是对象关系映射(ORM)模式 LitePal的配置工作。 1.添加依赖 compile 'org.litepal.android:core:1.3.2' 2.配置litepal.xml文件 在src/main创建assets目录 然后在目录下创建一个litepal.xml文件 <
阅读全文
Lambda表达式
摘要:Lamdba表达式本质上是一种匿名方法,既没有方法名,也没有访问修饰符和返回值类型。 如果想要在Android项目中使用Lamdba表达式或者Java 8的其他新特性,首先我们需要在app/build.gradle中添加如下配置。 android { compileSdkVersion 25 bui
阅读全文
Android下的定时任务
摘要:Android中的定时任务一般有两种实现方式,一种是使用Java API里的Timer类,另一种是使用android的Alarm机制。 这两种方式在多数情况下都能实现类似的效果,但Timer有一个明显的短板,它并不太适用与那些需要长期在后台运行的定时任务。As we know,为了能让电池更加耐用,
阅读全文
定制自己的日志工具
摘要:为什么需要定制自己的日志工具呢?难道安卓自带的Log不好吗?虽然 Android 中自带的日志工具功能非常强大,但也不能说是完全没有缺点,例如在打印日志的控制方面就做得不够好 打个比方,你正在编写一个比较庞大的项目,期间为了方便调试,在代码的很多地方都打印了大量的日志。最近项目已经基本完成了,但是却
阅读全文
使用Intent传递对象
摘要:我们可以借助Intent来启动活动,发送广播,启动服务等。 还可以通过putExtra()方法传递一些数据。 但我们会发现putExtra()方法中所支持的类型是有限的。当我们想去传递一些自定义对象的时候,会发现无法通过putExtra()的方法进行传递。 但Intent是可以传递对象的。 使用In
阅读全文
AndroidStudio实现AIDL
摘要:AIDL的使用步骤 aidl远程调用传递的参数和返回值支持Java的基本类型(int long booen char byte等)和String,List,Map等。当然也支持一个自定义对象的传递。 服务端 修改生成的.aidl文件中的内容 这里定义了一个IMyAidlInterface接口,里面定
阅读全文
git基本命令(二)
摘要:忽略文件 git可以将用户指定的文件或者目录排除在版本之外,它会检查代码仓库目录下是否存在名为.gitignore文件,如果存在就会一行一行读取这个文件的内容,会将每一行指定的文件或目录排除在版本控制之外 .gitignore中指定的文件或者目录是可以使用'*'通配符 分支的用法 分支的作用:在现有
阅读全文
编写程序,监控手机电量,当电量小于15%时进行提示。
摘要:恢复内容开始 题目: 编写程序,监控手机电量,当电量小于15%的时候进行提示。 监控电池电量的变化,像这种操作特别频繁的广播事件,通过静态注册的方式是无效的。 所以需要对其进行动态注册。 第一步首先要创建一个广播接受者。 然在对其进行代码注册 最后一步 在清单文件里对其进行添加权限
阅读全文
AndroidStudio自动导入包
摘要:IntelliJ IDEA可以自动优化导入包,但是有多个同名的类位于不同的包时,需要自己手动使用Alt + Enter进行导入。 Settings→Editor→General→Auto Import 选中Optimize imports on the fly和Add unambiguous imp
阅读全文
运行时权限
摘要:Android6.0系统中新增加了运行时权限。 运行时权限也就是说在应用程序使用的过程中需要手动进行授权的权限。 Android将权限归成了两类,一类是普通权限,一类是危险权限。 对于普通权限,系统则会自动帮我们授权。 而危险权限则需要用户手动进行授权。 以下为Android中所有的危险权限 如果需
阅读全文
读取联系人
摘要:首先编辑一下布局文件。 联系人信息肯定是一条一条的,所以在布局中使用ListView即可 之后修改MainActivity中的代码 最后需要在AndroidManifest.xml内添加如下权限 读取联系人只需要获取到联系人程序的内容URI,然后借助ContentResolver进行增删改查操作即可
阅读全文
git基本命令(一)
摘要:在当前目录创建一个Git代码库 添加当前目录的所有文件到暂存区 提交暂存区到仓库区 通过以上三步,可以将创建一个本地代码库并将目录下的所有文件存放到代码库中 远程库版本库克隆到本地 撤销 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致 git reset -
阅读全文