PS:今天搞了一下如何实现音频播放...结果被坑了,看书上写的代码是挺简单的,但是有个函数就是死活没看懂,这真是受不了...最后才弄明白,原来是一个实现异步任务的一个类...这个类使用java.util.concurrent这个高效框架来管理线程以及任务的执行...可以解决匿名线程存在的问题... 学习内容: 1.理解AsyncTask 2.如何实现音频播放... 1.AsyncTask   AsyncTask的特点就是实现一个任务在另一个线程内执行,而不是在主函数中进行执行,这样就不会导致主线…
学习内容: 1.了解Drawable类的作用 2.如何使用Drawable... 3.了解Tween动画... 4.如何创建和使用Tween动画... 1.Drawable类...   Drawable类是对图像的一种抽象...我们可以通过getDrawable方法将图片绘制在屏幕上...Drawable类下有很多种类型...在这里我只对Bitmap和Bitmapfactory进行简单的介绍...通过一个例子来简单的介绍一下...这个例子的实现功能就是可以把我们手机内部的图像设置为当前壁纸,并且…
文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 在Handler的学习系列中,学习了如何handler实现worker线程与主线程(UI线程)之间的通信.这是一种通用的处理方式,因此Android SDK将handler和线程隐藏,抽象出来形成AsyncTask抽象类,方便开发者使用.之前有过一篇很好的博文:Android学习笔记(三二):线程:后台异步任务AsyncTask,详细介绍了…
目录(?)[-] 5秒超时异常 AsyncTask 实现AsyncTask抽象类 对AsyncTask的调用 在哪里运行 其他重要method 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件,转载须注明出处:http://blog.csdn.net/flowingflying/ 之前,我们直接在activity中执行http通信,在通信过程中可能会出现连接超时.socket超时等情况,超时阈值一般是秒级,例如AndroidHttpClient中设置的20秒,如果出现超时,就…
文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ Android提供服务,服务是运行在后台的组件,没有UI,独立于activity的生命周期.有两种类型的服务:local services和remote services.本地服务是只能被本应用调用,而远端服务则可以被其他应用调用.远端服务通过AIDL(Android Interface Definition Language)描述.在服务…
处理任意的XML文件 自定义的xml文件放置在res/xml/下,可以通过R.xml.file_name来获取一个XMLResourceParser对象.下面是xml文件的例子: <rootname="tom"><--也可以是<root>,本次采用带参数的方式作为实验-->    <leaf>Hello from an elementtest.</leaf>   <leaf>Hello World!</lea…
学习内容: 1.使用Volley实现异步加载Json数据...   Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后对对象进行解析,从而获取Json数据,另一种方式则是通过获取JsonArray的方式来对Json数据进行解析,其实就是Json数组...由于Json数据格式的不同,因此也就有了这两种方式...   因此实现类也就成为了两个JsonObjectRequest.java和JsonArrayRequest…
Android学习笔记进阶之在图片上涂鸦(能清屏) 2013-11-19 10:52 117人阅读 评论(0) 收藏 举报 HandWritingActivity.java package xiaosi.handWriting; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import a…
XML文件 android中使用XML文件,需要开发者手动创建res/xml文件夹. 实例如下: book.xml==> <?xml version="1.0" encoding="utf-8"?> <books> <book publishDate="2016.05.05" price="88.6">android学习笔记</book> <book publishD…
转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 本文将主要介绍在Android开发中,如何在服务器端创建JSON数据,以及如何在Android客户端对JSON数据进行解析. 1.JSON数据结构 在JSON中有两种数据结构:对象和数组. 1.1对象 在JSON中,一个对象以“{”(左括号)开始,“}”(右括号)结束.每个“名…
udacity android 学习笔记: lesson 4 part b 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 联系:1307316一九六八 声明:本文採用下面协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 ,转载请注明作者及出处. tips:https://code.csdn.net/titer1/pat_aha/blob/master/Mar…
在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Android学习笔记34:使用文件存储数据>. (2)Shared Preferences:常用来存储键值对形式的数据,对系统配置信息进行保存.具体使用方法可以参阅博文<Android学习笔记35:使用Shared Preferences方式存储数据>. (3)Content Providers:数…
1 理解Activity Activity就是一个包含应用程序界面的窗口,是Android四大组件之一.一个应用程序可以包含零个或多个Activity.一个Activity的生命周期是指从屏幕上显示那一刻起一直到最后隐藏所经历的若干阶段,理解其生命周期对确保应用程序正确的工作是极其关键的. a.Activity的生命周期 Activity的生命周期中包含三种状态:Resumed状态.Paused状态.Stopped状态,每一个Activity都处于某一个状态. Resumed状态,当Activi…
 Pro Android学习笔记(四八):ActionBar(1):Home图标区 2013年03月10日 ⁄ 综合 ⁄ 共 3256字 ⁄ 字号 小 中 大 ⁄ 评论关闭 ActionBar在Android 3.0 SDK中为平板引入,在4.0中也可以在phone中使用.在title中提供类似tab和菜单的效果,有三种形式:Tabbed action bar,list action bar和standard action bar,我们将在小例子中进行示范. Home Icon 在Actio…
