上一页 1 2 3 4 5 6 ··· 20 下一页
摘要:不同于文件的存储方式,SharedPreferences 是使用键值对的方式来存储数据的。也就是 说当保存一条数据的时候,需要给这条数据提供一个对应的键,这样在读取数据的时候就可 以通过这个键把相应的值取出来。而且 SharedPreferences 还支持多种不同的数据类型存储, 如果存储的数据类 阅读全文
posted @ 2016-03-03 14:19 dodo-yufan 阅读 (2456) 评论 (0) 编辑
摘要:数据持久化就是指将那些内存中的瞬时数据保存到存储设备中,保证即使在手机或电脑 关机的情况下,这些数据仍然不会丢失。保存在内存中的数据是处于瞬时状态的,而保存在 存储设备中的数据是处于持久状态的,持久化技术则是提供了一种机制可以让数据在瞬时状 态和持久状态之间进行转换。 持久化技术被广泛应用于各种程序 阅读全文
posted @ 2016-03-03 14:13 dodo-yufan 阅读 (343) 评论 (0) 编辑
摘要:adb是Android重要工具之一,以提供强大的特性,例如复制文件到设备或从设备复制文件。可以使用Android Shell命令行参数连接到手机本身,并发送基本的 shell 命令。 进入命令行,使用 adb shell 进入到Android Shell命令模式,注意,这时候模拟器或者手机要启用并且 阅读全文
posted @ 2016-03-02 10:54 dodo-yufan 阅读 (19608) 评论 (0) 编辑
摘要:启动模拟器调试,执行ADB指令时,报错。C:\Users\gaojs>adb shellerror: more than one device and emulatorC:\Users\gaojs>adb install e:\good.apkerror: more than one device 阅读全文
posted @ 2016-03-01 11:33 dodo-yufan 阅读 (328) 评论 (0) 编辑
摘要:10-11 11:47:27.472: E/AndroidRuntime(12804): java.lang.RuntimeException: Unable to start activity ComponentInfo{cn.zhl.classguiding/cn.zhl.classguidin 阅读全文
posted @ 2016-02-03 09:26 dodo-yufan 阅读 (1975) 评论 (0) 编辑
摘要:强制下线功能应该算是比较常见的了,很多的应用程序都具备这个功能,比如你的 QQ 号在别处登录了,就会将你强制挤下线。其实实现强制下线功能的思路也比较简单,只需要 在界面上弹出一个对话框,让用户无法进行任何其他操作,必须要点击对话框中的确定按钮, 然后回到登录界面即可。可是这样就存在着一个问题,因为我 阅读全文
posted @ 2016-02-03 09:01 dodo-yufan 阅读 (5462) 评论 (1) 编辑
摘要:前面我们发送和接收的广播全部都是属于系统全局广播,即发出的广播可以被其他任何 的任何应用程序接收到,并且我们也可以接收来自于其他任何应用程序的广播。这样就很容 易会引起安全性的问题,比如说我们发送的一些携带关键性数据的广播有可能被其他的应用程序截获,或者其他的程序不停地向我们的广播接收器里发送各种垃 阅读全文
posted @ 2016-02-03 08:56 dodo-yufan 阅读 (434) 评论 (0) 编辑
摘要:5.3.1 发送标准广播 在发送广播之前,我们还是需要先定义一个广播接收器来准备接收此广播才行,不然发 出去也是白发。因此新建一个 MyBroadcastReceiver 继承自 BroadcastReceiver,代码如下所示: public class MyBroadcastReceiver e 阅读全文
posted @ 2016-02-03 08:53 dodo-yufan 阅读 (5700) 评论 (0) 编辑
摘要:Android 内置了很多系统级别的广播,我们可以在应用程序中通过监听这些广播来得到 各种系统的状态信息。比如手机开机完成后会发出一条广播,电池的电量发生变化会发出一 条广播,时间或时区发生改变也会发出一条广播等等。如果想要接收到这些广播,就需要使 用广播接收器,下面我们就来看一下它的具体用法。 5 阅读全文
posted @ 2016-02-03 08:49 dodo-yufan 阅读 (292) 评论 (0) 编辑
摘要:记得在我上学的时候,每个班级的教室里都会装有一个喇叭,这些喇叭都是接入到学校 的广播室的,一旦有什么重要的通知,就会播放一条广播来告知全校的师生。类似的工作机 制其实在计算机领域也有很广泛的应用,如果你了解网络通信原理应该会知道,在一个 IP 网络范围中最大的 IP 地址是被保留作为广播地址来使用的 阅读全文
posted @ 2016-02-03 08:42 dodo-yufan 阅读 (135) 评论 (0) 编辑
摘要:在Android的设计中,资源的访问或者网络连接,要得到这些服务都需要声明其访问权限,否则将无法正常工作。在Android中这样的权限有很多种,这里将各类访问权限一一罗列出来,供大家使用时参考之用。 android.permission.EXPAND_STATUS_BAR允许一个程序扩展收缩在状态栏 阅读全文
posted @ 2016-02-03 08:24 dodo-yufan 阅读 (285) 评论 (0) 编辑
摘要:现在你已经将关于碎片的重要知识点都掌握得差不多了,不过在灵活运用方面可能还有 些欠缺,因此又该进入我们本章的最佳实践环节了。前面有提到过,碎片很多时候都是在平板开发当中使用的,主要是为了解决屏幕空间不 能充分利用的问题。那是不是就表明,我们开发的程序都需要提供一个手机版和一个 Pad 版 呢?确实有... 阅读全文
posted @ 2016-01-27 11:05 dodo-yufan 阅读 (301) 评论 (0) 编辑
摘要:虽然动态添加碎片的功能很强大,可以解决很多实际开发中的问题,但是它毕竟只是在 一个布局文件中进行一些添加和替换操作。如果程序能够根据设备的分辨率或屏幕大小在运 行时来决定加载哪个布局,那我们可发挥的空间就更多了。因此本节我们就来探讨一下 Android 中动态加载布局的技巧。4.4.1 使用限定符如... 阅读全文
posted @ 2016-01-27 11:03 dodo-yufan 阅读 (2354) 评论 (0) 编辑
摘要:和活动一样,碎片也有自己的生命周期,并且它和活动的生命周期实在是太像了,我相 信你很快就能学会,下面我们马上就来看一下。4.3.1 碎片的状态和回调还记得每个活动在其生命周期内可能会有哪几种状态吗?没错,一共有运行状态、暂停 状态、停止状态和销毁状态这四种。类似地,每个碎片在其生命周期内也可能会经历... 阅读全文
posted @ 2016-01-27 11:01 dodo-yufan 阅读 (2582) 评论 (0) 编辑
摘要:介绍了这么多抽象的东西,也是时候应该学习一下碎片的具体用法了。你已经知道,碎 片通常都是在平板开发中才会使用的,因此我们首先要做的就是新建一个平板电脑的模拟 器。由于 4.0 系统的平板模拟器好像存在 bug,这里我就新建一个 4.2 系统的平板模拟器,如 图 4.4 所示。图 4.4现在启动这个平... 阅读全文
posted @ 2016-01-27 10:58 dodo-yufan 阅读 (1714) 评论 (0) 编辑
摘要:碎片(Fragment)是一种可以嵌入在活动当中的 UI 片段,它能让程序更加合理和充分 地利用大屏幕的空间,因而在平板上应用的非常广泛。虽然碎片对你来说应该是个全新的概 念,但我相信你学习起来应该毫不费力,因为它和活动实在是太像了,同样都能包含布局, 同样都有自己的生命周期。你甚至可以将碎片理解成... 阅读全文
posted @ 2016-01-27 10:55 dodo-yufan 阅读 (318) 评论 (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 阅读 (2189) 评论 (0) 编辑
摘要:1、 题外话相信大家对LayoutInflate都不陌生,特别在ListView的Adapter的getView方法中基本都会出现,使用inflate方法去加载一个布局,用于ListView的每个Item的布局。Inflate有三个参数,我在初学Android的时候这么理解的:对于Inflate的三... 阅读全文
posted @ 2016-01-08 19:57 dodo-yufan 阅读 (98) 评论 (0) 编辑
摘要:我们制 作的 message_left.9.png 可以作为收到消息的背景图,那么毫无疑问你还需要再制作一张 message_right.9.png 作为发出消息的背景图。图片都提供好了之后就可以开始编码了,首先还是编写主界面,修改 activity_main.xml中的代码,如下所示: ... 阅读全文
posted @ 2016-01-08 19:27 dodo-yufan 阅读 (201) 评论 (0) 编辑
摘要:它是一种被特殊处理过的 png 图片,能够指定哪些区域可以被拉伸而 哪些区域不可以。那么 Nine-Patch 图片到底有什么实际作用呢?我们还是通过一个例子来看一下吧。比如 说项目中有一张气泡样式的图片 message_left.png,如图 3.38 所示。图 3.38我们将这张图片设置为一个 ... 阅读全文
posted @ 2016-01-08 19:22 dodo-yufan 阅读 (4383) 评论 (0) 编辑
摘要:为了要让程序拥有更好的屏幕适配能力,在指定控件和布局大小的时候 最好使用 match_parent 和 wrap_content,尽量避免将控件的宽和高设定一个固定值。不过在 有些情况下,仅仅使用 match_parent 和 wrap_content 确实无法满足我们的需求,这时就必须 要给控件的... 阅读全文
posted @ 2016-01-08 19:20 dodo-yufan 阅读 (132) 评论 (0) 编辑
摘要:之所以说 ListView 这个控件很难用,就是因为它有很多的细节可以优化,其中运行效率 就是很重要的一点。目前我们 ListView 的运行效率是很低的,因为在 FruitAdapter 的 getView() 方法中每次都将布局重新加载了一遍,当 ListView 快速滚动的时候这就会成为性能的... 阅读全文
posted @ 2016-01-08 19:18 dodo-yufan 阅读 (348) 评论 (0) 编辑
摘要:只能显示一段文本的 ListView 实在是太单调了,我们现在就来对 ListView 的界面进行 定制,让它可以显示更加丰富的内容。首先需要准备好一组图片,分别对应上面提供的每一种水果,待会我们要让这些水果名 称的旁边都有一个图样。接着定义一个实体类,作为 ListView 适配器的适配类型。新建... 阅读全文
posted @ 2016-01-08 19:17 dodo-yufan 阅读 (542) 评论 (0) 编辑
摘要:首 先新 建 一个 ListViewTest 项 目, 并 让 ADT 自 动帮 我 们创 建 好 活动 。 然后 修 改activity_main.xml 中的代码,如下所示:在布局中加入 ListView 控件还算非常简单,先为 ListView 指定了一个 id,然后将宽度 和高度都设置为 m... 阅读全文
posted @ 2016-01-08 19:16 dodo-yufan 阅读 (650) 评论 (0) 编辑
摘要:在前面两节我们已经学习了 Android 中的一些常见控件以及基本布局的用法,不过当时 我们并没有关注这些控件和布局的继承结构,现在是时候应该看一下了,如图 3.26 所示。图 3.26可以看到,我们所用的所有控件都是直接或间接继承自 View 的,所用的所有布局都是直接或间接继承自 ViewGro... 阅读全文
posted @ 2016-01-08 19:15 dodo-yufan 阅读 (7366) 评论 (1) 编辑
摘要:一个丰富的界面总是要由很多个控件组成的,那我们如何才能让各个控件都有条不紊地 摆放在界面上,而不是乱糟糟的呢?这就需要借助布局来实现了。布局是一种可用于放置很 多控件的容器,它可以按照一定的规律调整内部控件的位置,从而编写出精美的界面。当然, 布局的内部除了放置控件外,也可以放置布局,通过多层布局的... 阅读全文
posted @ 2016-01-08 19:12 dodo-yufan 阅读 (309) 评论 (0) 编辑
摘要:ProgressDialog 和 AlertDialog 有点类似,都可以在界面上弹出一个对话框,都能够屏蔽 掉其他控件的交互能力。不同的是,ProgressDialog 会在对话框中显示一个进度条,一般是 用于表示当前操作比较耗时,让用户耐心地等待。它的用法和 AlertDialog 也比较相似,... 阅读全文
posted @ 2016-01-08 19:08 dodo-yufan 阅读 (630) 评论 (0) 编辑
摘要:AlertDialog 可以在当前的界面弹出一个对话框,这个对话框是置顶于所有界面元素之上 的,能够屏蔽掉其他控件的交互能力,因此一般 AlertDialog 都是用于提示一些非常重要的 内容或者警告信息。比如为了防止用户误删重要内容,在删除前弹出一个确认对话框。下面 我们来学习一下它的用法,修改 ... 阅读全文
posted @ 2016-01-08 19:07 dodo-yufan 阅读 (461) 评论 (0) 编辑
摘要:ProgressBar 用于在界面上显示一个进度条,表示我们的程序正在加载一些数据。它的用 法也非常简单,修改 activity_main.xml 中的代码,如下所示:……重新运行程序,会看到屏幕中有一个圆形进度条正在旋转,如图 3.11 所示。图 3.11这时你可能会问,旋转的进度条表明我们的程序... 阅读全文
posted @ 2016-01-08 19:06 dodo-yufan 阅读 (358) 评论 (0) 编辑
摘要:ImageView 是用于在界面上展示图片的一个控件,通过它可以让我们的程序界面变得更加 丰富多彩。学习这个控件需要提前准备好一些图片,由于目前 drawable 文件夹下已经有一张 ic_launcher.png 图片了,那我们就先在界面上展示这张图吧,修改 activity_main.xml,如... 阅读全文
posted @ 2016-01-08 19:05 dodo-yufan 阅读 (204) 评论 (0) 编辑
摘要:EditText 是程序用于和用户进行交互的另一个重要控件,它允许用户在控件里输入和编 辑内容,并可以在程序中对这些内容进行处理。EditText 的应用场景应该算是非常普遍了, 发短信、发微博、聊 QQ 等等,在进行这些操作时,你不得不使用到 EditText。那我们来看 一看如何在界面上加入 E... 阅读全文
posted @ 2016-01-08 19:04 dodo-yufan 阅读 (171) 评论 (0) 编辑
摘要:Button 是程序用于和用户进行交互的一个重要控件,相信你对这个控件已经是非常熟悉 了,因为我们在上一章用了太多次 Button。它可配置的属性和 TextView 是差不多的,我们 可以在 activity_main.xml 中这样加入 Button:…加入 Button 之后的界面如图 3.4... 阅读全文
posted @ 2016-01-08 19:03 dodo-yufan 阅读 (100) 评论 (0) 编辑
摘要:3.2.1 TextViewTextView 可以说是 Android 中最简单的一个控件了,你在前面其实也已经和它打过了一 些打交道。它主要用于在界面上显示一段文本信息,比如你在第一章看到的 Hello world!下 面我们就来看一看关于 TextView 的更多用法。将 activity_ma... 阅读全文
posted @ 2016-01-08 19:01 dodo-yufan 阅读 (152) 评论 (0) 编辑
摘要:最近看到朋友制作的Android APP使用了极少的图片,但是图形却极其丰富,问了之后得知是使用shape绘制的,有很多优点。下面是我整理的一些素材:预览下面是图片预览:代码布局文件 shape文件绿色标签s1.xml: 橙色标签s2.xm... 阅读全文
posted @ 2016-01-08 10:46 dodo-yufan 阅读 (129) 评论 (0) 编辑
摘要:一、工具介绍这是一张PNG图片,为了方便观看做的比较大。在Android中使用NinePatch图片的一般都是很小的图片,因为当内容多了的时候,背景会自动拉伸来适应内容,而如果图片做大了,内容少,则图片也不会自动变小,所以用作NinePatch图片的png图片一般是比较小的。打开Android自带的... 阅读全文
posted @ 2016-01-08 09:33 dodo-yufan 阅读 (230) 评论 (0) 编辑
摘要:[java]ViewHolderholder=null;if(convertView==null){convertView=mInflater.inflate(R.layout.xxxnull);holder=newViewHolder();holder.tvXXX=(TextView)findVi... 阅读全文
posted @ 2016-01-07 18:37 dodo-yufan 阅读 (134) 评论 (0) 编辑
摘要:Adapter 有个getView方法,可以使用setTag把查找的view缓存起来方便多次重用public View getView(int position, View convertView, ViewGroup parent) {ViewHolder vh;if (convertView =... 阅读全文
posted @ 2016-01-07 18:36 dodo-yufan 阅读 (649) 评论 (0) 编辑
摘要:简介:java.lang.SuppressWarnings是J2SE 5.0中标准的Annotation之一。可以标注在类、字段、方法、参数、构造方法,以及局部变量上。作用:告诉编译器忽略指定的警告,不用在编译完成后出现警告信息。使用:@SuppressWarnings(“”)@SuppressWa... 阅读全文
posted @ 2016-01-07 14:50 dodo-yufan 阅读 (1571) 评论 (0) 编辑
摘要:HashMap是java里比较常用的一个集合类,我比较习惯用来缓存一些处理后的结果。最近在做一个Android项目,在代码中定义这样一个变量,实例化时,Eclipse却给出了一个 performance 警告。意思就是说用SparseArray来替代,以获取更好性能。老实说,对SparseArray... 阅读全文
posted @ 2016-01-07 14:43 dodo-yufan 阅读 (1260) 评论 (0) 编辑
摘要:Layout inflation在Android上下文环境下转换XML文件成View结构对象的时候需要用到。LayoutInflater这个对象在Android的SDK中很常见,但是你绝对没想到竟然能够找到一个使用误区。说不定你的App里就是这么用的!如果你在写APP的时候像如下代码一样使用Layo... 阅读全文
posted @ 2016-01-07 08:57 dodo-yufan 阅读 (1020) 评论 (0) 编辑
上一页 1 2 3 4 5 6 ··· 20 下一页