网络收音机2014.09.23
在前面提到Android网络收音机--使用Vitamio解码(一)实现了播放流媒体文件,但只能播放一次,在这里可以随机点击左边的menu来播放,但有的uri已经过期无法播放了,我下载了一个PC版的网络收音机来对比,如果PC上能播放,在这里也是能播放的,使用了网上的一些图片,先看下修改后的界面
观察者模式
观察者设计模式的定义:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。
网络收音机
使用Vitamio作为解码库,播放网络收音机,目前只是一个初期的项目,可以播放,但不能进行切换
SlidingMenu测试程序2
在前面已经介绍了SlidingMenu的用法:Android开源项目SlidingMenu的学习笔记(一),接下来再深入学习下,根据滑出项的Menu切换到对应的页面
SlidingMenu测试程序1
SlidingMenu是目前在应用程序上很流行的一种UI技术,可以实现一种比较炫的滑动效果,SlidingMenu是Git上托管的一个项目,开源免费的
策略模式示例
策略模式的定义:定义算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。
ListViewDemo
要想优化ListView首先要了解它的工作原理,列表的显示需要三个元素:ListView、Adapter、显示的数据;
模板方法模式
模板方法模式的定义:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。
适配器设计模式
适配器模式的定义是:将一个类的接口,转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以作无间。
include标签的使用
由于Android系统对硬件的要求较高,并且上层应用都是用Java(效率要比C++低)编写的,对程序的优化就成了程序员的日常工作了;Android的优化
可以从以下几个地方下手:布局优化、数据库优化、使用异步加载数据、使用缓存技术、算法代码优化、使用线程池
自定义提示框
在开发中,如果感觉系统自带的提示框不好看,开发者可以自己定义提示框的样式,主要是继承Dialog
解析中国天气网的Json数据
一个简单的例子,解析中国天气网的Json数据
测试android:persistent="true"
由于配置了android:persistent="true"属性,并且Phone.apk是安装在/system/app/目录下的,所以在开机时会自动启动PhoneApp类
Phone流程示例
为了加深理解,我也自己写了一个例子,的GsmCallTracker开一个线程去随机模拟电话状态的改变
ZXing3.1.0示例简化
ZXing项目,它提供二维码和条形码的扫描。扫描条形码就是直接读取条形码的内容,扫描二维码是按照自己指定的二维码格式进行编码和解码
ZXing3.1.0示例代码
ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。Zxing可以实现使用手机的内置的摄像头完成条形码的扫描及解码。该项目可实现的条形码编码和解码。
v0.9.8 版本的VCL For Android 播放器
能在Eclipse下编译的VLC For Android 播放器,需要安装SDK 19 ,导入方法可以参考http://blog.csdn.net/deng0zhaotai/article/details/38032645
JNI第一个程序
在Android上要想开发出高效率的软件,还是需要用到C/C++语言,要想在Java上开发C/C++语言就需要在IDE上安装NDK;在Android的官网上SDK开发环境已经包含了ADT插件
解析XML的三种方式
XML(Extensible Markup Language)可拓展标记语言,它与HTML一样,都是SGML(标准通用标记语言),它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。在Android下有三种方式解析XML,分别为SAX、DOM、PULL;它们有各自的特点,在网络编程中会经常使用,根据实际情况选择哪一种解析方式。
重写ViewPager修改滑动灵敏度
使用ViewPager作为一个页面进行切换,里面可以存放很多View,但有时在操作View时不小心滑动一下就有可能跳到下一页,这并不是我们想要的,这里就需要重写ViewPager修改它的滑动条件
Gradle配置
在Android Studio上使用Gradle配置来管理我们的App,附件中就是测试代码
UIKit相关示例代码
收集IOS的UIKit中一些常见控件的示例代码,有很多是在storyboard中定义的
UIView相关示例代码
包含了UIView UILabel UIImageView UIImage的常见用法,UIButton启动另一个界面的方法,关闭一个界面的方法。
使用手机搭建服务器源码
使用手机搭建服务器,使用同一网段电脑访问
传输层协议可以分为TCP与UDP,下面分别介绍下这两种协议的特点。
TCP(Transmission Control Protocol):
1.面向连接
2.传输可靠
3.速度慢(传输效率低)
4.面向字节流
UDP(User Data Protocol):
1.无连接
2.传输不可靠
3.速度快(传输效率高)
4.面向报文
greenDAO的Eclipse工程
从GitHub上下载的greenDAO源码,重新在Eclipse上构建的工程,结合
http://blog.csdn.net/deng0zhaotai/article/details/51490860
http://blog.csdn.net/deng0zhaotai/article/details/51491305
更容易理解
Launcher3原码
Android 4.4中的Launcher3原码
短信提醒功能
通过查询语句:Cursor cursor = mContext.getContentResolver().query(Uri.parse("content://sms"), null,
"type = 1 and read = 0", null, null);打印可以看到数据库中所有的列字段
MediaFile.java
MediaFile.java 手动添加一种格式类型添加到数据库
Android黑屏死机log
Android黑屏死机--充电运行土豆视频【.4.4】》播放视频中黑屏死机》手动按电源键开机显示电量为6%
Android终端模拟器
安装到Android上的终端模拟器,非常方便
Volley测试程序2
Volley是2013年Google I/O上发布的,它是Android平台上的网络通信库,对常用的网络通信功能作了封装,能使网络通信更快,更简单,更健壮。以前使用网络通信一般都是用AsyncTaskLoader、HttpURLConnection、AsyncTask等。
Volley测试程序
Volley是2013年Google I/O上发布的,它是Android平台上的网络通信库,对常用的网络通信功能作了封装,能使网络通信更快,更简单,更健壮。以前使用网络通信一般都是用AsyncTaskLoader、HttpURLConnection、AsyncTask等。
Volley源码与jar包
Volley是2013年Google I/O上发布的,它是Android平台上的网络通信库,对常用的网络通信功能作了封装,能使网络通信更快,
更简单,更健壮。以前使用网络通信一般都是用AsyncTaskLoader、HttpURLConnection、AsyncTask等。
Volley适合数据量小但通信频繁的情况下
CTS环境助手
cts的测试环境助手,有android kk版本和android l版本的apk,安装apk
ImageWriter启动
由于最近在公司使用的是Ubuntu12.04,也想自己尝试弄个U盘启动来安装一个Ubuntu12.04,在网上搜了下,有人推荐ImageWriter.exe,下载后在虚拟机的xp系统上无法运行,报以下错误
.net framework initialization error
unable to find a version of the runtime to run this application
修改后的android4.4原生launcher3
修改后的原生Android4.4 launcher3,可以在eclipse上进行调试运行
android4.4原生launcher3
android4.4上原生的launcher3代码
下拉刷新Wifi信息
有些列表信息需要手动去更新,此时比较常用的就是下拉刷新列表,在这里就使用下拉列表来刷新当前Wifi信息
装饰者模式
装饰者模式定义:动态的将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。
设计原则:类应该对扩展开放,对修改关闭