- 博客(483)
- 资源 (53)
- 收藏
- 关注
原创 Android UI开发第二十八篇——Fragment中使用左右滑动菜单
Fragment实现了Android UI的分片管理,尤其在平板开发中,好处多多。这一篇将借助Android UI开发第二十六篇——Fragment间的通信、 Android UI开发第二十七篇——实现左右划出菜单 来实现。看图1的效果,左边使用LeftFragment实现,中间使用的CenterFragment实现。public class SlidingActivity extends Fra
2013-03-05 14:38:37 26822 12
原创 Android UI开发第二十七篇——实现左右划出菜单
年前就想写左右滑动菜单,苦于没有时间,一直拖到现在,这篇代码实现参考了网上流行的SlidingMenu,使用的FrameLayout布局,不是扩展的HorizontalScrollView。 程序中自定义了菜单view:SlidingView,继承自ViewGroup,使用FrameLayout布局。重写了onInterceptTouchEvent(MotionEvent ev)方法实
2013-03-05 10:46:18 17623 14
翻译 Android UI开发第二十六篇——Fragment间的通信
为了重用Fragment的UI组件,创建的每个Fragment都应该是自包含的、有它自己的布局和行为的模块化组件。一旦你定义了这些可重用的Fragment,你就可以把它们跟一个Activity关联,并把它们跟应用程序的逻辑相连来实现全部的组合式UI。 现实中我们经常想要一个Fragment跟另一个Fragment进行通信,例如,要基于一个用户事件来改变内容。所有的Fragment间的通
2013-03-03 17:33:41 45679 13
原创 《Android 4游戏高级编程(第2版)》书评
感谢CSDN的赠书,《Android 4游戏高级编程(第2版)》是清华大学出版社出版社出版的翻译书籍,原书名为《Advanced Adroid 4 Games》。这本书应该是我读过的Android书籍中比较好的一本书,也是我入门游戏开发的一本书。 《Android 4游戏高级编程(第2版)》这本书适合于有一定的android开发基础并且熟悉jni的开发人员。当然书中也介绍了android
2013-02-18 21:44:41 5057 1
原创 android 手机上设置呼叫转移
2010年做的一个项目了,项目中要求设置黑名单,黑名单中的来电要拒接并播放已关机或已停机的声音。这个功能最终使用了呼叫转移来实现。早期的360助手等来电工具类的应用都有类似的功能。 功能流程是:设置拒接电话,设置时启动遇忙呼叫转移,来电拒接时就转移了呼叫,设置的转移号码已关机或已停机,这样就达到了效果。 C网和G网的设置呼叫转移的规则如下: C网号码呼叫转移操
2013-01-23 20:15:46 13720 1
原创 android实现卸载提示
这篇文章是整理的以前用过的一个功能,由于多种原因现在停用了,也希望这篇文章能帮助一些android入门的小童鞋。android是不提供监控卸载自己的功能的,这里使用了监控android日志的功能,android日志相关知识可以参考《adb logcat 查看日志》这篇文章。 android卸载提示的思路是启动一个服务监控android系统的打印日志,当监控到"android.inte
2012-12-19 10:55:32 11338 21
原创 push研究——Apache Mina探索初步
虽然google为Android开发者提供了GCM实现push,但是因为需要系统安装了google play、google帐号、系统>2.2、google push服务器在国外等多种原因,在中国,Android上想实现push还需要自己努力。 当前最火的开源push是基于xmpp协议的androidpn。androidpn是基于Mina框架的,所以这里从Mina框架开始入手。看min
2012-12-15 10:32:18 6655 1
原创 Android socket编程
Socket通常也称做”套接字“,用于描述IP地址和端口,它就是网络通信过程中端点的抽象表示。Java在包java.net中提供了两个类Socket和ServerSocket,分别用来表示双向连接的客户端和服务端。SocketServer类,服务器实现:public class SocketServer { ServerSocket sever; pub
2012-12-13 16:40:30 8069 6
原创 Android JNI入门第六篇——C调用Java
本篇将介绍在JNI编程中C调用Java实现。源码下载地址:http://download.csdn.net/detail/xyz_lmn/4868265关键代码:java:public class CCallJava { public static String getTime() { Log.d("CCallJava", "Call From C Java Static Method"
2012-12-10 15:25:07 20388 13
原创 2012CSDN年度博客之星评选http://vote.blog.csdn.net/item/blogstar/xyz_lmn
http://vote.blog.csdn.net/item/blogstar/xyz_lmn 今天打开收件箱,发现自己很幸运的成了2012CSDN年度博客之星评选“候选人”,在这里谢谢csdn社区的鼓励。也欢迎支持我的网友投我一票。链接地址:http://vote.blog.csdn.net/item/blogstar/xyz_lmn
2012-12-05 14:02:21 4391 2
原创 Android UI开发第二十五篇——分享一篇自定义的 Action Bar
Action Bar是android3.0以后才引入的,主要是替代3.0以前的menu和tittle bar。在3.0之前是不能使用Action Bar功能的。这里引入了自定义的Action Bar,自定义Action bar也不是完全实现了 Action bar功能,只是在外形上相似。自定义Action bar没有实现overflow button(悬浮按钮)的功能,如果想进一步实现overfl
2012-11-01 14:30:16 15128
翻译 Android UI开发第二十四篇——Action Bar
Action bar是一个标识应用程序和用户位置的窗口功能,并且给用户提供操作和导航模式。在大多数的情况下,当你需要突出展现用户行为或全局导航的activity中使用action bar,因为action bar能够使应用程序给用户提供一致的界面,并且系统能够很好根据不同的屏幕配置来适应操作栏的外观。你能够用ActionBar的对象的API来控制操作栏的行为和可见性,这些API被添加在Android3.0(API 级别 11)中。
2012-10-31 16:11:40 208938 30
原创 Android UI开发第二十三篇——分享书架UI实现
android中有很多的电子书阅读应用,应用中都仿真了书架的实现,这里也分享一篇读书应用的书架实现: java:public class ShelvesView extends GridView { private Bitmap mShelfBackground; private int mShelfWidth; private int mShelfHeight;
2012-10-29 13:32:35 19444 6
原创 Android UI开发第二十二篇——android 瀑布流图片实现
自pinterest使用了瀑布流展示图片后,有很多应用开始使用瀑布流的方式,像蘑菇街,美丽说。这里的瀑布流实现使用了开源代码。layout:<com.dodowaterfall.LazyScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_paren
2012-10-23 16:45:03 39865 13
原创 Android UI开发第二十一篇——下拉刷新列表实现(pull to refresh)
android中提供了ListView控件,listview能够为我们展现丰富的内容,有时候我们为了提升用户体检,需要更炫而且更好用户体验的效果,pull to refresh(下拉刷新列表效果)就应运而生了。 pull to refresh更多的应用于获取最新的内容,比如新浪微博、腾讯微博等。目前网上有很多开源的pull to refresh的开源实现,这里也是参考开源代码实现的。
2012-10-23 16:36:02 22538 5
原创 Java操作MongoDB
java驱动程序是Mongodb中的驱动程序之一,也是比较成熟的Mongodb驱动程序之一,下面介绍了使用java连接、操作Mongodb。 一、安装java驱动程序 Mongodb的java驱动程序是一个jar包,可以在:https://github.com/mongodb/mongo-java-driver/downloads 下载,下载的ja
2012-10-17 10:48:15 20364 1
原创 MongoDB shell操作
shell命令操作语法和JavaScript很类似,其实控制台底层的查询语句都是用JavaScript脚本完成操作的。使用shell 命令,需要启动mongo.exe。 常用shell命令如下: 1、查询本地所有数据库名称 > show dbs; 2、切换至指定数据库环境(若无指定的数据库,则创建新的库)> use mydb; 3、查
2012-10-15 15:34:35 25890
原创 URL短地址压缩算法 微博短地址原理解析 (Java实现)
最近,项目中需要用到短网址(ShortUrl)的算法,于是在网上搜索一番,发现有C#的算法,有.Net的算法,有PHP的算法,就是没有找到Java版的短网址(ShortUrl)的算法,很是郁闷。同时还发现有不少网友在发帖求助,怎么实现Java版的短网址(ShortUrl)的算法。干脆一不做,二不休,参考了一下网上比较流行的PHP版短网址(ShortUrl)算法:再根据自己的理解,用Java实现了该
2012-10-15 15:03:30 29875 23
原创 在 Windows 上安装 MongoDB
1、下载合适的mongodb 官网下载地址: http://www.mongodb.org/downloads 用于 Windows 的 MongoDB 有三个版本:MongoDB for Windows Server 2008 R2 版仅运行于 Windows Server 2008 R2、Windows 7 64-bit 和更新的 Windows 版本。此版本充分利用
2012-10-10 12:50:23 10274 1
翻译 MongoDB,无模式文档型数据库简介
MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo使用C++开发。Mongo的官方网站地址是:http://www.mongodb.org/,读者可以在此获得更详细的信息。它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:面向集合存储,易存储对象类型的数据。模式自由
2012-10-09 22:02:32 7367 2
转载 NoSQL数据库的基础知识
关系型数据库和NoSQL数据库什么是NoSQL大家有没有听说过“NoSQL”呢?近年,这个词极受关注。看到“NoSQL”这个词,大家可能会误以为是“No!SQL”的缩写,并深感愤怒:“SQL怎么会没有必要了呢?”但实际上,它是“Not Only SQL”的缩写。它的意义是:适用关系型数据库的时候就使用关系型数据库,不适用的时候也没有必要非使用关系型数据库不可,可以考虑使用更加合适的数据存储。 为
2012-10-09 22:01:53 32086 5
原创 Android网络编程——https 不验证证书方式(信任所有证书)
前面写了http的联网方式,Android平台上经常有使用https的需求,对于https服务器使用的根证书是受信任的证书的话,实现https是非常简单的,直接用httpclient库就行了,与使用http几乎没有区别。但是在大多数情况下,服务器所使用的根证书是自签名的,或者签名机构不在设备的信任证书列表中,这样使用httpclient进行https连接就会失败。解决这个问题的办法有两种,一是在发
2012-09-28 09:47:25 26686 9
原创 android调节音量——AudioManager的应用
Android中可以通过程序获取系统手机的铃声和音量。同样,也可以设置铃声和音量。Android中给出了AudioManager类来实现音量获取、音量控制。 本篇基于 Android API 中的 AudioManager 作讲述,最后给出实例。 下面是本篇大纲:1、认识 AudioManager2、AudioManager 主要方法介绍3、参数解释1、认识 AudioM
2012-09-25 16:46:14 30356 1
原创 Silk编解码在android实现
Silk编解码是Skype向第三方开发人员和硬件制造商提供免版税认证(RF)的Silk宽带音频编码器。Skype已将其开源,可以访问http://developer.skype.com/silk获取最新动向。SILK Codec是一个语音和音频编解码算法, 对于音频带宽、网络带宽和算法复杂度都具有很好的弹性。支持4种采样率:8KHz、12KHz、16KHz、24KHz;三种复杂度:低、中、高。编码
2012-09-25 16:33:54 17425 11
原创 ilbc编解码在android实现
iLBC 是为专为提供稳健的 IP 语音通信而开发的语音 codec,以窄带语音为设计基础,具有 8 kHz 的采样率。iLBC codec 支持两种基本的帧长度:13.3 kbps 比特率下编码帧长度为 30 ms;而 15.2 kbps比特率下编码帧长度则为 20 ms。 采用 iLBC 算法可以获得一个具有丢包响应控制的语音编码系统。iLBC 对每一个数据包的处理都能够独立于其
2012-09-25 09:13:28 13623 11
原创 speex编解码在android上实现
以前在应用中使用到了Speex编解码,近来总结了一下Speex在android上的实现。Speex是一套主要针对语音的开源免费,无专利保护的音频压缩格式。Speex工程着力于通过提供一个可以替代高性能语音编解码来降低语音应用输入门槛 。另外,相对于其它编解码,Speex也很适合网络应用,在网络应用上有着自己独特的优势。同时,Speex还是GNU工程的一部分,在改版的BSD协议中得到了很好的支持。S
2012-09-24 17:00:05 40450 41
原创 监听屏幕解锁事件
在做一个程序的时候,需要时刻保持某一服务是启动的,因此想到了通过监听屏幕SCREEN_ON和SCREEN_OFF这两个action。奇怪的是,这两个action只能通过代码的形式注册,才能被监听到,使用AndroidManifest.xml 完全监听不到。查了一下,发现这是PowerManager那边在发这个广播的时候,做了限制,限制只能有register到代码中的receiver才能接收。pri
2012-09-24 16:58:56 2762
转载 如何降低android应用程序的耗电量
如何降低android应用程序的耗电量:http://www.ideasandroid.com/archives/380用户体验导向的Android应用开发——节省电量 随时都得插在墙上充电的设备,不叫移动设备。如果你的App让用户一直守着墙角,用户也会很快把你丢到墙角。你会问:“他怎么知道我的应用耗电?”很抱歉,目前来看,Android用户中有大量发烧友和技术高手,同时系统很不客气地记录了每个应
2012-09-11 17:13:35 14034
原创 android网络编程——HttpGet、HttpPost比较
在Android SDK中提供了Apache HttpClient(org.apache.http.*)模块。在这个模块中涉及到两个重要的类:HttpGet和HttpPost,他们有共性也有不同。HttpGet和HttpPost创建方式相同: 1、创建HttpGet(或HttpPost)对象,将要请求的URL通过构造方法传入HttpGet(或HttpPost)对象中; 2、使用Defa
2012-09-02 13:14:37 5889 1
原创 android网络编程——http post
前一篇给出了HttpGet的实例,这一篇给出HttpPost的实例。public class HttpPostDemo extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) {
2012-09-02 13:05:14 6441
原创 android网络编程——http get
在Android SDK中提供了Apache HttpClient(org.apache.http.*)模块。在这个模块中涉及到两个重要的类:HttpGet和HttpPost。这一篇一个实例给出httpGet的使用方法:public class HttpGetDemo extends Activity { /** Called when the activity is first crea
2012-09-02 12:36:03 5009
原创 android网络编程——使用Android中的网络连接
网络编程在无线应用程序开发过程中起到了重要的作用。Android包括Apache HttpClient库,此库为执行Android中的网络操作之首选方法。Android还可允许通过标准的Java联网API(java.net包)来访问网络。即便使用Java.net包,也是在内部使用该Apache库。 为了访问互联网,你的应用程序需要获取“android.permission.INTERN
2012-09-02 12:30:32 6672
转载 Java Socket 网络编程常见异常
1.java.net.SocketTimeoutException.这个异常比较常见,socket超时。一般有2个地方会抛出这个,一个是connect的时候,这个超时参数由connect(SocketAddress endpoint,int timeout)中的后者来决定,还有就是setSoTimeout(int timeout),这个是设定读取的超时时间。它们设置成0均表示无限大。2.java.
2012-08-23 20:51:26 25225 3
原创 android 双卡手机发短信/判断手机是否为双卡
MTK和高通的都应该怎么识别?这里困扰了很多的开发者,这一篇可能都是错的,希望能提供参考。android双卡双待资料 try { Class smsManagerClass = null; Class[] divideMessagePamas = { String.class }; Class[] sendMultipartText
2012-08-23 16:06:45 25683 7
原创 sendBroadcast和sendStickyBroadcast的区别
们平时最经常使用的是sendBroadcast,就是把一个Intent广播出去。今天我在看wifi的时候,还发现了sendStickyBroadcast。官方文档是这样写的: public abstract void sendStickyBroadcast (Intent intent) Since: API Level 1 Perform a sendBroadcast(Intent) t
2012-08-19 15:59:35 6738
原创 监听屏幕解锁事件
在做一个程序的时候,需要时刻保持某一服务是启动的,因此想到了通过监听屏幕SCREEN_ON和SCREEN_OFF这两个action。奇怪的是,这两个action只能通过代码的形式注册,才能被监听到,使用AndroidManifest.xml 完全监听不到。查了一下,发现这是PowerManager那边在发这个广播的时候,做了限制,限制只能有register到代码中的receiver才能接收。pri
2012-08-19 15:57:21 4407 2
转载 Android Service被关闭后自动重启,解决被异常kill 服务
Android开发的过程中,每次调用startService(Intent)的时候,都会调用该Service对象的onStartCommand(Intent,int,int)方法,然后在onStartCommand方法中做一些处理。然后我们注意到这个函数有一个int的返回值,这篇文章就是简单地讲讲int返回值的作用。从Android官方文档中,我们知道onStartCommand有4种返回值: S
2012-08-08 19:52:15 13435 3
原创 android 点滴积累
1、android程序查詢包含"*" "#"的號碼時出錯的解決辦法代碼錯誤提示:E/AndroidRuntime(1145): Caused by: android.database.sqlite.SQLiteException: near "*": syntax error: , while compiling: SELECT numbertype, new, duration, _id, n
2012-08-02 22:45:30 4101
转载 完美解决android监听联系人数据变化
先说说原理,大家知道,android可以对数据库进行监控。但是个人感觉这个监控不给力,无论怎么实现监控,最后返回的结果是数据库是否改变,没有告诉我们数据库的那条数据进行了改变或者是删除,添加,并不能解决大多数需求。当初我遇到这样的问题我也很痛苦,无论怎么早资料都没找到自己想要的,而网上大多数资料只是告诉你怎么监控数据库,但没有告诉你怎么获取具体的数据改变。往往成功是逆境里逼出来的,我去查找英文AP
2012-08-01 10:09:06 13535 7
原创 ViewPager实现引导界面以及进入下一个activity解决办法
这次项目中实现了用户引导滑动图片,到最后一张图片的时候,我认为理想的是同时具备以下两点:1)用户可以点击上面的“开始使用”这样的按钮可以进入主界面;2)用户接着滑动下一个图片的手势而进入主界面;3)用户在引导界面点击返回键的时候直接进入主界面;增加“开始使用”按钮方式:可以定义一个layout的xml再加载:一个LinearLayout,里面一个button。默认button是“gone”,xml
2012-07-19 15:15:04 14004 13
数据库操作(使用FMDB)
2013-07-15
ios xml解析 NSXMLParser
2013-06-25
android气泡列表
2013-04-11
Android UI开发第二十一篇——下拉刷新列表实现(pull to refresh)
2012-10-23
Android UI开发第十六篇——分享一个popuwindow实例
2012-10-22
notboringactionbar
2014-04-24
墨迹天气上下滑动viewpager
2014-03-25
墨迹天气动画
2014-03-22
墨迹天天动画
2014-03-22
ScrollTricks介绍
2014-03-19
Android使用SurfaceView实现墨迹天气的风车效果
2014-03-04
实现微信对话列
2013-12-22
android分享功能实现 源码下载
2013-11-25
gesturedetector demo
2013-11-21
appcompatdemo
2013-10-13
SlidingPaneLayout
2013-10-11
navigationdrawerapi7
2013-10-11
navigationdrawer
2013-10-10
ActivityGroup实现tab功能
2013-09-23
androidbroswser
2013-09-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人