`
jandroid
  • 浏览: 1894530 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
文章列表
如果想在Android手机要想扩展一个实体键,就我知道而言有两种方法,基于Android4.0的源码来分析的和2.3的源码有点区别,区别不大,下面分享给大家: 转载请标明出处: (一)可以在frameworks层的KeyEvent.java这个类中定义一个值,在PhoneWindowManager.java这个类中做处理就可以了。(Home键就是这么实现的)。效果图如下: (二)可以利用广播的形式,frameworks层PhoneWindow.java这个类的onKeyDown( )对这个实体键发广播,上层接受这个广播来处理也可以达到这个效果。耳机键就是利用广播来接受的。无论在哪个界面长按 ...
前段时间解决一个widget的bug,具体分析是“appWidgetManager.updateAppWidget(THIS_APPWIDGET, views);”这个方法updateAppWidget()在恢复出厂设置后不更新了,我就查原因,结果通过log的验证发现时sdk的bug: step 1: public void updateAppWidget(int[] appWidgetIds, RemoteViews views) { try { sService.updateAppWidgetIds(appWidgetIds, views); ...
经过写上篇文章Android闹钟最终版【android源码闹钟解析】 .发现有一些留邮箱的,但凡留邮箱的,我就发源码过去了,不错,基本上收到邮箱的都留言感谢了,这样我的成就感就多一点,也能有更多留邮箱的。学习是一个相互的 ...
我以前写了个复杂闹钟的demo,参见Android闹钟【复杂版】【大明进化十五】 .但是里面的bug有一些,好多人留言,所以我就看看源码,找找原因?顺便把源码代码整理出来,弄成一个完整的可以运行的apk,今天上午就整理了一下,才发现,源码处理的逻辑多一些,考虑的情况多,比如开机后接收一个广播,然后从数据库中取时间和当前时间对比,设置闹钟,当时区改变了,也会发送广播,对闹钟进行设置的。 转载请标明出处:http://blog.csdn.net/wdaming1986/article/details/7461043 有人问我:“当设置一个闹钟后,然后调系统时间超过设置的闹钟的时间,这时候闹钟响 ...
最近看到联想,摩托罗拉等,手机launcher中有个效果,进入mainmenu后,里面的应用程序的图标可以拖来拖去,所以我也参照网上给的代码,写了一个例子。还是很有趣的,实现的流畅度没有人家的那么好,我只是模仿这种效果,我写的这个拖拽是两个图标之间进行交换,所以,当从一行的某个位置,换到下一行的另一列的时候,发现有好几个图标都改变位置了,因为是相邻两个交换位置,所以每经过相邻的图标的时候都改变位置。先弄个雏形,以后再更新优化。 转载请标明出处:http://blog.csdn.net/wdaming1986/article/details/7436881 先看几张效果图,再来研究代码: 横行拖 ...
安卓官方的Browser的写的真是不怎么样,上个月让我做了一个功能,是修改browser下载的修改,如果sdcard中有了这个文件,就弹出一个Dialog,提示内容为“改文件已经存在,是否覆盖?”,是就删除这个文件,重新下载,否就不做任何操作!谷歌源码的流程是下载文件会另外取个名字,参见Android 下载重复文件命名规则【android源码解析七】这篇文章写得很详细,介绍谷歌源码下载文件后命名规范! 大明原创,转载请标明出处:http://blog.csdn.net/wdaming1986/article/details/7413150 主要的思路: 1、分析安卓下载的命名规范; 2、分析 ...
工作中遇到的问题要注意总结,我在工作中遇到了问题,现在抽空简单整理一下; 第一个问题:判断手机当前上网用的是sim卡还是wifi,我写了一个封装的方法,以后可以拿来用: /** * check the internet is * mobile or wifi * add by wangxianming * in 2012-03-22 */ private boolean checkWifi() { boolean isWifiConnect = true; Connectivit ...
题记:一个人不能在两个同样的坑里摔倒。 去年4月份的时候,我有一个任务,让我写个下载保存文件的方法,如果文件的名字存在,就加“-1”,如果仍然存在,就在-后面的数字加1,例如:文件名:Keep_On_It.mp3,第一次下载是Keep_On_It.mp3,第二次下载名字就保存成:Keep_On_It-1.mp3,第三次下载名字就保存成:Keep_On_It-2.mp3,第四次下载名字就保存为:Keep_On_It-3.mp3,以此类推的形式一直实现。当时我用的方法比较笨,可读性特别差,当时用了半天就实现了,就是截取字符串进行比较。最近研究源码下载的时候发现可以用for循环来实现,可读性强,容易 ...
今天,晚上9点下班回住的地方,和同事一起走到10号线地铁(牡丹园站)里面,看见地铁地面上有个机子,这时候地铁还没有来,于是乎我俩就走到了地铁的指示机前,是触屏的,但是不支持多点触控,点了一点,感觉还可以!有一些方便大家的提示,比如:地铁出口附近的公交车有哪些?但是没有详细的哪一个公交车具体经过的站牌是哪些?有地铁的最早发车时间和最晚发车时间表,就在看这个的时候,发现了一个bug,13号线开往西直门的全程末班车的时间有一个居然是13:10分,感觉不太对劲,地铁怎么可能在13:10分停运呢、于是乎我就上网查地铁运营时间表! 地铁乘客信息查询系统 红色标出的是错误的时间表 ...
android中launcherMode有4中属性:standard(默认), singleTop,singleTask和 singleInstance;网上有好多例子讲解这四种关系的:下面我列举几个链接: 大明原创---->转载请标明出处:http://blog.csdn.net/wdaming1986/article/details/7304191 http://www.cnblogs.com/xiaoQLu/archive/2011/09/29/2195742.html http://marshal.easymorse.com/archives/2950 ht ...
现在咱们来聊聊android系统中铃声的播放,从framework层面说说Ringtone的播放原理,我在android源码中碰到了播放系统铃声中的问题,所以仔细研究了这方面的知识,现在整理一下,给读者一些帮助,现在我对铃声的播放和设置特别亲切,不管是短信铃声方面的,来电铃声,还是日历铃声,email的铃声,闹钟的铃声,都能解决铃声方面的bug。前面我说了Notification的播放机制,Android中Notification的framework层讲解【安卓源码解析四】 . 大概给大家说了说,有想了解的可以参考看一看。铃声播放的机制都是用MediaPlayer来播放的,通过MediaPla ...
开发和调试 这一节将介绍在android上开发调试应用程序。它将教会我们如何创建,编译,运行以及调试android代码。或者,你也可以从Hello Android tutorial.开始   主要内容 在eclipse上开发android 应用程序 利用其他IDE和工具开发andr ...
解决案例一: 错误信息如下: ERROR/AndroidRuntime(327): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.lee.android/org.lee.android.radioPlayer}: java.lang.ClassCastException: android.widget.ImageView   view plaincopy to clipboardprint? public void onCreate ...
Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失。 1.默认效果: 代码:Toast.makeText(getApplicationContext(), "默认Toast样式",     Toast.LENGTH_SHORT).show(); 2.自定义显示位置效果: 代码:toast = Toast.makeText(getApplicationContext(),     "自定义位置Toast", Toast.LENGTH_ ...
我们自定义了View,但是有没想过一个问题,就是View中的(0,0)坐标,也就是原点坐标在哪??我们是不是有时候很困惑,接下来我们就来研究View中的原点坐标相关的问题。   一、new HelloView时View的原点 我们通过从View中绘制一条从原点到右下角的线来看看这个View中的原点和这个View的宽和高。这里我们从
Global site tag (gtag.js) - Google Analytics