自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

此心光明事上练的博客

四事规:立志、勤学、改过、责善。一切皆有可能,让我们一起成长

  • 博客(157)
  • 资源 (5)
  • 收藏
  • 关注

原创 Genymotion模拟器中安装其他APK文件

部分Genymotion版本的模拟器内置了文件管理器,或者你可以安装一个第三方文件管理应用(如ES文件浏览器)到模拟器中。通常,Genymotion模拟器的IP地址可以在模拟器窗口的标题栏找到。adb install 以上方法均能帮助你在Genymotion模拟器中安装APK文件,根据你的具体需求和环境选择合适的方法。

2024-05-14 10:43:20 283

原创 微信小程序代码怎么转成第三方平台(H5、Android、IOS等)项目

这些工具通常是基于已有的开源框架或技术实现的,但请注意,这些工具可能无法处理小程序的所有特性和复杂的业务逻辑,因此在使用时需要谨慎,并做好后续的代码优化和调试工作。同时,考虑到转换过程的复杂性和可能遇到的技术挑战,建议你在转换之前充分评估项目的需求和目标,以及团队的技术实力和资源投入。将小程序代码转换为H5代码时,有一些第三方工具和服务可以帮助你完成部分工作,但请注意,由于小程序和H5平台的本质差异,这些工具可能无法完全自动化转换过程,仍然需要开发者进行一定的手动调整和优化。

2024-03-22 09:10:57 751

原创 JavaScript基础(二)—— 运算符、表达式与语句(if、switch、循环)

掌握常见运算符,为程序“能思考”做准备掌握分支语句,让程序具备判断能力掌握循环语句,让程序具备重复执行能力。

2024-02-01 21:10:17 955

原创 JavaScript基础(一)—— JS介绍、变量、常量、数据类型、类型转换

是一种运行在客户端(浏览器)的编程语言,实现人机交互效果。网页特效(监听用户的一些行为让网页作出对应的反馈)表单验证(针对表单数据的合法性进行判断)数据交互(获取后台的数据, 渲染到前端)服务端编程(node.js)组成:ECMAScript( 基础语法 )、web APIs (DOM、BOM)。ECMAScrip规定了js基础语法核心知识。比如:变量、分支语句、循环语句、对象等等。Web APIsDOM操作文档,比如对页面元素进行移动、大小、添加删除等操作。

2024-01-30 16:25:08 896

原创 JavaSE基础(七)—— 常用API(String、 ArrayList)

什么是API​ API (Application Programming Interface) :应用程序编程接口java中的API​ 指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。官方API地址​ String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例。

2023-05-24 08:21:51 514 1

原创 JavaSE进阶(二)—— 面向对象进阶(包、权限修饰符、抽象类、多态)

权限修饰符:是用来控制一个成员能够被访问的范围。可以修饰成员变量,方法,构造器,内部类,不同权限修饰符修饰的成员能够被访问的范围将受到限制。常量是使用了修饰的成员变量,必须有初始化值,而且执行的过程中其值不能被改变。常量名的命名规范:英文单词全部大写,多个单词下划线连接起来。枚举是Java中的一种特殊类型枚举的作用:"是为了做信息的标志和信息的分类/*修饰符 enum 枚举名称{第一行都是罗列枚举类实例的名称。*/互斥关系。

2023-05-17 07:46:05 518

原创 JavaSE进阶(一)—— 面向对象进阶(static、单例、代码块、继承)

由于工具里面都是静态方法,直接用类名即可访问,因此,工具类无需创建对象,建议将工具类的构造器进行私有。代码块是类的5大成分之一(成员变量、构造器,方法,代码块,内部类),定义在类中方法外。在Java类下,使用{ }括起来的代码被称为代码块。开发中经常遇到一些问题,一个问题通常有n种解法的,但其中肯定有一种解法是最优的,这个最优的解法被人总结出来了,称之为设计模式。设计模式有20多种,对应20多种软件开发中会遇到的问题。学设计模式主要是学2点:第一:这种模式用来解决什么问题。

2023-05-16 07:44:14 485

原创 JavaSE基础(六)—— 面向对象、封装、对象内存图、成员变量和局部变量区别

