skywang12345

导航

 

2013年7月3日

摘要: Android Service总结06 之AIDL版本版本说明发布时间发布人V1.0初始版本2013-04-03Skywang1 AIDL介绍 AIDL,即Android InterfaceDefinition Language。 Android使用AIDL来完成进程间通信(IPC),并且一般在服务需要接受不同应用多线程的请求时才需要使用AIDL;如果是同一个应用内的请求使用Binder实现即可;如果只是应用间通信而不是多线程处理的话使用Messenger,当然这两种情况也可以使用AIDL。本地进程和远程进程使用AIDL有所不同,本地进程内调用时会都在调用的线程内执行,远程进程使用... 阅读全文
posted @ 2013-07-03 15:38 如果天空不死 阅读(2971) 评论(1) 推荐(1) 编辑
 
摘要: Android Service总结05 之IntentService版本版本说明发布时间发布人V1.0添加了IntentService的介绍和示例 2013-03-17Skywang1 IntentService介绍IntentService继承与Service,它最大的特点是对服务请求逐个进行处理。当我们要提供的服务不需要同时处理多个请求的时候,可以选择继承IntentService。IntentService有以下特点:(1) 它创建了一个独立的工作线程来处理所有的通过onStartCommand()传递给服务的intents。(2) 创建了一个工作队列,来逐个发送intent给onH.. 阅读全文
posted @ 2013-07-03 15:37 如果天空不死 阅读(5083) 评论(2) 推荐(0) 编辑
 
摘要: Android Service总结04 之被绑定的服务 -- Bound Service版本版本说明发布时间发布人V1.0添加了Service的介绍和示例2013-03-17Skywang1 Bound Service说明 Bound Service,即被绑定的服务,和Started Service一样,它也是2种常见服务之一。它常被用在执行进程的某个后台操作或进程间通讯(IPC)。实现步骤和使用方法(01) 创建一个Bound Service类,该类要继承于Service。(02) 在Bound Service类中实现以下接口: onCreate():可以不用实现,视用户需求而定。当服务被创 阅读全文
posted @ 2013-07-03 15:36 如果天空不死 阅读(1564) 评论(0) 推荐(0) 编辑
 
摘要: Android Service总结01 目录1Android Service总结01 目录2Android Service总结02 service介绍 介绍了“4种service 以及 它们的区别”、“”2种常见service的创建流程、生命周期”等。3Android Service总结03 之被启动的服务 -- Started Service 详细的介绍了“Started Service”的特性,并通过示例对“Started Service”的实现步骤和使用方法进行了说明。4Android Service总结04 之被绑定的服务 -- Bound Service 详细的介绍了“Bound S 阅读全文
posted @ 2013-07-03 15:35 如果天空不死 阅读(1510) 评论(0) 推荐(2) 编辑
 
摘要: Android Service总结02 service介绍版本版本说明发布时间发布人V1.0介绍了Service的种类,常用API,生命周期等内容。2013-03-16Skywang概要 若读者之前没接触过service,对下面内容有个大致了解即可。待使用过service之后再来阅读本章内容,会理解更深刻。 service是Android四大组件之一,其余的是activity、BroadcastReceiver、Content Provider。service是一个能够在后台执行长时操作的应用程序组件,它不提供用户界面。应用程序能够通过service来启动后台操作,不同应用程序也能够通过ser 阅读全文
posted @ 2013-07-03 15:35 如果天空不死 阅读(1566) 评论(0) 推荐(0) 编辑
 
摘要: Android Service总结03 之被启动的服务 -- Started Service版本版本说明发布时间发布人V1.0添加了Service的介绍和示例2013-03-17Skywang1 Started Service介绍 Started Service,即被启动的服务。它是2种常见服务之一,另一种是Bound Service。Started Service常被用在执行进程的某个后台操作,如通过该服务来实现文件下载等功能。 实现步骤和使用方法(01) 创建一个Started Service类,该类要继承于Service。(02) 在Started Service类中实现以下接口: on 阅读全文
posted @ 2013-07-03 15:35 如果天空不死 阅读(1860) 评论(0) 推荐(0) 编辑
 

2013年7月1日

