自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

GitLqr的博客

小程序《超级便便便》 微信公众号《FSA全栈行动》

  • 博客(426)
  • 资源 (53)
  • 收藏
  • 关注

原创 Servlet-request之与请求头相关的方法

/** * @author CSDN_LQR * @TODO request之与请求头相关的方法 */public class ServletDemo2 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws

2016-10-15 14:56:15 1650

原创 Servlet-request之与请求行相关方法

访问URL如下: http://localhost:8080/httpServletRequest/demo1?username=CSDN_LQR/** * @author CSDN_LQR * @TODO Request的几个常用方法 * * * request.getMethod():得到请求方法(GET或POST) * * request.getR

2016-10-15 14:09:04 447

原创 Servlet-重定向

1、第一个Servlet/** * @author CSDN_LQR * @TODO 重定向 */public class ServletDemo6 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws Se

2016-10-15 13:21:09 556

原创 Servlet-页面刷新

/** * @author CSDN_LQR * @TODO 页面刷新 */public class ServletDemo5 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletExcept

2016-10-15 11:10:20 8500

原创 Servlet-浏览器不使用缓存

/** * @author CSDN_LQR * @TODO 设置浏览器不缓存 */public class ServletDemo extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletExc

2016-10-15 11:01:28 1136

原创 Servelt-使用ValidateCode.jar实现验证码功能

1、将ValidateCode.jar放到WebRoot/lib目录下。 2、Servlet编写:public class ServletDemo4 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws Servl

2016-10-15 10:47:44 6454 2

原创 Servlet-验证码功能

1、Servlet编写/** * @author CSDN_LQR * @TODO 实现验证码功能 */public class ServletDemo4 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws

2016-10-15 10:32:58 517

原创 Servlet-实现文件下载功能

