
android
文章平均质量分 83
孵化恐龙蛋
这个人很懒,什么也没留下。
展开
-
android 状态栏提醒 Notification 的使用!
大家好今天简单讲一下Android状态栏提醒,这个在开发中也会经常使用,当我们插上USB会有状态栏提醒,来短信时也会有状态栏的提醒。而在Android中有提醒功能的也可以用AlertDialog,但是我们要审重的使用,因为当使用AlertDialog 的时候,用户正在进行的操作将会被打断。因为当前焦点被AlertDialog得到。我们可以想像一下,当用户打游戏正爽的时候,这时候来了一条短信。如果这时候短信用AlertDialog提醒,用户必须先去处理这条提醒,从而才能继续游戏。用户可能会活活被气死。而使用N原创 2011-02-28 16:52:00 · 1843 阅读 · 2 评论 -
android环境搭建之我见!
之前在公司搭建android环境,因为有大鸟的帮助,总是觉得很简单,也就没有当回事。昨天和小强一起动手搭建,才发现还真不是那么简单的事,搞到晚上一点多总算是没有白费力气。原创 2011-03-03 14:10:00 · 723 阅读 · 0 评论 -
Android Launcher研究(二)-----------Launcher为何物,究竟是干什么的?
<br /> 在上一节,我讲了如何下载Launcher的教程,今天这一节,我将重点讲一下什么Launcher,究竟它是什么神秘东东?<br /> <br />Launcher俗称HomeScreen,也就是我们启动Android手机,第一眼看到的应用程序,而这个应用程序是比较特殊而且任务艰巨的。<br /> <br />它负责了我们除了应用本身操作以外的所有操作,它负责了我们有几个桌面,点击应用图标启动应用程序,长时间按桌面出现上下文菜单,<br /> <br />长时间按桌面的图标出现垃圾箱,拖动应用图标转载 2011-02-17 19:05:00 · 1006 阅读 · 0 评论 -
Style样式的定义
老是一个个指定控件的文字、颜色、背景等等属性非常麻烦,这时候运用Style可以让程序看起来非常简洁,在比较大的工程项目中也是经常用到。原创 2011-03-14 17:51:00 · 2580 阅读 · 1 评论 -
FileManager 文件管理器优化!(添加文件改名及删除)
<br />在开始代码之前先把文件结构展示一下:<br /> <br /><br /> <br />第一步:给出主程序代码,同样把解释放在代码注释里面:<br /> <br />package com.my;/* import相关class */import irdc.ex05_15.R;import java.io.File;import java.util.ArrayList;import java.util.List;import android.app.Act原创 2011-03-28 10:42:00 · 3990 阅读 · 4 评论 -
android 同步监听输入框,以及电话号码正则表达式!
下面这段程序主要为了实现以下三个功能: 一、同步监听文本输入框的变化,默认继承以下三个方法,分别监听文本改变前、中、后; 二、同时用正则表达式判断输入的电话号码是否合法; 三、最后在activity展示一秒后,跳出软键盘;package com.my;import java.util.Timer;import java.util.TimerTask;import java.util.regex.Matcher;import java.util.regex.Pattern;原创 2011-05-13 18:56:00 · 12243 阅读 · 4 评论 -
android文件下载!download!
在开始代码之前先看一下工程的架构:Download.java中放入的是程序的主体,util包中放入的是一些公用的方法,其中FileUtils.java放入的是对文件的一些基本操作,HttpDownloader.java中是对下载的一些基本操作。第一步:先来看看主程序部分package mars.download;import mars.util.HttpDownloader;import android.app.Activity;import android.os.Bundle;impo原创 2011-03-28 14:27:00 · 2558 阅读 · 2 评论 -
android广播的两种方式!
<br />android实现广播机制有两种方法,一种需要在AndroidManifest.xml中注册,一种不需要注册。<br /> <br />先说说需要在AndroidManifest.xml注册的:<br /> <br />第一步,发送广播<br /> <br />public class TestActivity extends Activity implements OnClickListener{ /** Called when the activity is first create原创 2011-03-28 19:16:00 · 10375 阅读 · 2 评论 -
android取得当前程序File与Cache路径!
<br />主界面就是显示两个button,分别进入File与Cache的目录:<br /> <br /><br /> <br />程序的架构为:<br /> <br /><br /> <br />来看下主程序的代码:<br /> <br />public class FileCacheActivity extends Activity implements OnClickListener{ private Button myButton1; private Button myButton2原创 2011-04-01 11:58:00 · 6385 阅读 · 0 评论 -
android中Animation的使用!
<br />Animation主要有四大属性,分别是淡入淡出,绕轴旋转,变化大小,位移变化,如图:<br /> <br /><br /> <br />这些属性还有一些共同的方法:<br /> <br /><br /> <br />下面是一个实例代码:<br /> <br />public class MainActivity extends Activity implements OnClickListener{ /** * 定义四个按钮和一张图片 */ private ImageV原创 2011-04-02 10:10:00 · 1097 阅读 · 0 评论 -
android 用 SAX 解析xml文件!
<br />这几天看了mars老师的文章,其中有一个利用sax解析从网络中下载的xml文件,很受用。先来看看工程的架构:<br /> <br /><br />其中FileUtils.java用来放一些常用的公共方法,这里放置对文件的读写<br /> HttpDownload.java用来从网上下载xml文件<br /> MyContentHandler.java为xml内容处理器类<br /> XMLActivity.java这个大家懂得,呵呵<br /> <br /> <br原创 2011-04-06 15:44:00 · 3060 阅读 · 3 评论 -
android 定时器,每秒变换一次图片!
<br />在android中,要让每秒进行一次ui更新,就需要利用到定时器和handler,message的结合,如果不使用handler就不能达到更新ui的效果,我的理解是handler中存在一个队列问题,可以保证不产生阻塞。<br /> <br />代码如下:<br /> <br />package com.my;import java.util.Timer;import java.util.TimerTask;import android.app.Activity;impor原创 2011-04-11 19:11:00 · 17001 阅读 · 4 评论 -
java 文件与文件夹拷贝、重命名、文件搜索
java文件搜索public void getDir(String strPath) throws Exception { try { File f=new File(strPath); if(f.isDirectory()) { File[] fList=f.listFiles();原创 2012-02-15 15:59:17 · 8547 阅读 · 0 评论 -
Android Cursor 查询更新数据库
出差快两个月了,这段时间一直在做android系统级开发,google的Email,也就是增加手机Email的易用性,增加一些新的功能来满足用户的需求。 之前的blog写过cursor的一些东西,今天作为开始就先写一些cursor查询、更新本地数据库的操作吧。先举个例子: Cursor c = getContentResolver.query(uri , String[ ] ,原创 2011-07-18 23:39:10 · 5972 阅读 · 0 评论 -
AdapterView性能优化(ListView,GridView,Gallery,Spinner)
在进行AdapterView性能优化之前,有必要先了解下listview加载数据的原理。ListView的三个元素:ListView: 用来展示列表的View控件;适配器Adapter: 用来把数据映射到ListView上;数据: 具体的将被映射的字符串,图片等;根据列表的适配器类型,列表分为四种:ArrayAdapter,Simp原创 2015-07-26 22:48:08 · 1633 阅读 · 0 评论 -
Launcher主要类的功能说明 && 在Windows环境下下载Android源码(Launcher为例)
<br />大家好,这篇文章我将教大家如何在Windows环境下下载Android源码,Android 自2007年11月5号发布以来,发展速度如此之快,和它走开源的路是分不开的。我们在开发中有什么不明白不清楚的,直接把Android 源码下下来研究就可以了,看源代码将会让你提升很快!<br />在这之前大家先熟悉俩个代码版本管理工具SVN,以及Git。<br /> <br />SVN(Windows环境下最常用的):<br />svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目原创 2011-02-17 18:12:00 · 852 阅读 · 0 评论 -
人生短暂,持之以恒地做一件事情就会成功(每当烦躁心急如焚的时候就读读这篇文章吧)
<br />坚持体现沉着.人都是有些欲望的,为了实现某一个预定的图谋,最容易心急如焚,火烧火燎.这实际上时很难归入竞争范畴的,在更多的时候更多的人身上只不过是一种浮躁和慌张而已.滴水不求朝夕之效,故能坚持穿石的日子;穿石之后,依然平心静气,坚持自己的步伐.这就是沉着.沉着拒绝急功近利,所以才会勾起人们的长久怀念,所以才会对所有的人永远地发挥作用.<br /><br /><br /> <br />坚持的姿势不是很壮观的.因为他常常要我们把头埋得很低,把眼光盯在脚尖,把嘴巴腾出来帮助呼吸.于是,就不可能气原创 2011-02-28 14:31:00 · 3472 阅读 · 1 评论 -
【Android基础】调用系统发Email和短信
调用系统发短信的代码:Uri smsToUri = Uri.parse("smsto:");// 联系人地址Intent mIntent = new Inten(android.content.Intent.ACTION_SENDTO,smsToUri);mIntent.putExtra("sms_body", "www.baidu.com");// 短信的内容startActivity(mIntent);调用系统发Email的代码:Intent emailIntent = new原创 2011-02-18 17:29:00 · 6562 阅读 · 0 评论 -
SQLite并发访问及实现
英文地址:https://github.com/dmytrodanylyk/dmytrodanylyk/blob/gh-pages/articles/Concurrent%20Database%20Access.md假设你已经有一个自己的SQLiteOpenHelper:public class DatabaseHelper extends SQLiteOpenHelper {翻译 2015-07-18 11:12:22 · 10331 阅读 · 2 评论 -
【Android Audio】Android Audio System 之二:AudioFlinger
引言 AudioFlinger是Android音频系统的两大服务之一,另一个服务是AudioPolicyService,这两大服务都在系统启动时有MediaSever加载,加载的代码位于:frameworks/base/media/mediaserver/main_mediaserver.cpp。AudioPolicyService的相关内容请参考另一编文章:《Android Audio转载 2014-03-03 16:12:41 · 1328 阅读 · 0 评论 -
【Android Audio】Android Audio System 之一:AudioTrack如何与AudioFlinger交换音频数据
引子Android Framework的音频子系统中,每一个音频流对应着一个AudioTrack类的一个实例,每个AudioTrack会在创建时注册到AudioFlinger中,由AudioFlinger把所有的AudioTrack进行混合(Mixer),然后输送到AudioHardware中进行播放,目前Android的Froyo版本设定了同时最多可以创建32个音频流,也就是说,Mixer最转载 2014-03-03 16:27:18 · 1525 阅读 · 0 评论 -
Android Service 服务(三)—— bindService与remoteService
一、bindService简介bindService是绑定Service服务,执行service服务中的逻辑流程。service通过Context.startService()方法开始,通过Context.stopService()方法停止;也可以通过Service.stopSelf()方法或者Service.stopSelfResult()方法来停止自己。只要调用一次stopServic转载 2015-07-20 15:40:11 · 2028 阅读 · 1 评论 -
Android Service 服务(二)—— BroadcastReceiver
一、 BroadcastReceiver简介BroadcastReceiver,用于异步接收广播。广播Intent的发送是通过调用Context.sendBroadcast()、Context.sendOrderedBroadcast()、Context.sendStickyBroadcast()来实现的。BroadcastReceiver()用于接收。通常一个广播Intent可以被订阅了转载 2015-07-20 15:29:39 · 712 阅读 · 0 评论 -
【Android Audio】Android Audio System 之三: AudioPolicyService 和 AudioPolicyManager
引言 AudioPolicyService是Android音频系统的两大服务之一,另一个服务是AudioFlinger,这两大服务都在系统启动时有MediaSever加载,加载的代码位于:frameworks/base/media/mediaserver/main_mediaserver.cpp。AudioFlinger主要负责管理音频数据处理以及和硬件抽象层相关的工作。本文主要介绍Au转载 2014-03-03 17:04:00 · 1108 阅读 · 0 评论 -
【Android Audio】Audio: summery of making a call
When making a voip call with BT ,the sound of maker would berecorded into the phone and send to the receiver, at the same time,the sound of receiver would come from the BT.That is to say, we could d原创 2013-08-26 11:03:42 · 1729 阅读 · 0 评论 -
【Android Audio】Audio: set MP3 volume
先来看两张图,第一张是audio系统的框架图,第二张是Binder机制的框架图audio layer Binder layer原创 2013-08-12 13:28:34 · 2388 阅读 · 0 评论 -
Android中利用java反射机制Reflect
一、什么事反射机制在程序运行期间,java系统始终为所有的对象维护一个运行时的类型标识,这个信息保存着每个对象所属的类的足迹,虚拟机利用运行时信息选择相应的方法执行。然而,可以通过专门的java类访问这些信息,保存这些信息的类被称为Class(这个Class不是类名关键字的Class),这个名字很容易让人混淆。Object类中的getClass()方法将返回一个Class类型的实例!例原创 2015-07-20 23:07:09 · 2659 阅读 · 0 评论 -
Android状态机
状态机一般都会重写父类的三种方法enter(),processMessage(Messagemsg),exit(),1. 其中enter()方法是每次进入都会执行类似构造函数,2. exit()类似析构函数,3. 而processMessage()用来处理不同的请求。示例: finalclass AttachingState extends State {原创 2015-07-24 15:46:29 · 1728 阅读 · 0 评论 -
View视图状态及View重绘流程分析,View工作原理(三)
1转载 2015-08-18 11:56:21 · 858 阅读 · 0 评论 -
android 中 SharedPreferences 的使用!
<br /> 之前总结过SharedPreferences的使用,但写得不是很好,于是删了重新写一篇。先来看看存取SharedPreferences中数据的代码:<br /> <br />/** * 存数据 * * 用getSharedPreferences方法得到一个SharedPreferences对象,"test_SharedPreferences"是这个SharedPreferences的唯一标识 */ SharedPreferences login_acco原创 2011-05-13 13:51:00 · 1452 阅读 · 0 评论 -
Android中两种设置全屏的方法 && Android横竖屏切换
<br /> 在开发中经常需要把我们的应用设置为全屏,这里我所知道的有俩中方法,一中是在代码中设置,另一种方法是在配置文件里改!<br /><br />一、在代码中设置:<br /><br />import android.app.Activity; import android.os.Bundle; import android.view.Window; import android.view.WindowManager; public class Demo extends原创 2011-02-16 17:05:00 · 2559 阅读 · 0 评论 -
View视图绘制流程,View工作原理(二)
尊重原创:Android视图绘制流程完全解析,带你一步步深入了解View(二) - 郭霖的专栏 - 博客频道 - youkuaiyun.comhttp://blog.youkuaiyun.com/guolin_blog/article/details/16330267 View系统的绘制流程会从ViewRoot的performTraversals()方法中开始,每一个视图(View)的绘制过程都必须经历三转载 2015-08-17 22:10:07 · 1117 阅读 · 1 评论 -
详解基于Binder的BroadcastReceiver && 基于Handler的LocalBroadcastManager
一、BroadcastReceiver:1.registerReceiver动态注册和通过标签静态注册广播的区别:a.对bindService的调用,注册的广播,在onReceive结束后广播即不存在,所以不能在其中给自己异步传递结果,如bindService而只能使用startService,如果想跟service交互可使用peekService。b. 手动控制。registerRe原创 2015-09-02 10:04:43 · 2602 阅读 · 0 评论 -
记录和恢复listView滚动位置的2种方法
记录和恢复listView滚动位置的2种方法:记录listView滚动到的位置的坐标(精确度较强推荐)、记录listView显示在屏幕上的第一个item的位置(精确度较差)、通知适配器数据改变(追加数据时保存listview位置不错)。1、记录listView滚动到的位置的坐标,然后利用listView.scrollTo精确的进行恢复:记录:listView.setOnScro转载 2015-09-02 10:27:31 · 1958 阅读 · 1 评论 -
Android OOM原因总结
一、什么是OOMOOM(out of memory)即内存溢出。一个程序中,已经不需要使用某个对象,但是因为仍然有引用指向它垃圾回收器就无法回收它,当该对象占用的内存无法被回收时,就容易造成内存泄露。Android的一个应用程序的内存泄露对别的应用程序影响不大,因为为了能够使得Android应用程序安全且快速的运行,Android的每个应用程序都会使用一个专有的Dalvik虚拟机实例来运行,也就...原创 2015-08-18 17:44:14 · 18382 阅读 · 5 评论 -
ViewPager实现左右循环滑动及轮播效果(广告栏效果)
ViewPager是一个常用的android组件,不过通常我们使用ViewPager的时候不能实现左右无限循环滑动,在滑到边界的时候会看到一个不能翻页的动画,可能影响用户体验。此外,某些区域性的ViewPager(例如展示广告或者公告之类的ViewPager),可能需要自动轮播的效果,即用户在不用滑动的情况下就能够看到其他页面的信息。 一、PagerAdapter:我们知道ViewPa原创 2015-09-01 15:17:27 · 5160 阅读 · 0 评论 -
Android中三种锁的用法
一、synchronized略 二、lockLock是java.util.concurrent.locks包下的接口,Lock 实现提供了比使用synchronized 方法和语句可获得的更广泛的锁定操作,因为Lock可以锁定任意一段代码:public class LockTest { public static void main(String[] args) { fi原创 2015-09-02 17:58:25 · 13463 阅读 · 0 评论 -
Android性能优化(三),数据库优化
原文地址:转载 2015-08-20 14:20:01 · 943 阅读 · 0 评论 -
Android 应用中启动其他应用 && 在页面中寻找其他页面的控件
<br />今天晚上Jimmy问了我一个问题,就是如何在一个应用中 通过某个事件,而去启动另外一个已安装的应用。所以愿意和大家分享一下!<br /> <br />而为了能让大家更加容易的理解,我写了一个简单的Demo,我们的程序有俩个按钮,其中一个点击会启动我自己写的应用(一个3D应用为例),而另外一个按钮会启动系统自带的应用(如,日历,闹钟,计算器等等).这里我一日历为例子!<br /> <br />首先看一下我们的效果图(点击第一个按钮为例):<br /> <br /><br /> <br />下面是D转载 2011-02-16 18:15:00 · 1781 阅读 · 0 评论 -
【设计模式】单例模式
<br />长时间没有用java单实例模式,现在想起来有点忘了,发些东西大家一起熟悉下。<br /><br />单实例Singleton设计模式可能是被讨论和使用的最广泛的一个设计模式了,这可能也是面试中问得最多的一个设计模式了。这个设计模式主要目的是想在整个系统中只能出现一个类的实例。这样做当然是有必然的,比如你的软件的全局配置信息,或者是一个Factory,或是一个主控类,等等。你希望这个类在整个系统中只能出现一个实例。当然,作为一个技术负责人的你,你当然有权利通过使用非技术的手段来达到你的目的。比如:原创 2011-02-18 17:11:00 · 871 阅读 · 0 评论