摘要: Content Provider版本修改内容日期修改人V1.0原始版本2013/2/25skywang 1 URI通用资源标志符(Universal Resource Identifier, 简称"URI")。URI由许多部分所组成,示例及解说如下:2 Content URIsContent URIs就是Android遵照URI的标准,定义的一种专用的URI。Android提供了ContentUris、UriMatcher类来操作Content URIs。2.1 Content URIs说明Content URIs的语法如下:content://authority/path 阅读全文
posted @ 2013-07-01 20:49 如果天空不死 阅读(745) 评论(0) 推荐(0) 编辑
 
摘要: SQLite数据存储Android 集成了 SQLite 数据库。它存储在 /data/data//databases/ 下。Android 开发中使用 SQLite 数据库 Activites 可以通过 Content Provider 或者 Service 访问一个数据库。Android数据库中主要涉及到的类有:SQLiteOpenHelper、SQLiteDatabase、Cursor、Context。(01)SQLiteOpenHelper:它是 SQLiteDatabase的辅助类,主要功能是辅助管理数据库,如管理数据库的创建和版本。(02)SQLiteDatabase:它是Andr 阅读全文
posted @ 2013-07-01 20:48 如果天空不死 阅读(790) 评论(0) 推荐(0) 编辑
 
摘要: Android文件读写版本修改内容日期修改人V1.0原始版本2013/2/25skywang Android文件读写的有两种方式。一种,是通过标准的JavaIO库去读写。另一种,是通过Context提供的接口去读写。两种方式的原理是一样的,只是API接口不同。下面分别对两种方式进行介绍。1 通过Java IO库读写文件当我们想读写公用的目录,如图片、提示音;或者读写外部扩展卡上的文件时,一般都选择通过Java IO库去读写。当通过Java IO库去读写文件时,一般会用到Android Enviroment的接口(如读取外部sdcard的路径、状态等)。1.1 Android Enviro... 阅读全文
posted @ 2013-07-01 20:40 如果天空不死 阅读(3818) 评论(1) 推荐(2) 编辑
 
摘要: Android 数据存储01之SharedPreferences版本修改内容日期修改人V1.0原始版本2013/2/20skywang1 SharedPreferences概括SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长 整形、Int整形、String字符串型的保存。 它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。 阅读全文
posted @ 2013-07-01 20:39 如果天空不死 阅读(661) 评论(0) 推荐(0) 编辑
 
摘要: Android App组件之Fragment说明和示例1 Fragement介绍Android从3.0开始引入Fragment,主要是为了支持更动态更灵活的界面设计。 Fragment是activity的界面中的一部分或一种行为。你可以把多个Fragment们组合到一个activity中来创建一个多面界面,你也可以在多个activity中重用一个Fragment。你可以把Fragment认为模块化的一段activity,它具有自己的生命周期,接收它自己的事件,并可以在activity运行时被添加或删除。 需要注意的是:Fragment不能独立存在,它必须嵌入到activity中,而且Fr... 阅读全文
posted @ 2013-07-01 19:59 如果天空不死 阅读(1016) 评论(0) 推荐(0) 编辑
 
摘要: Android App组件之ListFragment -- 说明和示例1 ListFragement介绍 ListFragment继承于Fragment。因此它具有Fragment的特性,能够作为activity中的一部分,目的也是为了使页面设计更加灵活。 相比Fragment,ListFragment的内容是以列表(list)的形式显示的。1.1 ListFragment布局 ListFragment的布局默认包含一个list view。因此,在ListFragment对应的布局文件中,必须指定一个 android:id 为 “@android:id/list” 的ListView控... 阅读全文
posted @ 2013-07-01 19:59 如果天空不死 阅读(16051) 评论(2) 推荐(4) 编辑
 
摘要: Android App组件之Activity1 activit介绍 Activities 是Android的四大组件之一,其余三大组件是service、broadcast和content provider。它的主要功能是提供界面。一个acivity对应一个界面。 当一个activity因为新的activity启动而被停止时,它会收到状态变化的通知,这样的变化有多个,每个都会引起系统调用一个相应的回调方法以通知activity,这些回调方法被统称为“生命周期回调方法”。这些回调方法分别在Activity被创建、停止、恢复、销毁时被调用。2 activity声明周期上面是官方给出的activity 阅读全文
posted @ 2013-07-01 19:57 如果天空不死 阅读(484) 评论(0) 推荐(0) 编辑
 
