摘要: Android 菜市场上有一款应用较 ShareApp,可以显示,管理,分享Android手机上安装的应用。但比较不爽的是,它把很多系统自带的应用程序也都显示了出来。这些程序往往是无法卸载的,更无法分享,让“已安装应用程序”的列表显的非常凌乱。我在手机上运行了一下,结果Gtalk,DRMService这些系统应用都显示出来了..比较不爽。于是自己写了个程序,看看能不能只显示用户自己安装的程序。程序大概分成三个部分:1.获取手机已安装的所有应用package的信息(其中包括用户自己安装的,还有系统自带的);2.滤除系统自带应用;3.通过列表显示出应用程序的图标(icon),和其他文字信息(应用名 阅读全文
posted @ 2013-03-18 09:51 忆冉 阅读(983) 评论(0) 推荐(0) 编辑
摘要: Android 的原生代码中的Launch2的一大功能就是支持左右滑动,但是好像它不能支持循环滑动,初想一下好像比较简单,那就是在获取第几屏的时候取余,差不多就可以实现,但是事实上源码里面会有很多误导,那么我就分享一下我分析Android2.3.3的Launch2源码并实现可以循环滑动桌面:首先我们去找到代码的位置:。。。。/package/app/Launch2/src/com/android/Lanucher2下是整个桌面的源代码,那么我们要找到桌面滑动的代码,由于实现桌面左右滑动是由workspace来实现的,那么我们可以找到Workspace.java文件,Workspace中有五个C 阅读全文
posted @ 2013-03-14 21:07 忆冉 阅读(2863) 评论(0) 推荐(0) 编辑
摘要: 注:该文章为(男人应似海)原创,如需转载请注明出处!在上一篇文章“TabHost用法”中我们介绍了通过TabHost实现标签页效果。但是在实际项目中我们可能更希望定义自己的Tab标签样式使界面效果更佳。既然不能改变系统的Tab样式,那么我们可以选择隐藏系统的东西,使用自己定义的东西(这种方式很好用,以后会详细介绍)。反编译新浪微博的项目后会发现,他们在布局中隐藏了TabWidget即Tab标签而使用一组RadioButton来代替。既然是自己定义的,那肯定是可以自己决定显示样式了,那我们的问题也就解决了。这里我使用的是“TabHost用法—两种实现方式”一文种提到的第二种实现方式,继承Acti 阅读全文
posted @ 2012-12-26 12:01 忆冉 阅读(5568) 评论(1) 推荐(0) 编辑
摘要: 今天我们要写一下Android Widget的开发,由于快点凌晨,我就不说的太具体了,同志们就模仿吧!首先看一下效果图:下面是Demo的详细步骤:一、新建一个Android工程命名为:WidgetDemo.二、准备素材,一个是Widget的图标,一个是Widget的背景。存放目录如下图:三、修改string.xml文件如下:viewplaincopytoclipboardprint? <?xmlversion="1.0"encoding="utf-8"?> <resources> <stringname="hell 阅读全文
posted @ 2012-12-12 09:34 忆冉 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 大家好我们这一节讲的是Android Handler的使用,在讲Handler之前,我们先提个小问题,就是如何让程序5秒钟更新一下Title.首先我们看一下习惯了Java编程的人,在不知道Handler的用法之前是怎么样写的程序,代码如下所示:view plaincopy to clipboardprint?packagecom.android.tutor;importjava.util.Timer;importjava.util.TimerTask;importandroid.app.Activity;importandroid.os.Bundle;publicclassHandlerDem 阅读全文
posted @ 2012-12-12 09:34 忆冉 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 大家好,我们上一节讲的是LayoutInflater 的 使用,而这一节我将讲一下MenuInflater ,顾名思义,LayoutInflater 是用来解析定义在layout 下的布局文件,那么MenuInflater 是不是用来解析定义在menu 目录下的菜单布局文件呢? 恭喜你答对了!(*^__^*) 嘻嘻……我们传统意义上 的定义菜单感觉比较繁琐,当我们使用MenuInflater 来生成菜单,你会发现是多么的爽朗,呵呵,我今天的小Demo,是定义四个菜单,并且实现了一个菜单事件。就是我们点击设置 (Setting )菜单,进入手机设置状态!下面看一下效果图:下面是实现Demo 的详 阅读全文
posted @ 2012-12-12 09:33 忆冉 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 大家好,我们这一节讲的是Android Preferences 的学习,Preferences 在Android当中被用来记录应用,以及用户喜好等等,它可以用来保存简单的数据类型,如Int,Double,Boolean等。Preferences中保存的数据可以理解为Map型。我们通过PreferenceManager 以及getDefaultSharedPreferences(Context) 来获取它,比如当我们想获得整数我们可以用 getInt(String key, int defVal) .获取里面的某个键值,当我们想修改时候我们用 putInt(String key, int new 阅读全文
posted @ 2012-12-12 09:33 忆冉 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 今天我们的教程是根据前面一节扩展进行的,如果你没有看,请点击Android高手进阶教程(三)查看第三课,这样跟容易方便你的理解!在xml 文件里定义控件的属性,我们已经习惯了android:attrs="" ,那么我们能不能定义自己的属性能,比如:test:attrs="" 呢?答案是肯定的.好了我就不卖关子了,直接进入主题。大致以下步骤:一、 在res/values 文件下定义一个attrs.xml 文件.代码如下:view plaincopy to clipboardprint?一、在res/values文件下定义一个attrs.xml文件.代码如下 阅读全文
posted @ 2012-12-12 09:32 忆冉 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 大家好我们这一节讲的是LayoutInflater的使用,在实际开发种LayoutInflater这个类还是非常有用的,它的作用类似于 findViewById(),不同点是LayoutInflater是用来找layout下xml布局文件,并且实例化!而findViewById()是找具体xml下的具体 widget控件(如:Button,TextView等)。为了让大家容易理解我做了一个简单的Demo,主布局main.xml里有一个TextView和一个Button,当点击Button,出现 Dialog,而这个Dialog的布局方式是我们在layout目录下定义的custom_dialog 阅读全文
posted @ 2012-12-12 09:32 忆冉 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 大家好我们今天的教程是在Android 教程中自定义View 的学习,对于初学着来说,他们习惯了Android 传统的页面布局方式,如下代码:view plaincopy to clipboardprint?<?xmlversion="1.0"encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android 阅读全文
posted @ 2012-12-12 09:30 忆冉 阅读(180) 评论(0) 推荐(0) 编辑