anddev
文章平均质量分 69
iteye_6288
这个作者很懒,什么都没留下…
展开
-
音乐播放器widget 前传 - 播放器的构建
音乐播放器widget [功能]有人可能会问:又不是写小说 分什么前传后传啊 因为音乐播放器widget 不仅涉及到widget 而且音乐播放器有有一些特别的设定 而且在一篇里面都讲会内容太多 而且比较杂乱 所以打算分开讲解 前传:音乐播放器后传:widget 所以这次会以 音乐播放器 为主 顺便包括一些与widget功能有关的东西 ...原创 2010-02-02 10:31:47 · 201 阅读 · 0 评论 -
TextView 部分字符高亮
TextView 部分字体高 [功能]TextView是不支持部分字段高亮的 但是我们可以进行扩展 [思路]1. 利用LinearLayout 作为 TextView 的 容器2. 字符串中每个字都使用一个TextView显示之3. 还可以使用*.9.png来作为所有TextView的背景 使之看上去成为整体 [思路 步骤] 1. 定义T...原创 2010-02-28 07:42:06 · 114 阅读 · 0 评论 -
PopupWindow 使用及延伸
PopupWindow [功能]PopupWindow 作为一种用户提醒 而且其开销也比Activity要小 [代码 步骤]1. 定义布局 供PopupWindow使用 如:hello.xml <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http:/...原创 2010-02-28 10:10:39 · 107 阅读 · 0 评论 -
标题 定制化
定制化 标题 [功能]默认标题仅支持文字 通过定制化 可以支持图片 [代码 步骤]1. 定义其所需的布局:title.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android...原创 2010-03-01 08:04:30 · 118 阅读 · 0 评论 -
Bitmap 相关2:Bitmap.createBitmap() 使用
写道 Bitmap 创建 写道我们不能总是依赖于BitmapFactory 下面告诉大家怎么从Bitmaqp中截取某一部分创建新的Bitmap 系统会有一个默认png图片:icon.png 但是这个图片中最外层会有白色的 比较讨厌 现在以此为例 说说怎么截取 因为其外层为白色 显示不出来 所以我用了 *.9.png 作为其边界 [代码 步骤]1. 创建Bit...原创 2010-03-06 10:06:10 · 405 阅读 · 0 评论 -
Menu 大变脸
实话说 就个人感觉 Memu 真的很丑 所以今天尝试换掉之 [原理]1. 保留Menu按键起作用2. 用ListView显示所有子菜单 [代码 步骤]1. 定义 menu.xml 仅含有一个ListView 并得到其View<?xml version="1.0" encoding="utf-8"?><LinearLayout ...2010-03-08 15:17:59 · 83 阅读 · 0 评论 -
抽屉 Panel 研究
大家对抽屉控件的第一反应就是系统提供的 如下: 其实 该控件的原理说白了 很简单 即:* ViewGroup 如:LinearLayout 用于放置各种View * Button 用于 展开/收起 ViewGroup 所以该控件的大致布局应如下: <Panel><Button /><LinearLay...2010-03-19 08:09:02 · 141 阅读 · 0 评论 -
ExpandableListView / ExpandableListActivity 使用及数据更新
ExpandableListView / ExpandableListActivity 二者关系 和 ListActivity / ListView 是一样的 [代码 步骤] 1. 定义含有ExpandableListView 的布局:main.xml<LinearLayout xmlns:android="http://schemas.androi...2010-03-20 10:02:18 · 123 阅读 · 0 评论 -
XML解析-DOM
关于XML解析 以前有说过 不过那是SAX方式的 今天说一下DOM方法 [序言]1. 今天解析的目标是:香港天气rss 地址为:http://202.140.96.134:8080/FS-RSS/ftpfile/local_weather.xml 现在的目标就是:定制化该目标的解析办法 我们还是查看一下该地址的源文件 具体方法: 现在贴其源文件://注:...2010-03-24 08:16:43 · 88 阅读 · 0 评论 -
emulator 模拟 发短信/打电话
今天就演示如果 发短信/打电话 1. 进入 emulator 控制台 命令如下: 此处 假设你的avd 5554telnet localhost 5554 2. 发短信 命令如下:向 5554 发送 "hello to 5554"sms send 5554 hello to 5554 3. 打电话 命令如下:模仿来自123 的电话gs...2010-03-27 09:13:32 · 217 阅读 · 0 评论 -
天气Widget
天气Widget : 负责显示 当天 未来几天 天气信息 还是一步步从头说吧: [代码 步骤]1. 定义widget所需界面: weatherlayout.xml 包括以下几个View* ImageView 用于显示:天气图片* TextView 用于描述天气信息 比如:温度 湿度 紫外线指数 紫外线强度* ImageView 相当于Button 负责...2010-03-29 10:15:03 · 380 阅读 · 0 评论 -
标签/TabActivity 深度研究
何谓标签 印象最深刻的应该是这个 现在 我们将通过一系列的扩展来研究之写道1. 自定义TabActivity 使得标签处于屏幕下方 2. 各个标签所用布局 既可在 *.xml 中定义 也可在 *.java 中定义 3. 更改标签布局 1. 标签页 在 屏幕下方写道一个典型的标签Activity 是由2 部分构成的 且其id都有规定 即: *...原创 2010-02-25 12:05:51 · 106 阅读 · 0 评论 -
AlertDialog 使用 扩展
AlertDialog [功能]也是一种Dialog [原理]1. AlertDialog 本身并没有构造函数 即 不可以通过 new AlertDialog(...) 来初始化 而只能通过 AlertDialog.Builder2. 而 AlertDialog.Builder 比较像是AlertDialog的构造器 用于接收各种和 AlertDialog ...原创 2010-02-22 10:26:32 · 96 阅读 · 0 评论 -
音乐播放器widget 后传 - widget的构建
音乐播放器widget 后传 [功能]上次讲的播放器的构建 这次讨论widget 的构建 为了不使得太过臃肿 该widget得功能也比较简单:写道1. 用于 换曲 功能 2. 显示从MediaPlayerService 发过来的字串 写道以2个功能为代表 演示: widget 与 后台service 的交互 [代码 步骤...原创 2010-02-02 11:48:46 · 185 阅读 · 0 评论 -
音乐播放器widget 补充
音乐播放器widget 补充 [功能]在 音乐播放器widget 前传 后传 有一些没讲清楚 所以打算再开辟 专门说一下 1. Bundle 复用 2. BroadcastReceiver 复用 [前提]1. 现有一BroadcastReceiver:class MessageListenerHelper extends BroadcastRec...原创 2010-02-02 12:43:04 · 105 阅读 · 0 评论 -
字体水平滚动
字体滚动 [功能]当字太多的话 让字体滚动 会是一个好办法 [代码 步骤]1. 设定 TextView 的属性<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" ...原创 2010-02-02 14:43:37 · 90 阅读 · 0 评论 -
MediaPlayer 补充
MediaPlayer 的一些补充 [前提]1. 定义 及 初始化MediaPlayer mp;mp = new MediaPlayer(); 2. 根据不同的音频来源 其与之绑定的方法也不同 以下一一列举 * 事先放入的 resource 文件 如: test.mp3 在 R.raw 中AssetFileDescriptor ...原创 2010-02-03 10:02:53 · 91 阅读 · 0 评论 -
EditText 之内容监听器2
EditText 之内容监听 [功能]以前写过通过 TextWatcher 监听 EditText 内容的改动 在知道那个之前 我都是通过 TextMonitor 监听其内容的更新 尽管现在其变得毫无意义 还是打算把之写下来 [原理]* 2 个 thread: 写道class TextUpdate extends Activity : 得到 EditText 的内...原创 2010-02-03 10:38:55 · 149 阅读 · 0 评论 -
ListView 中 item 循环显示
ListView 中 item 循环显示 [功能]何谓循环显示 即 1. 此刻的 item 为最后一个 当继续往下翻的话 就会回到第一个2. 而此刻的 item 是第一个 当继续往上翻 就会变为最后一个 [原理]1. 一个 int ID 用于保存 选中的 item2. 通过 onKeyDown() 捕捉ACTION 并判断是 向上 还是 向下3...原创 2010-02-03 15:46:56 · 197 阅读 · 0 评论 -
ViewFlipper 之 幻灯片
ViewFlipper 之 幻灯片 [功能]类似于幻灯片的效果 其实在开始之前 也比较矛盾 用 ImageSwitcher 还是 ViewFlipper 最后还是决定用后者 不是难易问题 而是考虑通用性 ImageSwitcher 只能显示 Image 而 ViewFlipper 只要是View 就可以显示 无论是 ImageView TextView 甚至 Button .......原创 2010-02-04 10:22:22 · 95 阅读 · 0 评论 -
ProgressDialog 独立组件
ProgressDialog [功能]鉴于很多人对ProgressDialog 的使用不是太熟悉 导致在此浪费了太多时间 而不喜欢使用 更加剧了这个问题 所以决定写这篇:ProgressHelper 包含了 创建 显示 并关闭 ProgressDialog [代码 步骤]1. 创建 ProgressHelper 的构造函数 并传入ProgressDial...原创 2010-02-04 14:06:47 · 127 阅读 · 0 评论 -
Chronometer 秒表 运用
Chronometer 秒表 [代码 步骤]1. 创建含有 秒表 的界面 以及 一些 控制Button<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:ori...原创 2010-02-06 12:12:23 · 130 阅读 · 0 评论 -
文字垂直滚动
文字垂直滚动 [功能]在以前的文章曾经写过 如何水平滚动 现在说一下垂直滚动 [原理]1. 设置 ScrollView的控件高度 为定值2. 如何滚动显示:ScrollView.smoothScrollBy()3. 如何循环滚动显示 即 当滚到最下面后 会回到最上面继续滚动: 得到最下面的垂直位移 然后通过 ScrollView.scrollTo() 来返回最...原创 2010-02-20 13:32:39 · 138 阅读 · 0 评论 -
音乐播放器与RadioButton
前几天有人向我要音乐播放器源代码 而自己因为系统问题而丢失了 所以决定重写一遍 为了与以前不同 所以今天打算不用ListView 而用RadioGroup 其实是换汤不换药而已 [代码 步骤]1. 定制化有RadioGroup的界面:main.xml<?xml version="1.0" encoding="utf-8"?><Lin...2010-03-30 15:01:11 · 169 阅读 · 0 评论 -
Button.setOnClickListener(OnClickListener l) 原理
使用Button 可能都会监听之 当其被点击 就会有函数负责回调 那么其到底是怎么实现的呢? 今天要做的就是摸清楚之 为了减少不必要的麻烦 打算extends EditText 并在其上设立监听器 [代码 步骤]1. 定义Edit2Text 且extends EditText public class Edit2Text extends EditText { On...2010-04-07 09:08:05 · 304 阅读 · 0 评论 -
NDK 搭建与HelloWorld
NDK [前提]1. Cygwin 用于安装NDK 编译c代码 生成*.so文件 [步骤] 1. 下载并解压缩 NDK 我使用的是1.6 即:android-ndk-1.6_r1-windows.zip 假定:我的安装目录:E:\anddev\ndk\android-ndk-1.6_r1 后面为简化之 该目录用:MY_NDK_PA...2010-05-19 09:48:00 · 129 阅读 · 0 评论 -
流媒体 播放 理论篇
流媒体播放 之所以为理论篇 因为该篇仅实现了播放功能 但还有一些其他待解决/完善功能 所以称之为理论篇 而且该篇以原理居多 故暂不释放源码 [原理] 写道其实 原理很简单1. 下载目标URI 2. 当下载了 96*10/8 Byte 开始播放之3. 一边播放 一边下载 4. 当下载了 100 byte 暂停播放 重置播放...2010-05-28 14:42:58 · 173 阅读 · 0 评论 -
求 android 手机 帮忙测试sms服务系统 谢谢
Hi guys, 最近一段时间没有更新blog 因为一直被一个sms问题困扰 那就是: 现在本人自己完成sms有关功能 包括: > 收信箱 能显示所有短信 并自动刷新 进度:完成 > 发信箱 能显示所有已发信息 并自动刷新 进度:完成 > 编写信息 能发送短信 并保存在发信箱 进度:测试中 目前 第3问题 还被困扰中 ...2010-06-05 08:25:39 · 108 阅读 · 0 评论 -
SMS管理:收信箱 发信息 编写新信息
SMS管理 [功能] 1. 收信箱:显示所有收到的信息 且实时显示 即:当有新信息收到 能自动刷新显示 2. 发信箱:显示所有已发信息 同上 3. 编写新信息: 鉴于一些问题 打算不自行定义 而只通过Intent调用系统的 [原理] 1. 通过目标Uri显示收信箱 发信箱 目标Uri:content://sms/inbox con...2010-06-07 08:14:27 · 177 阅读 · 0 评论 -
Intent.createChooser() 妙用
Intent.createChooser(ntent target, CharSequence title) 其实 大家对该功能第一影响就是ApiDemo 里面的 其只有区区几行代码 提取为: Intent intent = new Intent(Intent.ACTION_GET_CONTENT);intent.setType("audio/*");startAc...2010-06-12 11:14:51 · 155 阅读 · 0 评论 -
PreferenceActivity 全接触
PreferenceActivity 为了引入这个概率 首先从需求说起 即:现有某Activity专门用于手机属性设置 那么应该如何做呢? 根据已学知识 很快一个念头闪过 即:Activity + Preference 组合 前者用于界面构建 后者用于设置数据存放 其实 这是正确的 但是 这会比较繁琐 因为 每个设置选项 都要建立与其对应的Preference ...2010-06-19 12:53:55 · 130 阅读 · 0 评论 -
获取Launcher 启动列表
获取Launcher 启动列表 即 列出所有Launcher程序 通过PackageManager 来获取 [代码 步骤] 1. 定义内部类 LauncherItem 用于定义Application相关属性 比如:图标 名称 以及 ComponentName public class LauncherItem { Drawable icon...2010-06-22 10:09:55 · 129 阅读 · 0 评论 -
CheckBox在ListView 而导致其OnItemClickListener不会被触发
CheckBox在ListView 而导致其OnItemClickListener不会被触发 这个标题实在有点长 没办法而为之 本人语言实在乏善可陈 故开题之前 重新描述之 写道ListView 中的各个item 通过 extends BaseAdapter 可以显示任意子View 当然也包括CheckBox 但是 当使用CheckBox 会导致ListView.s...2010-06-22 20:55:03 · 219 阅读 · 0 评论 -
MediaScanner 研究
MediaScanner 之所以拿MediaScanner开刀 因为想借用系统的Media Scan 工具 通过Intent直接调用系统的 [步骤] 1. 下载并安装Git 过程略 网络上很多 2. 得到该功能的模块地址并使用Git下载之 地址:git://android.git.kernel.org/platform/packa...2010-06-23 15:21:08 · 96 阅读 · 0 评论 -
ListView 内容之分批显示
ListView 内容循环显示 大家试想 假如ListView待显示的数据很庞大 从0-100 如果按照ListView默认行为 用户要找到50记录 可能要滚动很久 这显然会影响用户体验 本文的宗旨:解决这一问题 [思路] 思路很简单 1. 自定义BaseAdapter 2. 其 getCount() 返回一个固...2010-06-25 20:38:25 · 158 阅读 · 0 评论 -
自定义字体
自定义字体: []代码 步骤] 1. 定义包含1 TextView 布局:main.xml <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:o...2010-05-15 10:49:59 · 95 阅读 · 0 评论 -
模糊查找 再深入
模糊查找 再深入 应某位大哥要求 再次对 SQLite::query(...) 学习了一番 有点心得 不敢独吞 与大家讨论之 [前言] 本例打算以android系统联系人为例演示 该联系人记录初始数据为: [代码 步骤] 1. 自定义 即:不使用系统提供的query(...) 为什么:因为开始也不清楚系统query(...)...2010-05-15 09:41:52 · 111 阅读 · 0 评论 -
sqlite3 使用
sqlite3 usage 1. 以系统联系人为例 介绍如何使用之 [步骤]1. 进入 <sdk>/tools 我的命令如下:C:\Documents and Settings\Administrator>e:E:\>cd anddevE:\anddev>cd sdkE:\anddev\sdk>...2010-04-08 13:55:03 · 146 阅读 · 0 评论 -
音乐播放之进度条 - 自定义
音乐播放之进度条 [前提]* android 自身也提供了该接口 似乎是:MediaController 但看过截图 发现极丑 所以今天就自己写了一个 现于诸位分享分享 [要求]1. 进度条控件打算使用系统提供的SeekBar2. SeekBar 要支持拖拉功能 即:定点播放3. SeekBar 要反映播放位置 即:播放到哪 SeekBar 就在哪 ...2010-04-11 08:15:58 · 579 阅读 · 0 评论 -
Thread&Handle 使用
Thread&Handle 本次以进度提示为例 讲解Thread&Handle的使用 [前提]1. Thread * 启动:start()* 停止:stop()* 定制化: 填充 void run()2. Handler* 使用: sendMessage() / sendEmptyMessage()* 接受&处理:定制化 ...2010-04-13 09:52:20 · 326 阅读 · 0 评论