摘要: Android控件之ImageSwticher1. ImageSwticher介绍 ImageSwitcher是图片切换的控件,它能实现图片切换时的动画效果,包括图片导入效果、图片消失效果等等。Android系统提供了许多不同的动画效果供我们选择。2. 应用示例 示例说明:新建一个activity,包括一个ImageSwitcher控件。ImageSwitcher中的图片,每5秒钟变换一个。 代码说明:package com.skywang.control;import android.app.Activity;import android.content.Context;import and 阅读全文
posted @ 2013-07-01 19:55 如果天空不死 阅读(815) 评论(0) 推荐(0) 编辑
 

2013年6月27日

摘要: Android 之窗口小部件详解--App Widget版本号说明作者日期1.0添加App Widge介绍和示例Sky Wang2013/06/271 App Widget简介App Widget是应用程序窗口小部件(Widget)是微型的应用程序视图,它可以被嵌入到其它应用程序中(比如桌面)并接收周期性的更新。你可以通过一个App Widget Provider来发布一个Widget。本文参考Android官方文本,先介绍App Widget的主要组件,然后再以示例来详细说明。2 App Widget主要的相关类介绍2.1 AppWidgetProviderAppWidgetProvider 阅读全文
posted @ 2013-06-27 12:04 如果天空不死 阅读(46666) 评论(4) 推荐(10) 编辑
 

2013年6月25日

摘要: Java引用总结--StrongReference、SoftReference、WeakReference、PhantomReference1 Java引用介绍 Java从1.2版本开始引入了4种引用,这4种引用的级别由高到低依次为: 强引用 > 软引用 > 弱引用 > 虚引用⑴强引用(StrongReference) 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。⑵软引用(SoftReference) 阅读全文
posted @ 2013-06-25 14:43 如果天空不死 阅读(27521) 评论(9) 推荐(15) 编辑
 
摘要: Android 布局之GridLayout1 GridLayout简介GridLayout是Android4.0新提供的网格矩阵形式的布局控件。GridLayout的继承关系如下:java.lang.Object --> android.view.View --> android.view.ViewGroup --> android.widget.GridLayoutGridLayout包含的属性如下:android:alignmentMode属性说明:当设置alignMargins,使视图的外边界之间进行校准。可以取以下值:alignBounds -- 对齐子视图边界。al 阅读全文
posted @ 2013-06-25 10:07 如果天空不死 阅读(69263) 评论(2) 推荐(10) 编辑
 
摘要: Android 布局之FrameLayout1 FrameLayout简介对于FrameLayout,官方介绍是:FrameLayout is designed to block out an area on the screen to display a single item. Generally, FrameLayout should be used to hold a single child view, because it can be difficult to organize child views in a way that's scalable to differe 阅读全文
posted @ 2013-06-25 10:04 如果天空不死 阅读(23053) 评论(1) 推荐(3) 编辑
 
摘要: Android 布局之TableLayout1 TableLayout简介TableLayout是表格布局。TableLayout 可设置的属性包括全局属性及单元格属性。1.1 全局属性有以下3个参数:android:stretchColumns 设置可伸展的列。该列可以向行方向伸展,最多可占据一整行。android:shrinkColumns 设置可收缩的列。当该列子控件的内容太多,已经挤满所在行,那么该子控件的内容将往列方向显示。android:collapseColumns 设置要隐藏的列。示例:android:stretchColumns="0" ---- 第0列可 阅读全文
posted @ 2013-06-25 10:03 如果天空不死 阅读(7698) 评论(0) 推荐(0) 编辑
 
摘要: Android 布局之RelativeLayout1 RelativeLayout简介RelativeLayout是相对布局。RelativeLayout布局属性1.1 与parent相对的属性android:layout_alignParentTop表示widget的顶部和Container的顶部对齐。android:layout_alignParentBottom表示widget的底部和Container的底部对齐。android:layout_alignParentStart表示widget的左边和Container的起始边缘对齐。android:layout_alignParentEn 阅读全文
posted @ 2013-06-25 10:02 如果天空不死 阅读(12726) 评论(0) 推荐(1) 编辑
 