修饰符 数据类型 变量名称 = 初始化值;一般无需指定初始化值,存在默认值。类名首字母建议大写,且有意义,满足“驼峰模式”。一个Java文件中可以定义多个class类,且只能一个类是public修饰,而且public修饰的类名必须成为代码文件名。实际开发中建议还是一个文件定义一个class类。无参数构造器(默认存在的):初始化的对象时,成员变量的数据均采用默认值。有参数构造器:在初始化对象的时候,同时可以为对象进行赋值。

2023-05-14 23:21:28 481

原创 JavaSE基础(五)—— 方法(定义、调用、重载)、return关键字

方法格式的注意点方法的修饰符:暂时都使用public static 修饰方法申明了具体的返回值类型,内部必须使用return返回对应类型的数据形参列表可以有多个,甚至可以没有;如果有多个形参,多个形参必须用“,”隔开,且不能给初始化值注意事项方法不需要返回结果,则申明返回值类型为void;方法不需要参数,则形参列表可以不写。方法没有申明返回值类型,内部不能使用return返回数据。方法如果没有形参列表,调用的时候则不能传入参数值,否则报错。需求:定义一个方法,方法中计算出 1-n的和并返回。

2023-05-06 06:09:25 731

原创 JavaSE基础(四)—— 数组、内存分配

定义数组的时候直接给数组赋值// 完整格式数据类型[] 数组名 = new 数据类型[]{元素1,元素2 ,元素3… };// 简化格式数据类型[] 数组名 = { 元素1,元素2 ,元素3,… };注意:数组变量名中存储的是数组在内存中的地址,数组是引用类型。动态初始化:只指定数组长度,后期赋值,适合开始知道数据的数量,但是不确定具体元素值的业务场景。静态初始化:开始就存入元素值,适合一开始就能确定元素值的业务场景。两种格式的写法是独立的,不可以混用。栈堆方法区。

2023-05-05 22:56:12 501

原创 JavaSE基础(三)—— 程序流程控制、Random随机数

流程控制语句:Java提供了一些流程控制语句,来控制程序的执行流程。

2023-05-04 01:10:46 796

原创 JavaSE基础(二)—— 类型转换、运算符、键盘录入

为什么要进行类型转换?存在不同类型的变量赋值给其他类型的变量。类型范围小的变量,可以直接赋值给类型范围大的变量。1.2 自动类型转换的其他形式。

2023-05-03 19:51:02 527

原创 百度、谷歌等搜索引擎高效搜索方法 —— 更快速搜索到你想要内容

又被称为去广告搜索法,intitle命令,即in title(在标题里)返回的的结果是网页的标题包含该关键词。一般情况下搜索的关键词都会在标题里出现,使用intitle命令一般是在特殊需求下,比如SEO优化等。

2023-05-01 21:33:37 5427

原创 Web Service(三)—— SOAP学习

SOAP 指简易对象访问协议SOAP 是一种通信协议SOAP 用于应用程序之间的通信SOAP 是一种用于发送消息的格式SOAP 被设计用来通过因特网进行通信SOAP 独立于平台SOAP 独立于语言SOAP 基于 XMLSOAP 很简单并可扩展SOAP 允许您绕过防火墙SOAP 将被作为 W3C 标准来发展为什么使用 SOAP?SOAP 提供了一种标准的方法,使得运行在不同的操作系统并使用不同的技术和编程语言的应用程序可以互相进行通信。

2023-04-27 16:19:31 2320

原创 JavaSE基础(一)—— Java环境搭建、IDEA、Java语言

Java语言的产品是JDK(Java Development Kit :Java开发工具包),必须有JDK才能使用Java语言。之前的开发工具文本编辑工具: 记事本 、 UltraEdit 、 EditPlus 、 TextPad 、 NotePad++、sublime.. 存在的问题:编写代码时没有错误提醒、没有智能提示、需要自己进行编译、执行。功能不够强大。集成开发环境( IDE, Integrated Development Environment )

2023-04-22 03:46:00 521

原创 Qt界面编程(五)—— QDialog对话框(标准对话框、消息对话框、标准文件对话框)