注意:这里我把一张名为“招IOS程序员”的jpg图片放到了工程的src目录下,也就是工程运行后的WEB-INF/classes目录下。/** * @author CSDN_LQR * @TODO 使用Servlet实现图片文件下载 */public class ServletDemo3 extends HttpServlet { public void doGet(HttpServle

2016-10-15 09:42:51 704

原创 Servlet-中文乱码问题

1、使用reponse的getWriter()得到的对象向网页输出内容/** * @author CSDN_LQR * @TODO 使用reponse的getWriter()得到的对象向网页输出内容 */public class ServletDemo1 extends HttpServlet { public void doGet(HttpServletRequest request

2016-10-15 09:38:25 418

转载 关于Class.forName(“com.mysql.jdbc.Driver”)

传统的使用jdbc来访问数据库的流程为:Class.forName(“com.mysql.jdbc.Driver”);String url = “jdbc:mysql://localhost:3306/test?user=root&password=123456″;Connection con = DriverManager.getConnection(url);Statement state

2016-10-11 14:57:17 559

转载 计算Android App占用的各种空间大小

一个小需求:计算Android App所占用d的手机内存(RAM)大小、App所产生的数据(Data)大小、App本身所占用的磁盘空间(ROM)大小。当然,这个就必须用到PackageManager了。1、查看Android中PackageManager源码,找到getPackageSizeInfo方法:/** * Retrieve the size information for a packa

2016-10-11 09:54:40 3736

转载 Android Studio 导入aidl 问题

使用了一段时间Android Studio发现慢慢喜欢上用它写代码了,界面比ADT好看太多了,而且我比较懒,AS的拥有和VS2013差不多的提醒功能真的不错,哈哈这个事题外话了。最近遇到个问题: 改用Android Studio后aidl文件不能按照传统ADT的方式在src目录下建包引入文件,这样操作在类里无法导包找不到class文件。多处询问未果,最后才发现AS初次导入Eclipse项目时的已经

2016-10-11 09:52:24 2311

转载 Android解惑 - 为什么要用Fragment.setArguments(Bundle bundle)来传递参数

Fragment在Android3.0开始提供,并且在兼容包中也提供了Fragment特性的支持。Fragment的推出让我们编写和管理用户界面更快捷更方便了。但当我们实例化自定义Fragment时,为什么官方推荐Fragment.setArguments(Bundle bundle)这种方式来传递参数,而不推荐通过构造方法直接来传递参数呢?为了弄清这个问题,我们可以做一个测试,分别测试下这两种方式

2016-10-01 15:10:01 405

转载 根据Uri获取图片绝对路径,解决Android4.4以上版本Uri转换

/** * 根据Uri获取图片绝对路径,解决Android4.4以上版本Uri转换 * @param activity * @param imageUri * @author yaoxing * @date 2014-10-12 */ @TargetApi(19) public static String getImageA

2016-09-18 16:00:10 1846

转载 android根据Uri得到图片文件的真实路径

/** * Try to return the absolute file path from the given Uri * * @param context * @param uri * @return the file path or null */public static String getRealFilePath( final Context context, final

2016-09-18 15:59:07 2886

转载 防止ViewPager中的Fragment被销毁的方法,更加流畅

在使用ViewPager与Fragment的时候,ViewPager会自动缓存1页内的数据,如下图: 当我们当前处在页面2的时候,页面1和页面3的View实际上已经创建好了,所以在我们拖动的时候是可以看见他们的界面的。但是当我们的页面处在1的时候,页面3实际上就已经销毁了。直到跳转到页面2的时候,页面3才会创建View。这时,如果页面3中有需要耗时的事件,比如网络访问。那么,在我们进行 1–>

2016-09-11 13:25:09 424

原创 viewPager+Fragment的多重嵌套问题

大多数场景下,会单单使用viewPager+Fragment来完成项目需求,但也有一些特殊情况需要用到viewPager的多重嵌套。一、例如: 我的想法是:①用viewPager+Fragment来完成"外卖、食堂、云购订单"这整个大的框架,到这里一切顺利。②接着,用viewPager+Fragment来实现“外卖订单”里的“等配送、待付款、已完成、已取消”这整个小的框架,但这里在就出问题了。

2016-09-04 08:24:53 1913

原创 android用shape画虚线

1、在drawable中,新建shape_dot_line.xml<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line"> <!-- 显示一条虚线,破折线的宽度为dashWith,破折

2016-09-01 16:04:15 568

转载 ScrollView中嵌套 GridView 导致 ScrollView默认不停留在顶部的解决方案和分析

ScrollView中嵌套 GridView 导致 ScrollView默认不停留在顶部的解决方案和分析发生情况大概是我在ScrollView底部放了个GridView 来实现一个类似9宫格效果的展示.Grid固定为2排,每排3个.固定为6个…所以没有性能问题,不需要重用,所以直接用GridView了..只是为了方便和数据对应处理.然后出现的状况是,当我获取完数据并调用notifyDataSetCh

2016-08-30 17:24:30 389

转载 解决ScrollView下嵌套GridView显示不全的问题

此问题主要是由于GridView都是可滑动的控件,嵌套在ScrollView下时需要重写onMeasure方法。public class MyGridView extends GridView{ public MyGridView(Context context, AttributeSet attrs) { super(context, attrs);

2016-08-30 15:52:02 2544

转载 AndroidStudio性能优化

Android Studio慢、吃内存!启动时后会立即通过Gradle来sync & build工程。 (1)设置Android Studioa) 禁用插件File -> Settings… Plugins 去掉一些没有用的插件。 比如:Git Integration、GitHub、Google Cloud Testing、Google Cloud Tools For Android Stud

2016-08-29 16:53:11 526

原创 AndroidStudio的常见小技巧

1、主题。File->Settings, 搜索Theme, 点开Appearance, 在右边面板的Theme中选择Darcula。2、注释快捷键。File->Settings,搜索keymap,点开Keymap,在右边面板上搜索,找到Other->Fix doc comment,双击,选择Add Keyboard Shortcut,按下你的快捷键。Eclipse中是alt + shift +J,但

2016-08-29 10:46:19 465

原创 TabLayout的使用总结

一、引入依赖在build.gradle中加入compile ‘com.android.support:design:22.2.0’即可。注意:如果使用的targetSDK是23有话,则加入compile 'com.android.support:design:23.2.0',依次类推,否则可能报错。二、布局文件中使用TabLayout<?xml version="1.0" encoding="ut

2016-08-19 14:51:41 1100

转载 android 实现全屏代码

设置全屏包括两个部分: 窗口全屏和Activity全屏。 窗口全屏 是指隐藏系统顶部用来显示时间、电量、信号等信息的标题栏 。 Activity全屏 是指隐藏程序的标题栏。我们可以通过修改AndroidManifest.xml文件来实现。 1.窗口全屏fullscreen.java代码如下:package wzhnsc.test.style;import android.app.Activi

2016-08-19 14:33:12 540

原创 xposed模块代码——得到上下文

try { Class<?> ContextClass = findClass("android.content.ContextWrapper", loadPackageParam.classLoader); findAndHookMethod(ContextClass, "getApplicationContext", new XC_MethodHook() { @

2016-08-18 21:51:24 6398

原创 xposed模块代码——得到所有已经安装的应用程序

findAndHookMethod("android.app.ApplicationPackageManager", loadPackageParam.classLoader, "getInstalledApplications", int.class, new XC_MethodHook() { @Override protected void afterHookedMethod(

2016-08-18 21:46:36 3305

原创 xposed模块开发步骤总结

一、成为xposed模块 要成功xposed模块,被xposed识别,一般需要在清单文件中标识该三个元数据(meta-data)<application android:name=".base.BaseApplication" android:icon="@mipmap/ic_launcher" android:label="@string/app_

2016-08-18 21:34:33 16426 4

翻译 Xpoded模块开发教程

Xpoded模块开发教程当然,你可以去学习如何创建一个Xposed模块。所以你可以阅读这篇教程(官方教程)去学习怎样解决这个问题。这不仅仅讲解如何新建模块、如何编写模块,我们要往更深处思考,为什么按照这些步骤,为什么要新建这个类。如果你是“TL博士”那样的人,那么可以直接阅读"Making the project an Xposed module" 这一章节。如果你想看完整个教程那么你需要

2016-08-18 20:38:52 8687

转载 activity-alias的使用

activity-alias是android里为了重复使用Activity而设计的。当在Activity的onCreate()方法里,执行getIntent().getComponent().getClassName();得到的可能不是这个Activity的名字,有可能是别名的名字,例如:在AndroidMenifest.xml有如下配置:<activity android:name=

2016-08-17 19:31:24 515

原创 linux——gcc学习

一、前言: GNU CC(通常称为GCC)是GNU项目的编译器,它能够编译C、C++语言编写的程序。 gcc是Linux开发的基础,gcc能够支持多种不同的C语言版本,同时提供Linux、Unix、Windows下的编译版本。 目前Windows下C/C++主要的编译器有Borland C++、VC++,但由于gcc是免费的,同时对代码的兼容性做的更加出色,所以在windows

2016-08-13 16:14:34 637

原创 linux——makefile学习

一、前言:除非最简单的项目,任何一个商业项目都会包含多个源代码,而且在编译的时候会有很长很复杂的指令。编程过程中还需要使用那些很少而且很难记忆的编译选项。make是一种控制编译或者重复编译软件的工具。make可以自动管理软件的编译内容、方式和时机,从而使程序员把更多的精力集中在编写代码上。二、入门:1、make是怎么完成工作的呢?makefile是一个文本形式的脚本文件,其中包含一些规则告诉

2016-08-13 15:42:37 358

原创 c语言数据结构——链表常用算法

#include <stdio.h>#include <stdlib.h>//本代码的链表是带表头链表,首节点(即表头)不算是元素struct list{ int data;//数据域 struct list *next;//指针域,指向下一个节点的地址};struct list *create_list()//建立一个链表{// struct list *p = (

2016-08-13 08:56:34 721

原创 Qt5设置应用程序图标

该方法不支持QT4,测试版本QT5.4。 第一步:把.ico图标文件,如myico.ico,放到项目目录下(即源码目录)。 第二步:在 项目名.pro 文件中加入以下代码即可:RC_ICONS += myico.ico

2016-08-12 20:24:13 3743

转载 FILE文件流的中fopen、fread、fseek、fclose的使用

FILE文件流用于对文件的快速操作,主要的操作函数有fopen、fseek、fread、fclose,在对文件结构比较清楚时使用这几个函数会比较快捷的得到文件中具体位置的数据,提取对我们有用的信息,满足编程中的需要。以下分别进行说明,还有他们使用时的注意事项fopen函数原型 FILE * fopen(const char *path,cost char *mode)作用:打开一个文件,返回指

2016-08-10 14:28:37 991

原创 fgets和fscanf区别

一、作用上的大概区别:①fgets:从文件中读取一行数据存入缓冲区(fgets遇到回车才会结束,不对空格和回车做任何转换就录入到缓冲区,结束后再往缓冲区写多一个\0,所以它是读一行数据)②fscanf:从文件中读取一段数据存入缓冲区(fscanf遇到空格或回车就结束,它会把空格或回车转换为\0,所以它是读一小段数据)二、举个例子:把a.txt文件中的内容复制到b.txt。a.txt中的内容(第一行

2016-08-10 13:37:42 16434 2

转载 Java enum的用法详解

用法一:常量在JDK1.5 之前,我们定义常量都是: public static fianl…. 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switchJDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能

2016-08-09 14:01:48 576

原创 C语言中的冒泡排序(2种)和选择排序

#include <stdio.h>#include <stdlib.h>//冒泡排序1void popupSort1(int *p,int len){ int i,j; for(i = 0;i<len;i++) { for(j = 0;j<len-i-1;j++) { if(p[j]>p[j+1])

2016-08-08 11:04:22 9533 1

转载 C语言中字符串结束符'\0'

本质'\0'就是8位的00000000,因为字符类型中并没有对应的这个字符,所以这么写。'\0'就是 字符串结束标志。'\0'是转译字符,意思是告诉编译器,这不是字符0,而是空字符。空字符\0对应的二进制为00000000,而数字0为00110000原来,在C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串。字符串总是以'\0'作为串的结束符。因此当把一个

2016-08-06 14:45:29 1497

原创 dll动态库(二)项目中引用自定义动态库

1、创建一个 Win32控制台应用程序,命名如:usedll1。 2、下一步,勾选“空项目”,点击完成。 一、拷贝动态库部分:3、找到上一篇”dll动态库(一) Visual Studio创建dll动态库“中编译好的mydll1.dll和mydll1.lib。4、①把mydll1.dll放到 工作目录\usedll1\Debug下(如:F:\WorkSpace\VS_Workspace_1\us

2016-08-03 11:14:26 1173

原创 dll动态库(一) Visual Studio创建dll动态库

1、创建一个Win 32控制台应用程序,填写项目名称,如:mydll1。2、点击“下一步”,勾选”DLL”后点击“完成”。 3、在“解决方案资源管理器”中找到mydll1.cpp(也可以自己新建一个新的cpp,名字无所谓),双击打开,写入以下代码。// mydll1.cpp : 定义 DLL 应用程序的导出函数。//#include "stdafx.h"extern "C"//在C++语言当中

2016-08-03 09:43:12 3732

各大音乐网站接口

各大音乐网站接口

2016-06-01

三级缓存网络图片查看器

这是一个三级缓存模仿xUtils中BitmapUtils的例子,带有详细注释,轻松完成三级缓存。 自定义三级缓存图片加载工具MyBitmapUtils。 1、优先从内存中加载图片(MemoryCacheUtils) 2、其次从本地(sdcard)加载图片(NetCacheUtils) 3、最后从网络下载图片(LocalCacheUtils)

2016-05-22

vm安装苹果需要的解锁工具unlocker207和208

vm安装苹果需要的解锁工具unlocker207和208

2016-05-21

java连接mysql数据库用到的jar包

java连接mysql数据库用到的jar包

2016-05-21

默认使用DES加密聊天信息的SocketChat(内含DES与RSA加密工具)

默认使用DES加密聊天信息的SocketChat(内含DES与RSA加密工具) 使用的是GBK编码!!!

2016-05-19

视频缩略图和显示的缓存异步机制

视频缩略图 和显示的缓存异步机制,很实用,代码清晰,写了不少注释 http://blog.csdn.net/CSDN_LQR/article/details/51417637

2016-05-15

扫描本地视频并获取缩略图Demo

扫描本地视频并获取缩略图Demo

2016-05-15

ViewPagerIndicator

ViewPagerIndicator使用流程: 1.引入库 2.解决support-v4冲突(让两个版本一致) 3.从例子程序中拷贝布局文件 4.从例子程序中拷贝相关代码(指示器和viewpager绑定; 重写getPageTitle返回标题) 5.在清单文件中增加样式 6.背景修改为白色 7.修改样式-背景样式&文字样式

2016-05-09

xUtils的lib工程及sample

xUtils的lib工程及sample

2016-05-09

SlidingMenu侧边栏的lib及实例

SlidingMenu侧边栏的lib及实例. 使用见:http://blog.csdn.net/csdn_lqr/article/details/51340102

2016-05-08

servlet多文件上传(带进度条)

servlet多文件上传(带进度条)

2016-05-06

javaEE带进度条的上传

带进度条的上传,可以再对进度条进行美化,progressBar.js这个js控制页面,progressBar.css是对进度条的美化

2016-05-06

httpmime的jar包

httpmime,配合httpclient使用,可实现文件上传

2016-05-02

Volley工程类库

使用volley必须关联此类库

2016-05-02

eclipse的svn插件

eclipse的svn插件,可以在eclipse中检出svn上的项目

2016-04-22

获取缓存及清理缓存会用到的aidl文件

获取缓存及清理缓存会用到的aidl文件,包括: IPackageDataObserver.aidl、IPackageStatsObserver.aidl、PackageStats.aidl

2016-04-18

安卓shell工具RootTools.jar

用于判断root权限是否开启和执行shell命令。 RootTools.isRootAvailable():判断手机是否有root。 RootTools.isAccessGiven():是否root权限授权给当前apk。 RootTools.sendShell("mount -o remount rw /system", 8000);:挂载system分区为读写状态。

2016-04-16

安卓桌面小火箭发射

1,小火箭喷火 图片切换的动画 2,自定toast来显示小火箭 设置view 和params 3,冒烟 1,冒烟动画 2,打开Activity来显示冒烟 在服务中打开Activity 设置参数 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//在任务栈

2016-04-16

手机归属地数据库

使用教程: http://blog.csdn.net/CSDN_LQR/article/details/51164381

2016-04-15

安卓挂断电话用到的aidl

1、创建android.telephony包,把NeighboringCellInfo.aidl复制进去。 2、创建com.android.internal.telephony包,把ITelephony.aidl复制进去。

2016-04-15

java房贷计算工具类(商贷、公积金、组合贷)

java版房贷计算工具类,可自定义利率,支付商贷、公积金、组合贷的计算,功能十分强大,高精度,亲测可用。

2017-04-28

全国地区数据库-带有地区编码

这是在网上收集整理的全国最新地区数据库,精确到街道。是我目前收集整理地区数据库中最全的,可直接导入数据库即可。

2017-02-25

java版发送邮件工具类

使用mail.jar封装的万能邮件发送工具类

2016-11-24

java版ftp上传下载工具类

使用apache的common-net.jar,实现ftp文件的上传和下载,封装成工具类,方便开发。

2016-11-24

利用Filter全局中文过滤(get和post请求中文乱码问题)

filter是javaWeb中一个十分重要的知识点,可以拦截webApp的所有请求。 使用场景: 1、可以利用filter做到网站自登录。 2、可以利用filter全局修改参数编码,从而解决中文乱码问题(十分重要)。

2016-10-23

使用ThreadLocal解决代码分层问题

javaee开发常见的模式有MVC模式,在C层中常常会再次分层,如:servlet(web层)、service(业务逻辑层)、dao(数据访问层),其中service和dao最容易混在一起,如转钱交易场景,service层需要执行“事务”操作,会用到数据库连接对象(Connection),这就与dao层混在一起了,因为Connection是dao层才会用到对象,但如果把“事务”放到dao层,也是将service层与dao混在一起,因为转钱交易这个 事务应该由service层来做。所以,使用ThreadLocal可以解决这样的分层问题。

2016-10-22

mysql使用c3p0需要用到jar包

mysql使用c3p0需要用到jar包

2016-10-20

使用dbcp需要用到的jar包

使用dbcp需要用到的jar包

2016-10-20

使用jar使用验证码功能(ValidateCode.jar )

使用请看http://blog.csdn.net/CSDN_LQR/article/details/52821701

2016-10-15

XposedBridgeApi-54.jar

XposedBridgeApi-54.jar是xp框架开发所需的jar包

2016-08-18

使用makefile编译多个.c文件例子

包含main.c、a.c、b.c、makefile。 其中,在main.c中使用a.c和b.c中的函数。 makefile文件使用了变量和模式规则,是一份兼容性很强的代码指令,若要编译其它源文件,只需在SRCS变量后面修改即可。 使用: 1、在源码路径下的终端中输入 make 即可运行makefile。 2、输入make clean可以清除所有生成的.o文件。

2016-08-13

抓取浏览器访问头信息的web应用

使用servlet写的一个可以获取浏览器访问servlet时的头信息应用,打印到一个文本文件中,有助于一些特定情景的使用。

2016-07-22

commons-beanutils-1.8.3-connections.jar

从commons-beanutils-1.8.3.jar中删除了org/apache/commons/collections目录及其下的类,避免了与commons-collections-3.2.jar一起在android中使用时报Andorid Unable to execute dex: Multiple dex files define Lorg/apache/commons/collections/FastHashMap错。

2016-07-01

genymotion 5.0以上的 ARM_Translation

genymotion 5.0以上的 ARM_Translation 使用的步骤很间单: - 在 Genymotion 裡面建立 5.0 or 5.1 的模拟器。 - 开机后把 ARM_Translation_Lollipop.zip 拖到模拟器视窗中,让他自动安装。 - 先不要重新启动模拟器,透过 adb shell 执行 /system/etc/houdini_patcher.sh - 完成后重开模拟器即可。

2016-06-29

VitamioBundle-master4.2.zip

VitamioBundle-master4.2.zip

2016-06-29

android vitamio在线视频播放demo

Vitamio是一个支持所有Android设备的多媒体框架。Vitamio与Android默认的MediaPlayer工作方式相似,但功能更强大。 支持主流的视音频格式:mp3/mp4/mkv/avi/3gp/rmvb/mov/flv等。

2016-06-29

Genymotion-ARM-Translation_v1.1

解决模拟器加载.so文件时出现"library 'system/lib/libhoudini.so' not find"问题

2016-06-29

xstream-1.4.7

xml的解析、生成工具: xstream的使用跟gson一样,常用的方法有fromXml()、toXml()、alias("名字",class),其中alias很重要,默认生成的xml根标签使用的是类的全类名,使用alias可以解决该问题。

2016-06-18

xml的解析、生成工具

xstream的使用跟gson一样,常用的方法有fromXml()、toXml()、alias("名字",class),其中alias很重要,默认生成的xml根标签使用的是类的全类名,使用alias可以解决该问题。

2016-06-18

java解析json的工具--json-lib

json-lib是java工程中常用到的json解析工具,使用简单灵活,本压缩包中包括的文件有(使用json-lib必备的jar包): commons-beanutils-1.8.3.jar commons-collections-3.2.1.jar commons-lang-2.6.jar commons-logging-1.1.1.jar ezmorph-1.0.6.jar json-lib-2.4-jdk15.jar

2016-06-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除