摘要: Android 布局之LinearLayout1 LinearLayout简介LinearLayout是线程布局。它包括2个方向(android:orientation):“水平”(horizontal)和“竖值”(vertical)。2 LinearLayout示例创建一个activity,包含2组LinearLayout:一组LinearLayout中包含3个文本,文本是水平排列;另一组LinearLayout中包含3个文本,文本是竖值排列。layout文件 点击下... 阅读全文
posted @ 2013-06-25 10:00 如果天空不死 阅读(940) 评论(0) 推荐(0) 编辑
 

2013年6月19日

摘要: 版本号说明作者日期1.0vim基础知识Sky Wang2013/06/19概要vim和emacs,一个是编辑器之神,一个是神一样的编辑器。他们被称是UNIX系统下的倚天和屠龙,“二者得一,可得天下!”几年前,自从笔者学会了VIM,就再也不想回到以前windows系统下的notepad、word、ue等编辑器了;甚至编程的时候,都不习惯使用其它的IDE了,如visual studio、visual c++ 6.0、source insight、eclipse等等。原因很简单,VIM高效很多!它非常适合程序员使用,学会VIM之后,能让你在编程时,双手一直游离在键盘之上,而不需要移开去操作鼠标。接下 阅读全文
posted @ 2013-06-19 14:53 如果天空不死 阅读(4105) 评论(5) 推荐(2) 编辑
 

2013年6月18日

摘要: Android按键添加和处理的方案 版本号说明作者日期1.0Android按键添加和处理的方案Sky Wang2013/06/18需求:Android机器上有个Wifi物理按键,现在需求通过点击“wifi物理按键”能够快速的开启/关闭wifi。 实现方案经过思考之后,拟出下面几种方案:方案一,在linux kernel的驱动中捕获“wifi物理按键”。在kernel的按键驱动中截获“wifi”按键,并对其进行处理:若是“wifi”是开启的,则关闭wifi;否则,打开wifi。方案二,在Android中添加一个服务,监听wifi按键消息。若监听到“wifi”按键,则读取wifi的状态:若是“wi 阅读全文
posted @ 2013-06-18 18:40 如果天空不死 阅读(5554) 评论(1) 推荐(0) 编辑
 
摘要: Android 开机画面和wallpaper总结1 kernel的开机画面修改1、图片需求:图片格式:png图片大小:1024x600(具体示lcd分辨率而定)。2、转换图片png图片。假设logo.png已经在目录"kernel/drivers/video/logo/logo.png"下,在kernel中依次执行一下步骤:# cd kernel/drivers/video/logo# pngtopnm logo.png > logo_linux.pnm# pnmquant 224 logo_linux.pnm > logo_linux_clut224.pnm# 阅读全文
posted @ 2013-06-18 10:04 如果天空不死 阅读(5730) 评论(0) 推荐(0) 编辑
 
摘要: AndroidManifest详细介绍本文主要对AndroidManifest.xml文件中各个标签进行说明。索引如下:概要PART--01 manifest标签PART--02 安全机制和permissionPART--02.01 permission标签PART--02.02 permission-group标签PART--02.03 permission-tree标签PART--02.04 uses-permission标签PART--03 instrumention标签PART--04 uses-sdk标签PART--05 uses-configuration标签PART--06 us 阅读全文
posted @ 2013-06-18 09:51 如果天空不死 阅读(5375) 评论(0) 推荐(0) 编辑
 

2013年6月15日

摘要: Android控件之TimePicker和DatePicker1 Picker简介DatePicker和TimePicker分别提供日期和时间的选择试图;通过它们得到的日期和时间是格式化的。2 Picker示例写一个activity,包含一个“日期”按钮和一个“时间”按钮。点击“日期”按钮,进入“日期”选择界面。点击“时间”按钮,进入“时间”选择界面。应用层代码package com.skywang.picker;import android.os.Bundle;import android.app.Activity;import android.view.View;import androi 阅读全文
posted @ 2013-06-15 16:06 如果天空不死 阅读(2599) 评论(0) 推荐(0) 编辑
 