对话框是 GUI 程序中不可或缺的组成部分。很多不能或者不适合放入主窗口的功能组件都必须放在对话框中,比如用于完成一次性任务的功能(如登录功能、选择某个文件打开、保存文件)。对话框通常会是一个顶层窗口,出现在程序最上层,用于实现短期任务或者简洁的用户交互。Qt 中使用QDialog类实现对话框,但是声明一个QDilaog对象的时候,不管这个对话框对象跟哪个窗口建立了父子关系,当他显示出来的时候都还是一个顶层的窗口。对话框分为模态对话框和非模态对话框:模态对话框不能操作同一个应用程序的其他窗口。

2023-04-02 22:53:51 1929

原创 Qt界面编程(四)—— QMainWindow(一个菜单栏、多个工具栏、多个停靠部件、一个状态栏、一个中心部件)、资源文件

一个主窗口最多只有一个菜单栏。位于主窗口顶部、主窗口标题栏下面。 创建菜单,调用QMenu的成员函数addMenu来添加菜单。 创建菜单项,调用QMenu的成员函数addAction来添加菜单项。 Qt 并没有专门的菜单项类,只是使用一个QAction类,抽象出公共的动作。当我们把QAction对象添加到菜单,就显示成一个菜单项,添加到工具栏,就显示成一个工具按钮。用户可以通过点击菜单项、点击工具栏按钮、点击快捷键来激活这个动作。 主窗口的工

2023-04-02 21:54:50 7612

原创 Qt界面编程(三)—— 父子关系、对象树、信号和槽(自定义信号和槽、Qt5与Qt4的写法)

Qt框架默认提供的标准信号和槽不足以完成我们日常应用开发的需求,比如说点击某个按钮让另一个按钮的文字改变,这时候标准信号和槽就没有提供这样的函数。但是Qt信号和槽机制提供了允许我们自己设计自己的信号和槽。声明在类的signals域下没有返回值,void类型的函数只有函数声明,没有定义可以有参数,可以重载通过emit关键字来触发信号,形式:emit object->sig(参数);

2023-04-01 22:32:22 1097

原创 Qt界面编程(二)—— Qt 5 帮助文档的详解

公有成员函数:操作部件属性的相关函数。公有槽函数:Qt类中已经定义好的槽函数,直接可与信号相连接。信号:软中断,如按下按钮触发 pressed() 信号等。保护成员函数:通常事件所对应的虚函数放在此处。事件:常用事件,如操作鼠标触发的鼠标事件。

2023-03-26 16:36:52 4768 1

原创 Qt界面编程(一)—— Qt概述、Qt的安装和环境变量的配置、Qt程序简单说明

Qt是一个跨平台的C++图形用户界面应用程序框架。它为应用程序开发者提供建立图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。

2023-03-22 19:27:07 7132

原创 C++核心知识(五)—— 继承和派生

当使用虚继承时,虚基类是被共享的,也就是在继承体系中无论被继承多少次,对象内存模型中均只会出现一个虚基类的子对象(这和多继承是完全不同的)。即使共享虚基类,但是必须要有一个类来完成基类的初始化(因为所有的对象都必须被初始化,哪怕是默认的),同时还不能够重复进行初始化,那到底谁应该负责完成初始化呢?C++标准中选择在每一次继承子类中都必须书写初始化语句(因为每一次继承子类可能都会用来定义对象),但是虚基类的初始化是由最后的子类完成,其他的初始化语句都不会调用。

2023-03-08 22:50:25 3316

原创 C++核心知识(三)—— 静态成员(变量、函数、const成员)、面向对象模型(this指针、常函数、常对象)、友元、数组类、单例模式

在c语言中, 变量和函数“分开来声明的,也就是说,语言本身并没有支持“数据”和“函数”之间的关联性我们把这种程序方法称为“程序性的”,由一组“分布在各个以功能为导航的函数中”的算法驱动,它们处理的是共同的外部数据。this指针是C++实现封装的一种机制,它将对象和该对象调用的成员函数连接在一起,在外部看来,每一个对象都拥有自己的函数成员。比如你的家,有客厅,有你的卧室,那么你的客厅是Public的,所有来的客人都可以进去,但是你的卧室是私有的,也就是说只有你能进去,但是呢,你也可以允许你的闺蜜好基友进去。

