上一页 1 ··· 5 6 7 8 9 10 11 12 13 下一页
摘要: scp 对拷文件夹 和 文件夹下的所有文件 对拷文件并重命名对拷文件夹 (包括文件夹本身)scp -r /home/wwwroot/www/charts/util root@192.168.1.65:/home/wwwroot/limesurvey_back/scp对拷文件夹下所有文件 (不包括文件夹本身)scp /home/wwwroot/www/charts/util/* root@192.168.1.65:/home/wwwroot/limesurvey_back/scp对拷文件并重命名scp /home/wwwroot/www/charts/util/a.txt root@192.1. 阅读全文
posted @ 2012-08-02 14:30 wanqi 阅读(158080) 评论(3) 推荐(3) 编辑
摘要: 即可实时将手机屏幕传回电脑端,还可录屏,也可以浏览操作手机androidscreencast.jnlp可以在http://code.google.com/p/androidscreencast/网址下载在windows、linux和mac下都能使用首先要确保机器上安装了java sdk;然后,将android手机通过usb连接到计算机上运行adb devices命令,并且看到设备,这一步很重要,会启动androidadb相关的服务,否则无法在工具运行后使用;双击该文件,或者执行命令:javaws jnlp_file_path即可 阅读全文
posted @ 2012-08-02 09:01 wanqi 阅读(440) 评论(0) 推荐(0) 编辑
摘要: win+r打开运行,MSConfig,进入boot,设置开机启动项 阅读全文
posted @ 2012-08-02 09:01 wanqi 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 即可实时将手机屏幕传回电脑端,还可录屏,也可以浏览操作手机androidscreencast.jnlp可以在http://code.google.com/p/androidscreencast/网址下载在windows、linux和mac下都能使用首先要确保机器上安装了java sdk;然后,将android手机通过usb连接到计算机上运行adb devices命令,并且看到设备,这一步很重要,会启动androidadb相关的服务,否则无法在工具运行后使用;双击该文件,或者执行命令:javaws jnlp_file_path即可Desktop app to control an android 阅读全文
posted @ 2012-07-27 14:07 wanqi 阅读(3996) 评论(0) 推荐(0) 编辑
摘要: ANDROID音频系统散记之四:4.0音频系统HAL初探分类:Android2011-11-16 20:485757人阅读评论(26)收藏举报昨天(2011-11-15)发布了Android4.0的源码,今天download下来,开始挺进4.0时代。简单看了一下,发现音频系统方面与2.3的有较多地方不同,下面逐一描述。一、代码模块位置1、AudioFlinger[plain]view plaincopyframeworks/base/services/audioflinger/+--Android.mk+--AudioBufferProvider.h+--AudioFlinger.cpp+-- 阅读全文
posted @ 2012-07-27 11:17 wanqi 阅读(7176) 评论(0) 推荐(0) 编辑
摘要: 一般Java虚拟机要求支持verbosegc选项,输出详细的垃圾收集调试信息。dalvik虚拟机很安静的接受verbosegc选项,然后什么都不做。dalvik虚拟机使用自己的一套LOG机制来输出调试信息。如果在Linux下运行adb logcat命令,可以看到如下的输出:D/dalvikvm( 745): GC_CONCURRENTfreed 199K, 53% free 3023K/6343K,external 0K/0K, paused 2ms+2ms其中D/dalvikvm表示由dalvikvm输出的调试信息,括号后的数字代表dalvikvm所在进程的pid。GC_CONCURRENT 阅读全文
posted @ 2012-07-26 14:42 wanqi 阅读(21887) 评论(3) 推荐(3) 编辑
摘要: 1. 下载安装 msysgit http://code.google.com/p/msysgit/downloads/list 下载后, 安装, 一路next下去, 用默认配置 2. 安装完成后, 双击GitBash图标 mkdir androd_4.0_sdk_src_dir cd androd_4.0_sdk_src_dir 3. 克隆sdk 远程仓库 git clone http://android.googlesource.com/platform/frameworks/base.git 4. 找到android sdk里的android.jar所在目录, 在此目录下新建sou... 阅读全文
posted @ 2012-07-24 17:48 wanqi 阅读(987) 评论(0) 推荐(0) 编辑
摘要: Android Out Of Memory(OOM) 的详细研究2010-05-20 09:56:51|分类:默认分类|标签:内存溢出androidoomout|字号订阅 基于Android开发多媒体和游戏应用时,可能会挺经常出现Out Of Memory 异常 ,顾名思义这个异常是说你的内存不够用或者耗尽了。 在Android中,一个Process 只能使用16M内存,如果超过了这个限制就会跳出这个异常。这样就要求我们要时刻想着释放资源。Java的回收工作是交给GC的,如何让GC能及时的回收已经不是用的对象,这个里面有很多技巧,大家可以google一下。 因为总内存的使用超过16... 阅读全文
posted @ 2012-07-18 15:18 wanqi 阅读(12348) 评论(1) 推荐(1) 编辑
摘要: git log --author=wanqi packages/apps/Settings/ 阅读全文
posted @ 2012-07-14 15:09 wanqi 阅读(712) 评论(0) 推荐(0) 编辑
摘要: public static boolean checkTCardisFull() { String statue = Environment.getExternalStorageState(); if(Environment.MEDIA_MOUNTED.equals(statue)) { File TCardDir = Environment.getExternalStorageDirectory(); StatFs sf = new StatFs(TCardDir.getPath()); ... 阅读全文
posted @ 2012-07-14 11:44 wanqi 阅读(198) 评论(0) 推荐(0) 编辑
摘要: java.lang.UnsupportedOperationException分类:android2012-06-08 18:46112人阅读评论(2)收藏举报[java]view plaincopyjava.lang.UnsupportedOperationExceptionatandroid.view.GLES20Canvas.clipPath(GLES20Canvas.java:287)atbr.com.iba.view.PageCurlView.drawCurl(PageCurlView.java:284)atbr.com.iba.view.PageCurlView.onDraw(Pa 阅读全文
posted @ 2012-07-12 10:35 wanqi 阅读(355) 评论(0) 推荐(0) 编辑
摘要: from :http://www.2cto.com/kf/201202/119310.html一个Bug前几日出现这样一个Bug是一个RuntimeException,详细信息是这样子的:java.lang.IllegalArgumentException: View not attached to window manager at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:356) at android.view.WindowManagerImpl.removeView(WindowManage 阅读全文
posted @ 2012-07-04 16:48 wanqi 阅读(1132) 评论(0) 推荐(0) 编辑
摘要: from :http://blog.csdn.net/android_tutor/article/details/7425021最近刚换了电脑,开始搭建Android开发环境的时候,下载SDK总是会出现如下错误:[java] view plaincopyFailed to fetch URL http://dl-ssl.google.com/android/repository/addons_list-1.xml. 据说dl-ssl.google.com在大陆被强了,伟大的天朝真是不让人活了,解决方法就是修改C:\Windows\System32\drivers\etc\hosts文件。添加. 阅读全文
posted @ 2012-07-03 16:32 wanqi 阅读(233) 评论(0) 推荐(0) 编辑
摘要: from :http://blog.csdn.net/hitlion2008/article/details/7567549Dialog是任何系统都必须有的一个控件,作为辅助窗口,用于显示一些消息,或请求用户采取一引起操作等。在Android中也不例外,基本使用可能参看文档。使用时的注意事项1. BACK键能取消掉对话框(dismiss),但是却不会触发其onOkey和onCancel回调接口,所以如果你的对话框会改某些状态,一定要注意还有第三种方式取消对话框。2. 尽量少用模态对话框(Model dialog),如果Dialog.setCancellable(false),就变成了一个模态对 阅读全文
posted @ 2012-07-03 16:27 wanqi 阅读(1502) 评论(0) 推荐(0) 编辑
摘要: from :http://www.cnblogs.com/weeds/archive/2012/01/17/2324238.htmlAndroid Dialog用法摘要: 创建对话框 一个对话框一般是一个出现在当前Activity之上的一个小窗口. 处于下面的Activity失去焦点, 对话框接受所有的用户交互. 对话框一般用于提示信息和与当前应用程序直接相关的小功能.Android API 支持下列类型 ...创建对话框 一个对话框一般是一个出现在当前Activity之上的一个小窗口. 处于下面的Activity失去焦点, 对话框接受所有的用户交互. 对话框一般用于提示信息和与当前应用程序. 阅读全文
posted @ 2012-07-02 14:12 wanqi 阅读(484) 评论(0) 推荐(0) 编辑
摘要: from :http://www.cnblogs.com/linjiqin/archive/2011/03/10/1980170.htmlAndroid之单选按钮对话框main.xml布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layou 阅读全文
posted @ 2012-07-02 11:16 wanqi 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 问题描述:当弹出对话框时,点击对话框外的其他的地方。就会关闭对话框。解决方案:添加AlertDialog.Builder .setCancelable(false);Android-AlertDialog(警告窗口)的一个例子newAlertDialog.Builder(TestActivity.this)//Context.setTitle("标题啊").setIcon(android.R.drawable.ic_dialog_alert)//图标.setMessage("内容").setNegativeButton("取消",ne 阅读全文
posted @ 2012-06-27 10:00 wanqi 阅读(3511) 评论(0) 推荐(0) 编辑
摘要: from :http://www.blogjava.net/Green-nut/articles/346010.htmlubuntu下eclipse配色些问题, 用起来很不爽, 比如:1. javadoc 和 Declaration 等 背景色是黑色, 看起来很是令人纠结。2. 代码不全,就是alt+/ Content Assist 在弹出提示的时候,选中的那一项前景色是灰色,弄得看不到选中项的内容。解决方法:原因不在eclipse上,是ubuntu的主题配色问题。ubuntu左上角的菜单,系统->首选项->外观(或者,桌面空白处右键菜单选择更改桌面背景), 弹出程序 外观首选项。 阅读全文
posted @ 2012-06-20 17:35 wanqi 阅读(663) 评论(0) 推荐(0) 编辑
摘要: MainActivity里面的代码:public void onConfigurationChanged(Configuration newConfig) { try { super.onConfigurationChanged(newConfig); if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { Log.v("Himi", "onConfigu... 阅读全文
posted @ 2012-06-18 17:33 wanqi 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 【重现方法】1. 在有些activity中横屏时,应用会异常退出。【原因】在这些activity的onCreate方法中使用了广播机制,如:registerReceiver(m_oSDReceiver, getSdcardIntentFilter());在横屏时会多次调用onCreate, 即多次注册了广播,导致死机。【分析结果】1. 如果你的sdk版本是2.3之前的,要做如下处理如下: 1)在AndroidManifest.xml中,找到对应的activity添加: android:configChanges="orientation|keyboardHidden|locale2) 阅读全文
posted @ 2012-06-14 15:47 wanqi 阅读(1026) 评论(0) 推荐(0) 编辑
摘要: 大家都知道启动速度慢是智能操作系统的一个通病,Android也不例外,启动速度大概在1分钟左右,虽然日本有一个叫quick boot的一秒启动android的产品,但是毕竟是旁门左道。所以从常规来提高android的启动速度成了大家研究的重点,也是难点。下面将初步研究的一下经验跟大家分享一下。首先看一下android系统的启动流程:bootloader 引导程序kernel 内核init init初始化(这个大家都比较熟悉了,不要多说)loads several daemons and services, including zygotesee /init.rc and ini... 阅读全文
posted @ 2012-06-13 14:32 wanqi 阅读(1486) 评论(0) 推荐(0) 编辑
摘要: 导读:首先创建一个Handler对象,可以直接使用Handler无参构造函数创建Handler对象,也可以继承Handler类,重写handleMessage方法来创建Handler对象。 1、首先创建一个Handler对象,可以直接使用Handler无参构造函数创建Handler对象,也可以继承Handler类,重写handleMessage方法来创建Handler对象。 2、在监听器中,调用Handler的post方法,将要执行的线程对象添加到线程队列当中。此时将会把该线程对象添加到handler对象的线程队列中。 3、将要执行的操作写在线程对象的run方法中,一般是一个Runnab... 阅读全文
posted @ 2012-06-13 14:18 wanqi 阅读(10587) 评论(1) 推荐(1) 编辑
摘要: Android Mediaplayer解读http://blog.csdn.net/menguio/article/details/63239651 Gallery应用端表现 Gallery仅仅提供一个呈现框架,Gallery用来管理所有的视频和图片文件,具有播放、查看、删除等功能。自动搜索本地sdcard存有的picture和video,并分类将同性质文件picture和video集中在一起,播放时呈现。Gallery内部实现的播放主用是同MediaPlayer,主要包含了Audio和video的播放功能。 Gallery中增加从指定目录选择播放文件的功能:方法:首先遍历sdcard下的目. 阅读全文
posted @ 2012-06-13 11:08 wanqi 阅读(626) 评论(0) 推荐(0) 编辑
摘要: import java.io.File;import java.io.IOException;import android.media.MediaRecorder;import android.os.Environment;public class AudioRecorder{finalMediaRecorderrecorder = new MediaRecorder();final String path;public AudioRecorder(String path){this.path = sanitizePath(path);}private String sanitizePath( 阅读全文
posted @ 2012-06-13 10:15 wanqi 阅读(1343) 评论(0) 推荐(0) 编辑
摘要: from:http://blog.csdn.net/zjfstudio/article/details/4234414在Android中,提供了三种数据存储的途径,和两种存储方式。三种途径:l系统配置(Shared Preferences):这类应用主要是系统的配置信息的保存,比如我给程序界面设置了颜色,我想在下一次启动时还是能够保留上次设置的颜色。由于Android系统的界面是采用Activity栈的形式,在系统资源不足时,会收回一些界面,那么,我想有些操作也是需要在不活动时保留下来的,等再次激活时能够显示出来。l文件(Files)Android是一个操作系统,自然而然对存储系统会有一个管理 阅读全文
posted @ 2012-06-07 10:00 wanqi 阅读(287) 评论(0) 推荐(0) 编辑
摘要: ubuntu下如何解SSH问题来源:王正一的日志在实验室呆了一段时间了,发现最有用的也就是FQ浏览最新的信息来解决一些实际的问题,以前XP用的putty来设置FQ,最近一直在用ubuntu10.04lts版本,稍微研究了一下如何在ubuntuFQ,写一篇小白FQ文章普及一下.1、连接到SSH服务器(ps:上网搜索一下还是有一些的,或者花点钱买个账户)ssh -qTfnN -D 7070 用户名@服务器地址2、由于SSH链接是Sock5的,很多浏览器,如Opera,Chrome都不支持,所以需要用Privoxy将Socks5代理转换为Http的代理下载Privoxysudo apt-get in 阅读全文
posted @ 2012-05-29 11:01 wanqi 阅读(908) 评论(0) 推荐(0) 编辑
摘要: 打印指定过滤信息adb logcat -s "System.out"wanqi@wanqi-System-Product-Name:~/huiye_QRD_e8/7x27a-11302301$ adb shell# logcat -helpunknown option -- hUnrecognized OptionUsage: logcat [options] [filterspecs]options include: -s Set default filter to silent. Like specifying filtersp... 阅读全文
posted @ 2012-05-25 17:25 wanqi 阅读(861) 评论(0) 推荐(0) 编辑
摘要: from :http://blog.csdn.net/maxleng/article/details/5576509Android电话系统之概述篇 首先抛开Android的一切概念来研究一下电话系统的最基本的描述。我们的手机首先用来打电话的,随后是需要一个电话本,随后是PIM,随后是网络应用,随后是云计算,随后是想我们的手机无所不能,替代PC。但是作为一个电话的基本功能如下:0)拨叫电话,接听电话,挂断电话,发送短信,网络连接,PIM管理1)由于电话运营商为我们提供了呼叫等待,电话会议等补充业务,所以我们的手机需要管理多路通话,如何管理?2)来电时,我们要播出来电铃声,接通时我们需要切换语音通 阅读全文
posted @ 2012-05-22 10:42 wanqi 阅读(586) 评论(0) 推荐(0) 编辑
摘要: Android用户事件输入路径 1 输入路径的一般原理 按键,鼠标消息从收集到最终将发送到焦点窗口,要经历怎样的路径,是Android GWES设计方案中需要详细考虑的问题。按键,鼠标等用户消息消息的处理可分为不同的情况进行判定:(1)用户输入根据系统状况是否应该派送。如在ScreenOff的情况下,在按键属于特殊按键的情况下等(2)是否有拦截Listener(3)对按键事件来讲,是否存在输入法(4)是否是焦点终点(5)是否为焦点切换按相关键这些情况都是设计输入路径需要考虑的基本条件。1.1一般的输入路径设计该输入路径实际上是指的按键消息(MSG_KEYDOWN,MSG_KEYUP,... 阅读全文
posted @ 2012-05-22 10:40 wanqi 阅读(264) 评论(0) 推荐(0) 编辑
摘要: Android用户事件输入路径 1 输入路径的一般原理 按键,鼠标消息从收集到最终将发送到焦点窗口,要经历怎样的路径,是Android GWES设计方案中需要详细考虑的问题。按键,鼠标等用户消息消息的处理可分为不同的情况进行判定:(1)用户输入根据系统状况是否应该派送。如在ScreenOff的情况下,在按键属于特殊按键的情况下等(2)是否有拦截Listener(3)对按键事件来讲,是否存在输入法(4)是否是焦点终点(5)是否为焦点切换按相关键这些情况都是设计输入路径需要考虑的基本条件。1.1一般的输入路径设计该输入路径实际上是指的按键消息(MSG_KEYDOWN,MSG_KEYUP,... 阅读全文
posted @ 2012-05-22 10:40 wanqi 阅读(657) 评论(0) 推荐(0) 编辑
摘要: from :http://blog.csdn.net/maxleng/article/details/5508488Zygote Service在本章我们会接触到这两个单词:Zygote[生物]受精卵,接合子,接合体Spawn:产卵通过这两个单词,我们就可以大体知道Zygote是干什么的了,就是叫老母鸡下蛋。通过“Zygote”产出不同的子“Zygote”。从大的架构上讲,Zygote是一个简单的典型C/S结构。其他进程作为一个客服端向Zygote发出”孵化”请求,Zygote接收到命令就“孵化”出一个Activity进程来。Zygote系统代码组成及其调用结构:Zygote.java提供访问 阅读全文
posted @ 2012-05-22 10:33 wanqi 阅读(234) 评论(0) 推荐(0) 编辑
摘要: from :http://blog.csdn.net/maxleng/article/details/5508372Android 启动过程详解Android从Linux系统启动有4个步骤;(1)init进程启动(2)Native服务启动(3)System Server,Android服务启动(4)Home启动总体启动框架图如:第一步:initial进程(system/core/init) init进程,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。init始终是第一 阅读全文
posted @ 2012-05-22 10:32 wanqi 阅读(296) 评论(0) 推荐(0) 编辑
摘要: from : http://blog.csdn.net/maxleng/article/details/5504485Service深入分析上一章我们分析了AndroidIPC架构,知道了Android服务构建的一些基本理念和原理,本章我们将深入分析Android的服务。Android体系架构中三种意义上服务:Native服务Android服务Init空间的服务,主要是属性设置,这个IPC是利用Socket来完成的,这个我将在另外一章来讨论。Navite服务,实际上就是指完全在C++空间完成的服务,主要是指系统一开始初始化,通过Init.rc脚本起来的服务,例如ServiceMangerser 阅读全文
posted @ 2012-05-22 10:31 wanqi 阅读(341) 评论(0) 推荐(0) 编辑
摘要: from :http://blog.csdn.net/maxleng/article/details/5490770IPC框架分析 Binder,Service,Service manager 我首先从宏观的角度观察Binder,Service,ServiceManager,并阐述各自的概念。从Linux的概念空间中,Android的设计Activity托管在不同的的进程,Service也都是托管在不同的进程,不同进程间的Activity,Service之间要交换数据属于IPC。Binder就是为了Activity通讯而设计的一个轻量级的IPC框架。在代码分析中,我发现Android中只是把B 阅读全文
posted @ 2012-05-22 10:29 wanqi 阅读(352) 评论(0) 推荐(0) 编辑
摘要: from :http://blog.csdn.net/maxleng/article/details/5490713基本空间划分Google给了我们一张系统架构图,在这张图上我们可以看到Android的大体框架组成。从上图可以看到:AndroidApplications,ApplicationFramework,DalvikVirtualMachine,Linux。如果将Android泛化,我们可以将系统划分成两部分:但是为了研究的方便我们先看最为本质的三层,上面是Android,中间叫Dalvik虚拟机,下面叫Linux。 虽然上两层都包含在Android中,但是为了理解的方便或者从实用主义 阅读全文
posted @ 2012-05-22 10:25 wanqi 阅读(236) 评论(0) 推荐(0) 编辑
摘要: from :http://blog.csdn.net/maxleng/article/details/5476636手机的软件形态 上节我给出了手机的硬件树,本节将给出手机软件形态树。主要突出手机软件涵盖的内容。通过该思维导图,我们可以看到手机软件所涉及到的方方面面,Android所涉及到的内容也不会超过下面所示太多,这个也是Andoid系统外特性空间所要展示的,这个也是Android设计者需要考虑管理的大部分内容,通过下面的整理,我们可以让我们的思维更加贴近Android设计意图,从而更深入的了解Android中各种组成的由来,这个就是前面讲到的分析思想之一从退到源头出发,从思考最终极的问. 阅读全文
posted @ 2012-05-22 10:24 wanqi 阅读(209) 评论(0) 推荐(0) 编辑
摘要: from :http://blog.csdn.net/maxleng/article/details/5476544手机硬件形态本节可能与Android无关,但是Android系统现在这个阶段更多的是移动终端形态的开发平台,本节给出了Android背后的工作-Android管理的硬件是什么,Android的本质就是要管理好这些硬件部分,为用户提供一个体验更好,速度更快的智能移动终端。对手机硬件形态的认识是要让我们对手机硬件组成有个感性的认识,让程序员知道系统中的代码是管理那一部分的,即我们堆砖头的目的是什么,让思维有一个伸展。为了对手机这类嵌入式系统有一个较为深入的了解,我制作了如下的手机硬件 阅读全文
posted @ 2012-05-22 10:23 wanqi 阅读(234) 评论(0) 推荐(0) 编辑
摘要: from:http://blog.csdn.net/maxleng/article/details/5472988方法论探讨之概念空间篇 我们潜意识就不想用计算机的方式来思考问题,我们有自己的思维描述方式,越是接近我们思维描述方式,我们越容易接受和使用。各种计算机语言,建模工具,不外乎就是建立一个更接近人的思维方式的概念空间,再使用工具从该概念空间向另外一个概念空间映射,我称之为人性思维空间向01序列描述空间的一个映射。实现方面来看,系统就是一个翻译器,将机器性更加人性化的一种机制。大学计算机经典课“计算机体系结构”,其他的可以忘记,但是下面这个图不能忘记:这个就是概念空间最本质的原型体现:作 阅读全文
posted @ 2012-05-22 10:22 wanqi 阅读(214) 评论(0) 推荐(0) 编辑
摘要: from:http://blog.csdn.net/column/details/androidcore.html?page=2分析方法论探讨之设计意图 为什么要研究Android,是因为它够庞大,它够复杂,他激起了我作为一个程序员的内心的渴望,渴望理解这种复杂性。我研究的对象是作为手机开发平台的Android软件系统部分,而不是Dalvik虚拟机本身。作为一个从其他平台装接过来的程序员,要从事Andoid平台系统开发,我的关于手机平台上积累的知识已经不能满足需要了,Android为我们带来了大量的新名词,Activity,Manifest,INTENT,Service,Binder,Dalv 阅读全文
posted @ 2012-05-22 10:19 wanqi 阅读(183) 评论(0) 推荐(0) 编辑
摘要: fromhttp://sdylag.iteye.com/blog/932559JAVA 中int类型转String类型的通常方法,有三种:1、String.valueOf(int i)2、Integer.toString(inti)3、i+""; //i 为 int类型三种方法效率排序为:Integer.toString(inti) > String.valueOf(int i) > i+"";代码测试:public static void main(String[] args) { int[] intArr = new int[100000 阅读全文
posted @ 2012-05-21 20:44 wanqi 阅读(17708) 评论(0) 推荐(2) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 下一页