摘要: Android控件之ProgressBar1 ProgressBar简介ProgressBar是进度条,常用于显示程序加载/安装进度等。2 ProgressBar示例创建一个activity,包含1个ProgressBar。在Activity中开启一个线程,线程不断的增加ProgressBar的进度;当进度增加满的时候,隐藏ProgressBar。应用层代码package com.skywang.control;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android. 阅读全文
posted @ 2013-06-15 16:05 如果天空不死 阅读(1759) 评论(0) 推荐(0) 编辑
 
摘要: Android控件之SeekBar1 SeekBar简介SeekBar是进度条。我们使用进度条时,可以使用系统默认的进度条;也可以自定义进度条的图片和滑块图片等。2 SeekBar示例创建一个activity,包含2个SeekBar。第1个SeekBar是系统默认的SeekBar。第2个SeekBar是自定义SeekBar,使用自定义的背景图和滑块图片。应用层代码package com.skywang.control;import android.os.Bundle;import android.app.Activity;import android.util.Log;import andro 阅读全文
posted @ 2013-06-15 15:48 如果天空不死 阅读(50994) 评论(1) 推荐(2) 编辑
 
摘要: Android控件之Spinner1 Spinner简介Spinner是下拉列表。http://developer.android.com/reference/android/widget/Spinner.htmlhttp://developer.android.com/guide/topics/ui/controls/spinner.html2 Spinner示例创建一个activity,包含2个Spinner。第一个spinner,显示星球选项。第二个spinner,显示颜色选项。应用层代码package com.skywang.control;import android.os.Bund 阅读全文
posted @ 2013-06-15 15:48 如果天空不死 阅读(1266) 评论(0) 推荐(0) 编辑
 
摘要: Android控件之ListView点击下载:源代码1 listview介绍list view(列表试图)是一个view group(视图集合)。包括一个adapter(适配器),用于从数组或数据库中读取数据,并将这些数据显示在视图中。参考链接:http://developer.android.com/reference/android/widget/ListView.htmlhttp://developer.android.com/guide/topics/ui/layout/listview.htmllistview包括3个元素:(01) ListView : 用来展示列表的View。(0 阅读全文
posted @ 2013-06-15 15:47 如果天空不死 阅读(1275) 评论(0) 推荐(1) 编辑
 
摘要: Android控件之ZoomButton1 ZoomButton简介ZoomButton,称为放大按钮。实际上它继承于ImageButton,并在ImageButton基础上增加了“按下ZoomButton时,会不断上报点击事件”。至于上报的时间间隔,可以通过setZoomSpeed()去设置。2 ZoomButton示例对比ZoomButton和ImageButton。写一个activity,包含一个ZoomButton和一个ImageButton。点击ZoomButton和ImageButton时,分别会放大不同的文本。测试时,请分别按住它们不放,查看效果。应用层代码package com 阅读全文
posted @ 2013-06-15 15:46 如果天空不死 阅读(3728) 评论(0) 推荐(0) 编辑
 
摘要: Android控件之ZoomControls1 ZoomControls简介ZoomButton是一个放大缩小按钮。点击它的放大按钮,它能不断的上报放大事件;点击它的缩小按钮,它能不断的上报缩小事件。上报的时间间隔可以控制,而且ZoomButton可以隐藏。2 ZoomControls示例写一个activity,包含一个ZoomControls。点击ZoomControls,能够缩放文字。应用层代码package com.skywang.control;import android.os.Bundle;import android.app.Activity;import android.vie 阅读全文
posted @ 2013-06-15 15:46 如果天空不死 阅读(648) 评论(0) 推荐(0) 编辑
 
摘要: Android控件之Switch1 Switch简介Switch用于开关按钮。Switch和ToggleButton稍有区别:ToggleButton是按下弹起的开关,而Switch是左右滑动的开关。2 Switch示例创建一个activity,包含1个Switch。应用层代码package com.skywang.control;import android.os.Bundle;import android.app.Activity;import android.view.View;import android.widget.CompoundButton;import android.wid 阅读全文
posted @ 2013-06-15 15:45 如果天空不死 阅读(16928) 评论(0) 推荐(0) 编辑
 