2023-03-06 20:56:52 862

原创 C++核心知识(二)—— 类和对象(类的封装)、对象的构造和析构(浅拷贝、深拷贝、explicit、动态分配内存)

定义一个结构体用来表示一个对象所包含的属性,函数用来表示一个对象所具有的行为,这样我们就表示出来一个事物,在c语言中,行为和属性是分开的,也就是说吃饭这个属性不属于某类对象,而属于所有的共同的数据,所以不单单是PeopleEat可以调用Person数据,AnimalEat也可以调用Person数据,那么万一调用错误,将会导致问题发生。对象的初始化和清理也是两个非常重要的安全问题,一个对象或者变量没有初始时,对其使用后果是未知,同样的使用完一个变量,没有及时清理,也会造成一定的安全问题。

2023-03-06 08:50:04 794

原创 C++核心知识(一)—— C++概述、C++对C的扩展(作用域、struct类型、引用、内联函数、函数默认参数、函数占位参数、函数重载)

c++”中的++来自于c语言中的递增运算符++,该运算符将变量加1。c++起初也叫”c withclsss”.通过名称表明,c++是对C的扩展,因此c++是c语言的超集,这意味着任何有效的c程序都是有效的c++程序。c++程序可以使用已有的c程序库。为什么c++不叫++c呢?因为它虽然对c进行了改进、扩展,但是很多人还是把它当做c来使用。c++后置++,先对c进行扩展,但返回的还是c.库是编程模块的集合,可以在程序中调用它们。

2023-03-03 11:26:27 860

原创 C语言数据结构(二)—— 受限线性表 【栈(Stack)、队列(Queue)】

在数据结构逻辑层次上细分,线性表可分为一般线性表和受限线性表。一般线性表也就是我们通常所说的“线性表”,可以自由的删除或添加结点。受限线性表主要包括栈和队列,受限表示对结点的操作受限制。一般线性表详解,请参考文章:C语言数据结构(一)—— 数据结构理论、线性表【动态数组、链表(企业版单向链表)】

2023-02-26 15:54:01 1109

原创 C语言数据结构(一)—— 数据结构理论、线性表【动态数组、链表(企业版单向链表)】

数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。数据不仅仅包括整型、实型等数值类型,还包括字符及声音、图像、视频等非数值类型。

2023-02-25 20:10:51 431

原创 C语言进阶(九)—— 函数指针和回调函数、预处理、动态库和静态库的使用、递归函数

通过函数类型定义的变量是不能够直接执行,因为没有函数体。只能通过类型定义一个函数指针指向某一个具体函数,才能调用。这一点和数组一样,因此我们可以用一个指针变量来存放这个入口地址,然后通过该指针变量调用函数。,指向函数的指针也可以作为参数,以实现函数地址的传递。函数参数除了是普通变量,还可以是函数指针变量。函数指针数组,每个元素都是函数指针。C语言中的函数有自己特定的类型。指针函数是返回类型为指针的函数;通过什么来区分两个不同的函数?,函数名代表函数的入口地址。函数指针是指向函数的指针;

2023-02-23 15:16:11 962

原创 C语言进阶(八)—— 链表

链表是一种常用的数据结构,它通过指针将一些列数据结点,连接成一个数据链。相对于数组,链表具有更好的动态性(非顺序存储数据域用来存储数据,指针域用于建立与下一个结点的联系。建立链表时无需预先知道数据总量的,可以随机的分配空间,可以高效的在链表中的任意位置实时插入或删除数据。链表的开销,主要是访问顺序性和组织链的空间损失。数组和链表的区别:数组:一次性分配一块连续的存储区域。优点:随机访问元素效率高缺点:1) 需要分配一块连续的存储区域(很大区域,有可能分配失败)

2023-02-23 11:38:23 820

原创 C语言进阶(七)—— 文件操作

作为一名程序员,您必须编程来创建、写入和读取文件。编写程序从文件读取信息或者将结果写入文件是一种经常性的需求。

2023-02-22 22:05:46 614

原创 C语言进阶(六)—— 结构体

