随笔分类 -  Android

摘要:前面我们发送和接收的广播全部都是属于系统全局广播,即发出的广播可以被其他任何 的任何应用程序接收到,并且我们也可以接收来自于其他任何应用程序的广播。这样就很容 易会引起安全性的问题,比如说我们发送的一些携带关键性数据的广播有可能被其他的应用程序截获,或者其他的程序不停地向我们的广播接收器里发送各种垃 阅读全文
posted @ 2016-02-03 08:56 dodo-yufan 阅读(1295) 评论(0) 推荐(0) 编辑
摘要:5.3.1 发送标准广播 在发送广播之前,我们还是需要先定义一个广播接收器来准备接收此广播才行,不然发 出去也是白发。因此新建一个 MyBroadcastReceiver 继承自 BroadcastReceiver,代码如下所示: public class MyBroadcastReceiver e 阅读全文
posted @ 2016-02-03 08:53 dodo-yufan 阅读(7264) 评论(0) 推荐(0) 编辑
摘要:Android 内置了很多系统级别的广播,我们可以在应用程序中通过监听这些广播来得到 各种系统的状态信息。比如手机开机完成后会发出一条广播,电池的电量发生变化会发出一 条广播,时间或时区发生改变也会发出一条广播等等。如果想要接收到这些广播,就需要使 用广播接收器,下面我们就来看一下它的具体用法。 5 阅读全文
posted @ 2016-02-03 08:49 dodo-yufan 阅读(1153) 评论(0) 推荐(0) 编辑
摘要:记得在我上学的时候,每个班级的教室里都会装有一个喇叭,这些喇叭都是接入到学校 的广播室的,一旦有什么重要的通知,就会播放一条广播来告知全校的师生。类似的工作机 制其实在计算机领域也有很广泛的应用,如果你了解网络通信原理应该会知道,在一个 IP 网络范围中最大的 IP 地址是被保留作为广播地址来使用的 阅读全文
posted @ 2016-02-03 08:42 dodo-yufan 阅读(308) 评论(0) 推荐(0) 编辑
摘要:在Android的设计中,资源的访问或者网络连接,要得到这些服务都需要声明其访问权限,否则将无法正常工作。在Android中这样的权限有很多种,这里将各类访问权限一一罗列出来,供大家使用时参考之用。 android.permission.EXPAND_STATUS_BAR允许一个程序扩展收缩在状态栏 阅读全文
posted @ 2016-02-03 08:24 dodo-yufan 阅读(568) 评论(0) 推荐(0) 编辑
摘要:现在你已经将关于碎片的重要知识点都掌握得差不多了,不过在灵活运用方面可能还有 些欠缺,因此又该进入我们本章的最佳实践环节了。前面有提到过,碎片很多时候都是在平板开发当中使用的,主要是为了解决屏幕空间不 能充分利用的问题。那是不是就表明,我们开发的程序都需要提供一个手机版和一个 Pad 版 呢?确实有... 阅读全文
posted @ 2016-01-27 11:05 dodo-yufan 阅读(456) 评论(0) 推荐(0) 编辑
摘要:虽然动态添加碎片的功能很强大,可以解决很多实际开发中的问题,但是它毕竟只是在 一个布局文件中进行一些添加和替换操作。如果程序能够根据设备的分辨率或屏幕大小在运 行时来决定加载哪个布局,那我们可发挥的空间就更多了。因此本节我们就来探讨一下 Android 中动态加载布局的技巧。4.4.1 使用限定符如... 阅读全文
posted @ 2016-01-27 11:03 dodo-yufan 阅读(3086) 评论(0) 推荐(0) 编辑
摘要:和活动一样,碎片也有自己的生命周期,并且它和活动的生命周期实在是太像了,我相 信你很快就能学会,下面我们马上就来看一下。4.3.1 碎片的状态和回调还记得每个活动在其生命周期内可能会有哪几种状态吗?没错,一共有运行状态、暂停 状态、停止状态和销毁状态这四种。类似地,每个碎片在其生命周期内也可能会经历... 阅读全文
posted @ 2016-01-27 11:01 dodo-yufan 阅读(4020) 评论(0) 推荐(0) 编辑
摘要:介绍了这么多抽象的东西,也是时候应该学习一下碎片的具体用法了。你已经知道,碎 片通常都是在平板开发中才会使用的,因此我们首先要做的就是新建一个平板电脑的模拟 器。由于 4.0 系统的平板模拟器好像存在 bug,这里我就新建一个 4.2 系统的平板模拟器,如 图 4.4 所示。图 4.4现在启动这个平... 阅读全文
posted @ 2016-01-27 10:58 dodo-yufan 阅读(2400) 评论(0) 推荐(0) 编辑
摘要:碎片(Fragment)是一种可以嵌入在活动当中的 UI 片段,它能让程序更加合理和充分 地利用大屏幕的空间,因而在平板上应用的非常广泛。虽然碎片对你来说应该是个全新的概 念,但我相信你学习起来应该毫不费力,因为它和活动实在是太像了,同样都能包含布局, 同样都有自己的生命周期。你甚至可以将碎片理解成... 阅读全文
posted @ 2016-01-27 10:55 dodo-yufan 阅读(860) 评论(0) 推荐(0) 编辑
摘要:写了两个Activity,确定java代码和xml配置文件没问题之后,运行工程,报错:E/AndroidRuntime(10513): FATAL EXCEPTION: mainE/AndroidRuntime(10513): java.lang.RuntimeException: Unable t... 阅读全文
posted @ 2016-01-27 10:33 dodo-yufan 阅读(3731) 评论(0) 推荐(0) 编辑
摘要:1、 题外话相信大家对LayoutInflate都不陌生,特别在ListView的Adapter的getView方法中基本都会出现,使用inflate方法去加载一个布局,用于ListView的每个Item的布局。Inflate有三个参数,我在初学Android的时候这么理解的:对于Inflate的三... 阅读全文
posted @ 2016-01-08 19:57 dodo-yufan 阅读(275) 评论(0) 推荐(0) 编辑
摘要:我们制 作的 message_left.9.png 可以作为收到消息的背景图,那么毫无疑问你还需要再制作一张 message_right.9.png 作为发出消息的背景图。图片都提供好了之后就可以开始编码了,首先还是编写主界面,修改 activity_main.xml中的代码,如下所示: ... 阅读全文
posted @ 2016-01-08 19:27 dodo-yufan 阅读(404) 评论(0) 推荐(0) 编辑
摘要:它是一种被特殊处理过的 png 图片,能够指定哪些区域可以被拉伸而 哪些区域不可以。那么 Nine-Patch 图片到底有什么实际作用呢?我们还是通过一个例子来看一下吧。比如 说项目中有一张气泡样式的图片 message_left.png,如图 3.38 所示。图 3.38我们将这张图片设置为一个 ... 阅读全文
posted @ 2016-01-08 19:22 dodo-yufan 阅读(5150) 评论(0) 推荐(0) 编辑
摘要:为了要让程序拥有更好的屏幕适配能力,在指定控件和布局大小的时候 最好使用 match_parent 和 wrap_content,尽量避免将控件的宽和高设定一个固定值。不过在 有些情况下,仅仅使用 match_parent 和 wrap_content 确实无法满足我们的需求,这时就必须 要给控件的... 阅读全文
posted @ 2016-01-08 19:20 dodo-yufan 阅读(522) 评论(0) 推荐(0) 编辑
摘要:之所以说 ListView 这个控件很难用,就是因为它有很多的细节可以优化,其中运行效率 就是很重要的一点。目前我们 ListView 的运行效率是很低的,因为在 FruitAdapter 的 getView() 方法中每次都将布局重新加载了一遍,当 ListView 快速滚动的时候这就会成为性能的... 阅读全文
posted @ 2016-01-08 19:18 dodo-yufan 阅读(677) 评论(0) 推荐(0) 编辑
摘要:只能显示一段文本的 ListView 实在是太单调了,我们现在就来对 ListView 的界面进行 定制,让它可以显示更加丰富的内容。首先需要准备好一组图片,分别对应上面提供的每一种水果,待会我们要让这些水果名 称的旁边都有一个图样。接着定义一个实体类,作为 ListView 适配器的适配类型。新建... 阅读全文
posted @ 2016-01-08 19:17 dodo-yufan 阅读(995) 评论(0) 推荐(0) 编辑
摘要:首 先新 建 一个 ListViewTest 项 目, 并 让 ADT 自 动帮 我 们创 建 好 活动 。 然后 修 改activity_main.xml 中的代码,如下所示:在布局中加入 ListView 控件还算非常简单,先为 ListView 指定了一个 id,然后将宽度 和高度都设置为 m... 阅读全文
posted @ 2016-01-08 19:16 dodo-yufan 阅读(1009) 评论(0) 推荐(0) 编辑
摘要:在前面两节我们已经学习了 Android 中的一些常见控件以及基本布局的用法,不过当时 我们并没有关注这些控件和布局的继承结构,现在是时候应该看一下了,如图 3.26 所示。图 3.26可以看到,我们所用的所有控件都是直接或间接继承自 View 的,所用的所有布局都是直接或间接继承自 ViewGro... 阅读全文
posted @ 2016-01-08 19:15 dodo-yufan 阅读(7985) 评论(1) 推荐(0) 编辑
摘要:一个丰富的界面总是要由很多个控件组成的,那我们如何才能让各个控件都有条不紊地 摆放在界面上,而不是乱糟糟的呢?这就需要借助布局来实现了。布局是一种可用于放置很 多控件的容器,它可以按照一定的规律调整内部控件的位置,从而编写出精美的界面。当然, 布局的内部除了放置控件外,也可以放置布局,通过多层布局的... 阅读全文
posted @ 2016-01-08 19:12 dodo-yufan 阅读(992) 评论(0) 推荐(0) 编辑