摘要: Android控件之RadioButtonRadioButton示例创建一个activity,包含3个RadioButton:默认选中第一个;并且点击每个button都会给出相应的提示语。应用层代码package com.skywang.control;import android.os.Bundle;import android.app.Activity;import android.widget.RadioButton;import android.widget.Toast;import android.view.View;import android.view.View.OnClickL 阅读全文
posted @ 2013-06-15 15:44 如果天空不死 阅读(1145) 评论(0) 推荐(0) 编辑
 
摘要: Android控件之ImageButton1 ImageButton介绍ImageButton是图片按钮,用户能自定义按钮的图片。ImageButton的drawable state值说明:(01) android:drawable 默认图片,等于一个drawable资源(02) android:state_pressed 按下状态的图片(03) android:state_focused 获得焦点状态的图片,比如用户选择了一ImageButton(04) android:state_hovered 光标悬停状态的图片,通常与focused state相同,它是4.0的新特性(05) ... 阅读全文
posted @ 2013-06-15 15:38 如果天空不死 阅读(4873) 评论(0) 推荐(0) 编辑
 
摘要: Android控件之ToggleButton1 ToggleButton简介ToggleButton用于开关按钮。2 ToggleButton示例创建一个activity,包含2个ToggleButton。第一个ToggleButton,采用系统默认的图片;选中时,显示“Sel”,未选中时,显示“Un-sel”。第二个ToggleButton,采用自定义图片。总共有4种状态:选中状态,选中按下状态,未选中状态,未选中按下状态。应用层代码layout文件manifest文件点击下载:源代码运行效果:如图 阅读全文
posted @ 2013-06-15 13:12 如果天空不死 阅读(511) 评论(0) 推荐(0) 编辑
 
摘要: Android控件之Toast1 Toast说明Toast的作用是给出一个简短的说明信息。例如,当你要显示一段提示语给用户时(比如“设置已保存”),你可以使用Toast。Toast永远都不会获取节焦点。2 Toast示例创建一个activity,包含3个按钮。点击按钮1,创建Toast(即toast01)。点击按钮2,若toast01仍然显示,则关闭toast01;否则什么都不做。点击按钮3,创建Toast(即toast02)。按钮1和按钮3的Toast的创建方法稍微有点差异。应用层代码package com.skywang.control;import android.os.Bundle;i 阅读全文
posted @ 2013-06-15 13:12 如果天空不死 阅读(1067) 评论(0) 推荐(0) 编辑
 
摘要: Android控件之CheckBox1 CheckBox实现方式在介绍CheckBox的实现方式之前,先看看CheckBox类的父类。java.lang.Object ↳ android.view.View ↳ android.widget.TextView ↳ android.widget.Button ↳ android.widget.CompoundButton ↳ android.widget.CheckBox从中我们可以看出CheckBox继承与Button。所以,Button的实现方式都适用于CheckBox。另外,CheckBox的直接父类是CompoundB... 阅读全文
posted @ 2013-06-15 13:11 如果天空不死 阅读(2728) 评论(0) 推荐(0) 编辑
 
摘要: Android控件之ImageView1 ImageView介绍ImageView是图片显示控件,专门用来显示图片的。ImageView的scaleType属性值说明:(01) ImageView.ScaleType.CENTER|android:scaleType="center" 以原图的几何中心点和ImagView的几何中心点为基准,按图片的原来size居中显示,不缩放,当图片长/宽超过View的长/宽,则截取图片的居中部分显示ImageView的size.当图片小于View 的长宽时,只显示图片的size,不剪裁。(02) ImageView.ScaleType.C 阅读全文
posted @ 2013-06-15 13:07 如果天空不死 阅读(874) 评论(0) 推荐(0) 编辑
 
摘要: Android控件之Button1 Button介绍Button是Android提供的按钮控件。它继承于TextView,详细继承关系如下:java.lang.Object ↳ android.view.View ↳ android.widget.TextView ↳ android.widget.Button它继承了View和TextView的所有属性。所以,使用时,可以参考View的属性和TextView的属性对Button进行设计。2 Button常用的三种实现方式方式一: 匿名实现View.OnClickListener接口匿名实现,即通过匿名类的方式去实现类View... 阅读全文
posted @ 2013-06-15 13:05 如果天空不死 阅读(2342) 评论(0) 推荐(1) 编辑