int age;int age;}Person;注意:定义结构体类型时不要直接给成员赋值,结构体只是一个类型,编译器还没有为其分配空间,只有根据其类型定义变量时,才分配空间,有空间后才能赋值。int age;}p1;//1.定义类型同时定义变量struct{int age;}p2;//2.定义类型同时定义变量//3.通过类型直接定义。

2023-02-22 17:18:02 312

原创 C语言进阶(五)—— 多维数组

源代码的可读性几乎总是比程序的运行时效率更为重要只要有可能,函数的指针形参都应该声明为const在多维数组的初始值列表中使用完整的多层花括号提高可读性在绝大多数表达式中,数组名的值是指向数组第1个元素的指针。这个规则只有两个例外,sizeof和对数组名&。指针和数组并不相等。当我们声明一个数组的时候,同时也分配了内存。但是声明指针的时候,只分配容纳指针本身的空间。当数组名作为函数参数时,实际传递给函数的是一个指向数组第1个元素的指针。

2023-02-22 12:34:43 1081

原创 C语言进阶(四)—— 位运算

可以使用C对变量中的个别位进行操作。您可能对人们想这样做的原因感到奇怪。这种能力有时确实是必须的,或者至少是有用的。C提供位的逻辑运算符和移位运算符。在以下例子中,我们将使用二进制计数法写出值,以便您可以了解对位发生的操作。在一个实际程序中,您可以使用一般的形式的整数变量或常量。例如不适用00011001的形式,而写为25或者031或者0x19.在我们的例子中,我们将使用8位数字,从左到右,每位的编号是7到0。

2023-02-21 23:09:18 200

原创 C语言进阶(三)—— 指针的指针(二级指针)

c访问c所指向的位置,我们知道这是变量b.第二个间接访问操作符访问这个位置所指向的地址,也就是变量a.指针的指针并不难懂,只需要留心所有的箭头,如果表达式中出现了间接访问操作符,你就要随箭头访问它所指向的位置。显然它是一个指针,但它所指向的是什么?变量b是一个“指向整型的指针”,所以任何指向b的类型必须是指向“指向整型的指针”的指针,更通俗地说,是一个指针的指针。指针变量和其他变量一样,占据内存中某个特定的位置,所以用&操作符取得它的地址是合法的。那么这个变量的声明是怎样的声明的呢?

2023-02-21 21:16:44 454

原创 C语言进阶(二)—— 指针强化

别看free和delete的名字(尤其是delete),它们只是把指针所指的内存给释放掉,但并没有把指针本身干掉。任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的,它会乱指一气。所以,指针变量在创建的同时应当被初始化,要么将指针设置为NULL,要么让它指向合法的内存。注意:对一个int*类型指针解引用会产生一个整型值,类似地,对一个float*指针解引用会产生了一个float类型的值。但从定义上看,NULL指针并未指向任何东西,因为对一个NULL指针因引用是一个非法的操作,

2023-02-21 19:29:27 664

原创 C语言进阶(一)—— 内存分区:变量和内存分布