文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.sina.com.cn/flowingflying或作者@恺风Wei-傻瓜与非傻瓜 广播接受可用于本地,也可以用于不同的进程(应用)间.广播还常用于后台服务,当接收器收到某个广播消息时,通常会在通知栏中提示用户,用户点击通知,可以进入某个Activity中进行处理. 小例子 接收器应用为本小例子,发送广播应用利用上一学习的小例子. 代码 关于通知,可以参考Android学习笔记(五五):…
文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 之前我们有一篇很好的博文<Android学习笔记(三一):线程:Message和Runnable>对Handler进行了介绍.在此,我们作进一步了解. 前面,我们已经学习到主线程有一个主线程队列,对于异步处理(如Activity的UI触发.触发本地服务的startService(),以及外部进程调用Activity和广播).异步处理以消息…
文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 在之前,我们已经学习了如何签发apk,见Pro Android学习笔记(六四):安全和权限(1):签发apk,我们将对package做进一步了解. 每个apk都有一个唯一的根包名,在AndroidManifest.xml中定义,如下.开发者为包进行签发,前面和包名绑定,其他开发者不能对这个包进行更新. <?xml version="1…
目录(?)[-] 在AIDL中定义服务接口 根据AIDL文件自动生成接口代码 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ Remote Service在之前的学习笔记 Android学习笔记(五三):服务Service(下)- Remote Service中介绍过.远程服允许行其他应用调用,及允许RPC(remote procedure call).在Android中remote需要…
目录(?)[-] Local service代码 调用Local ServiceLocal Service client代码 AndroidManifestxml定义Serviceacitivty的launchMode 一些思考 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ Local Service的目的是更容易实现后台任务.下面是一个简单的小例子,通过一个activity请求服务和…
目录(?)[-] 小例子 保存在哪里下载文件信息设置和读取 查看下载状态和取消下载 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件,转载须注明出处:http://blog.csdn.net/flowingflying/ 应用有时需要从web中下载一个大文件,并保存在本地,这个操作过程是标准的,因此在Android2.3引入了DownloadManager类.相关的学习也可以参考Android学习笔记(四六):互联网通信-文件下载. 小例子 先看一个小例子,如下图所示.lay…
目录(?)[-] SOAP JSON和XMLPullParser Exception处理 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件,转载须注明出处:http://blog.csdn.net/flowingflying/ SOAP SOAP,即Simple Object Access Protocol,是一种简单的基于 XML 的协议,它使应用程序通过 HTTP 来交换信息.Android并不提供SOAP API接口.开发者可以通过kSOAP2开发套件在Android上…
目录(?)[-] 建立测试环境 开发环境导入第三方JAR HTTP Post Multipart小例子 HTTP POST不仅可以通过键值对传递参数,还可以携带更为复杂的参数,例如文件.HTTP Post支持携带body,content-type为multipart.本次我们将尝试通过http post上传一个小文件. 建立测试环境 上传文件的测试环境很难找,下载了Tomcat,想装一个环境,打开后,发现忘得也差不多,要看帮助,比较麻烦,下面是我上传文件到189网盘抓的包,上传一个图片文件,整个…
目录(?)[-] HTTP GET小例子 简单小例子 出现异常NetworkOnMainThreadException 通过StrictMode进行处理 URL带键值对 Andriod应用可利用service提供很多功能,例如利用Google Maps API,现在我们将聚焦在HTTP serice中. Android SDK提供HttpClient,和J2EE中的接口非常相似.最常用的就是HTTP GET和HTTP POST.相关内容也可以阅读Android学习笔记(四五):互联网通信-Htt…
目录(?)[-] 例子1ListPreference小例子 定义一个preferences XML文件 继承PreferenceActivity 用户定制偏好的读取 第一次运行时设置缺省值 设置Category Adnroid提供Preferences framework,用户可定制化应用,可用来保存信息和状态.在Android学习笔记(四十):Preference的使用中我已经对preferences有所了解.在Android 3.0,随着对平板的支出,preferences有不少的变化. 例…
目录(?)[-] adb命令 模拟器Console StrictMode adb命令 我们在学习SQLite的使用,介绍过部分adb命令的使用,见Pro Android学习笔记(五):了解Content Provider(上) . abd –e shell -e是表面连接模拟器emulator,-d则是连接设备.在模拟器中,我们有一个提升的Linux权限,而在真实设备是没有的,我们可以在模拟器中处理SQLite数据,但是不能在真实设备这样做,即便是我们自己部署的应用. 模拟器Console 我们…
目录(?)[-] Activity的destorycreate过程 Fragment的destorycreate过程 onSaveInstanceState saveFragmentInstanceState onRetainInstance 横屏竖屏的切换就是最为常见的配置变化,我们在Pro Android学习笔记(四一):Fragment(6):数据保留中讨论过. 配置变化还有设备连接了dock,改变语言等,在资源res/中,不同的配置有不同的后缀来进行最佳匹配,具体见Pro Android…
之前,我们学习的Action Bar是标准模式,Tab模式的如下图所示. 对于Tab,我们在Android学习笔记(二二): 多页显示-Tag的使用中学习过,但Action Bar的tab更适合fragment的使用.我们在之前实现的标准Action Bar的基础上添加导航用的tab,代码如下: public class TabbedActionBarDemo extends SearchTestCase3 implements ActionBar.TabListener{    @Overri…
可以在action bar中加入spinner的下来菜单,有关spinner,可以参考Pro Android学习笔记(二十):用户界面和控制(8):GridView和Spinner. list的样式和theme有关,如果theme设置不正确,还可能会出现异常. 相关的代码如下: public class ListActionBarDemo extends SearchTestCase3 implements OnNavigationListener{ //List触发的回调函数接口    @Ov…
目录(?)[-] 利用setTransition 利用setCustomAnimations 通过ObjectAnimator自定义动态效果 程序代码的编写 利用fragment transaction进行切换,很方便提供切换的效果. 利用setTransition() 在Pro Android学习笔记(三九):Fragment(4):基础小例子-续的“Step 4:实现showDetail(int index),如何管理fragment”中,介绍了如何在容器FrameLayout中通过frag…
目录(?)[-] 设置横排和竖排的不同排版风格 改写代码 对于fragment,经常涉及不同屏幕尺寸和不同的排版风格.我们在基础小例子上做一下改动,在横排的时候,仍是现实左右两个fragment,在竖排时,如下图显示: 屏幕上只显示一个fragment,点击列表上的数目,进入到简介的activity.下面介绍实现的方式. 设置横排和竖排的不同排版风格 在 Pro Android学习笔记(四):了解Android资源(下)的“资源和配置的变更”中,我们介绍了如何同资源文件夹名设置不同资源.缺省的l…