android
yifuteli
这个作者很懒,什么都没留下…
展开
-
android 对话框的创建
Activities提供了一种方便管理的创建、保存、回复的对话框机制,例如 onCreateDialog(int), onPrepareDialog(int, Dialog),showDialog(int), dismissDialog(int)等方法,如果使用这些方法的话,Activity将通过getOwnerActivity()方法返回该Activity管理的对话框(dialog).转载 2012-12-02 13:50:30 · 627 阅读 · 0 评论 -
ADB server didn't ACK,failed to start daemon
原因一:adb使用的端口被占用(也有可能是adb本身占用了),导致无法启动。解决方法:1.在任务管理器中将adb.exe进程杀死;2.重启eclipse。原因二:安装了豌豆夹,所导致的。解决方法:在任务管理器中杀死wandoujia_daemon.exe、wandoujia_helper.exe两个进程原因三:adb_us原创 2013-06-18 10:07:46 · 1010 阅读 · 0 评论 -
查看android程序的CPU和内存消耗情况
查看CPU 消耗1.进入adb shell2.输入top -m 10 -s cpu 可查看占用cpu最高的前10个程序(-t 显示进程名称,-s 按指定行排序,-n 在退出前刷新几次,-d 刷新间隔,-m 显示最大数量)参数含义:PID:progress identification,应用程序IDS: 进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该原创 2013-04-28 10:35:55 · 21629 阅读 · 0 评论 -
Android 手机CPU 占用率过高
写了一个小程序(将定位数据发送到服务器),程序运行一小会儿,手机就很烫。开始以为是GPS长时间运转的,电池发烫。将GPS改成半个小时定一次位,情况还是没有彻底解决,依旧很烫。这时才想起了查看CPU的消耗情况(如何查看资源消耗),一看吓一跳,这么个小程序都耗了50%-60%d CPU 。 写了个测试程序测试线程空转会消耗多少CPU,当我在开启一个线程(只执行简单的打印)时,差不多消耗了原创 2013-04-28 09:42:54 · 7254 阅读 · 0 评论 -
UI线程、handler、service间的关系
在主界面中启动了一个service,service需要进行一些耗时操作(如图一)。结果发现UI界面会有停顿的现象。仔细查看资料后发现,原来service和也在UI线程中,而handler和调用它的线程在同一线程中,所以service在运转时会阻塞UI线程。找到阻塞的原因就好办了。 解决方法一:将service设置成remote。设置成remote后又有产生了一个问题—原创 2013-04-28 09:05:56 · 1431 阅读 · 0 评论 -
ListView中点击事件无法响应
当ListView的Item中包含Button、ImageButto等控件时,会导致item无法获取焦点,从而无法响应点击事件。这时候需要设置所有子控件无法焦点:可以使用android:focusable="false"或在item layout文件中设置android:descendantFocusability="blocksDescendants"这样item就可原创 2013-06-20 16:40:41 · 2241 阅读 · 0 评论 -
android 解析json数据(一)
json数据格式解析我自己分为两种;一种是普通的,一种是带有数组形式的;普通形式的:服务器端返回的json数据格式如下:{"userbean":{"Uid":"100196","Showname":"\u75af\u72c2\u7684\u7334\u5b50","Avtar":null,"State":1}}分析代码如下:// TODO转载 2013-03-30 14:41:34 · 717 阅读 · 0 评论 -
ScrollView监听停止滑动,判断是否滑到底部
监听停止滑动本以为ScrollView和ListView一样有setOnScrollListener方法。想不到ScrollView竟然没有。那就只能通过手势触摸事件来判断了。当手离开屏幕时,开始往handler中不断发生消息,直至滑动停止。判动是否滑到底部在滑动停止的时候,通过ScrollView和Linearlayout(scrollview的子控件)的高度以及滑动的距离来判断。原创 2013-07-29 21:59:24 · 6263 阅读 · 3 评论 -
Android 与蓝牙串口通讯
google提供的demo——Bluetooth Chat已实现和手机蓝牙模块的通讯,但不能和单片机上的蓝牙模块的进行通讯,原因在于它们使用的UUID不同,只需要将Bluetooth Chat中的UUID改为"00001101-0000-1000-8000-00805F9B34FB"就可以连接上并实现通讯。不过很快出现了两个问题: 1.手 机端可以将一段数据(如0x68原创 2013-03-25 20:59:26 · 2440 阅读 · 0 评论 -
android触摸事件的分发机制、冒泡机制、消费机制
android的触摸事件包括OnTouchEvent()、onInterceptTouchEvent(MotionEvent ev)以及dispathTouchEvent(MotionEvent ev)。响应这些事件的控件有Activity、View、VewGroup。控件与事件的响应关系,如下图:1.分发机制:android会从root view(根控件)开始向其子控件分发触摸事件,让其子控原创 2013-09-22 11:08:38 · 1956 阅读 · 0 评论 -
Android解析Json数据(二)—使用反射机制
网络传输中很多时候都会使用到JSon数据,每次都要更具key去解析实在是太繁琐、而且容易出错。这个可以通过java中的反射机制来解决,写一个公用的解析类而一劳永逸。原创 2013-10-06 09:48:04 · 2002 阅读 · 0 评论 -
ExpandableListView长按事件解决方法二
首先重写onCreateContextMenu方法 @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); ExpandableListView.E原创 2012-12-02 10:50:43 · 1808 阅读 · 0 评论 -
Android中findViewById()获取控件后 报 空指针 错误
今天再做一个程序时,发现我使用findViewById(R.id.edit)获取EditText时总是报空指针错误,我想不可能啊!!最后从findViewById()下手,才发现原来此方法中的R.id.edit是从当前Activity或者Dialog的主布局文件xml中获取。比如:我的程序:ListActivity类中:。。。。。。。 public void onCreate(转载 2012-12-01 15:04:41 · 4735 阅读 · 1 评论 -
Android ExpandableListView长按事件解决方法一
关于ExpandableListView长按事件处理,网上很多都是使用将上下文菜单注册到ExpandableListView上实现长按事件。这样做弊端显而易见,不够灵活,不能分别对父项、子项、父项之间、子项之间弹出内容做区分。下面来说我的解决方法,方法有点投机取巧。首先说明一点,使用我这种方法必须使用自定义的BaseExpandableListAdapter,至于为什么,具体后面讲转载 2012-12-02 08:55:29 · 810 阅读 · 0 评论 -
android中java 版本太低的问题
android SDK中自带了一些java的jar包,但版本一般都较低。但需要时用java最新版本的某些类或方法时,就会提示没有这个类或方法。(比如:使用NetworkInterface中getInterfaceAddresses()方法,这个方法时在java1.6以后才有的方法,此时android中的java 版本就不够用了)这时候需要自己导入jar包。导入jar包后,问题可能依然存在。原创 2013-01-01 21:22:28 · 1115 阅读 · 0 评论 -
loadlibrary failed with error 126
出现这个问题主要是显卡驱动引起的。解决方法: 1、双显卡的切换到集成显卡 2、更改显卡的驱动原创 2013-01-26 11:28:02 · 3690 阅读 · 0 评论 -
系统找不到proguard.cfg
错误提示:\android-sdk-windows\tools\lib\proguard.cfg(系统知道不指定文件) 解决办法方法一:在 \android-sdk-windows\tools\lib\目录下新建proguard.cfg文件内容如下: -optimizationpasses 5-dontusemixedcaseclassnames-dontskipn转载 2013-02-19 13:45:42 · 716 阅读 · 0 评论 -
Android Handler的使用
Handler的作用 Handler主要用于异步消息的处理,可以发送消息(Message)和Runnable对象到一个线程的消息队列(异步,阻塞)中。每一个Handler都会和一个线程进行绑定,拥有自己的消息队列。 它有两个作用: (1)安排消息或Runnable 在某个线程中某个地方执行; (2)安排一个动作原创 2013-02-18 14:41:42 · 441 阅读 · 0 评论 -
百度地图只能有一个BMapManager实例
当程序中存在多个BMapManager的时候,可能会导致can not add new layer错误。可以通过单例的方式来解决该问题。为了及时释放资源,最好加一个引用计数,当BMapManager没有被引用的时候及时调用BMapManager.destroy()释放。原创 2013-09-07 16:47:45 · 1996 阅读 · 4 评论 -
Google Map使用————获取api key
越来越多的应用使用了LBS(Location Based Service),其主要涉及技术有map API+Location API+javaee 服务端+手机通信+XMPP协议(主要是及时通信)。现在提供免费的Map API有google、百度、MapABC、QQ、阿里云、高德等等,以上几家也都要相对应的Loaction API。 因为google map api 升级,虽然继续原创 2013-02-19 16:48:01 · 3641 阅读 · 1 评论