数据类型本质是固定内存大小的别名,是个模具,C语言规定:通过数据类型定义变量;数据类型大小计算(sizeof可以给已存在的数据类型起别名typedef;数据类型的封装(void 万能类型在理解C/C++内存分区时,常会碰到如下术语:数据区堆栈静态区常量区全局区字符串常量区文字常量区代码区等等,初学者被搞得云里雾里。在这里,尝试捋清楚以上分区的关系。数据区包括:堆,栈,全局/静态存储区。全局/静态存储区包括:常量区,全局区、静态区。常量区包括。

2023-02-15 16:34:43 651

原创 C语言标准 —— C89(C90)、C99、C11、C17、C2X

C语言最初由 Dennis Ritchie 于 1969 年到 1973 年在 AT&T 贝尔实验室里开发出来,主要用于重新实现 Unix 操作系统。此时,C语言又被称为 K&R C。其中,K 表示 Kernighan 的首字母,而 R 则是 Ritchie 的首字母。K&R C语言与后来标准化的C语言有很大差异,比如:也可以写成编译器不会有任何警告,更不会报错。K&R 的C语法中,定义一个函数时,其形参列表先列出形参的标识符,然后在函数声明的后面紧跟着对形参标识符的完整声明,最后是函数体。

2023-02-09 17:57:35 6606

原创 C语言基础(十)—— 文件操作

磁盘文件指一组相关数据的有序集合,通常存储在外部介质(如磁盘)上,使用时才调入内存。设备文件在操作系统中把每一个与主机相连的输入、输出设备看作是一个文件,把它们的输入、输出等同于对磁盘文件的读和写。

2023-02-08 21:10:15 400

原创 C语言基础(九)—— 复合类型(自定义类型)

数组:描述一组具有相同类型数据的有序集合,用于处理大量相同类型的数据运算。有时我们需要将不同类型的数据组合成一个有机的整体,如:一个学生有学号/姓名/性别/年龄/地址等属性。显然单独定义以上变量比较繁琐,数据不便于管理。C语言中给出了另一种构造数据类型——结构体。定义结构体变量的方式(3种):先声明结构体类型再定义变量名在声明类型的同时定义变量直接定义结构体类型变量(无类型名)结构体类型和结构体变量关系:结构体类型:指定了一个结构体类型,它相当于一个模型,但其中并无具体数据,系统对之也。

2023-02-08 20:18:28 577 1

原创 C语言基础(八)—— 内存管理、作用域、内存布局、内存区代码分析

类型作用域生命周期auto变量一对{}内当前函数static局部变量一对{}内整个程序运行期extern变量整个程序整个程序运行期static全局变量当前文件整个程序运行期extern函数整个程序整个程序运行期static函数当前文件整个程序运行期register变量一对{}内当前函数全局变量整个程序整个程序运行期类型作用域生命周期存储位置auto变量一对{}内当前函数栈区static局部变量一对{}内整个程序运行期。

2023-02-08 15:11:13 1277 1

原创 C语言基础(七)—— 指针、指针变量

内存含义:存储器:计算机的组成中,用来存储程序和数据,辅助CPU进行运算处理的重要部分。内存:内部存贮器,暂存程序/数据——掉电丢失 SRAM、DRAM、DDR、DDR2、DDR3。外存:外部存储器,长时间保存程序/数据—掉电不丢ROM、ERRROM、FLASH(NAND、NOR)、硬盘、光盘。内存是沟通CPU与硬盘的桥梁:暂存放CPU中的运算数据暂存与硬盘等外部存储器交换的数据指针也是一种数据类型,指针变量也是一种变量指针变量指向谁,就把谁的地址赋值给指针变量“*”操作符操作。

2023-02-08 08:50:45 2226 1

Java JDK17 API

Java JDK17离线文档

2023-05-14

logging-use

logging-use

2022-12-18

Linux、Nginx、MySQL、PHP部署服务器例子:TPshop项目部署文档

Linux、Nginx、MySQL、PHP部署服务器

2022-11-04

接口测试用例模板(例如:IHRM)

接口测试用例模板(例如:IHRM)

2022-10-21

Python测试报告模板(中文、英文)

Python测试报告模板,HTMLTestRunner.py 英文模块,与 HTMLTestRunnerCN.py 中文模块

2022-10-16

androidx类映射表格.xlsx

表格列出了从Android旧支持库包到新androidx,导入包的类映射明细

2021-06-27

androidx-maven.csv

Android Support Library 依赖映射 AndroidX表格下载

2021-06-27

android疯狂讲义第3版

下载了很多Android疯狂讲义第三版都是假的,如假包换,找的了真实版的,分享给大家

2016-12-28

Eclipse Neon v4.6.0 64位 官方安装免费版(附汉化包)

Eclipse Neon是一款由eclipse最新推出的开发辅助工具,新版本更加关注JavaScript 和 PHP的开发,目前已经开放下载,各位开发者可以下载体验了,eclipse是一款跨平台的自由集成开发环境,软件基于java开发,拥有可视化的开发环境,可以帮助开发者更加轻松地开发出需要的应用,需要此款工具的朋友们可以前来下载使用。 在是在线安装版本。

2016-10-13

android 按字母排序的省份列表,类似通讯录的字母索引

和通信录一样的省份,然后选择

2016-06-09

空空如也

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

TA关注的人

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