自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 问答 (1)
  • 收藏
  • 关注

原创 第二章: Kotlin基础

一、数字类型:Long   长整数         64位Int    整数           32位Short  短整数         16位Byte   字节            8位Double 双精度小数     64位Float 浮点数          32位(1). 和Java的区别:首字母是大写的。二、 声明和初始化1. var 变量名: Int = 3Kotlin会自动推断...

2018-05-22 20:24:25 634

原创 第一章:Kotlin入门 -- 初次见面

一、 开发环境: IntelliJ IDEA二、 HelloWorld程序1. 代码如下:fun main(args: Array<String>){ println("Helle World ! ")  // 这个会换行    print("Helle Kotlin ! ") // 这个不会换行}2. 初步感受:(1). 句尾不需要分号(2). Kotlin的文件和类是不同的(3)....

2018-05-22 20:17:55 272

原创 记一次Eclipse 报错:java.lang.RuntimeException: Exception in org.eclipse.osgi.framework.internal.core.Syst

重新装过win10系统后,打开Eclipse(还有ADT),启动时报错,错误日志如下:eclipse.buildId=v22.6.2-1085508java.version=10java.vendor=Oracle CorporationBootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CNFramework argument...

2018-03-26 12:03:38 6286

转载 八个最佳Python IDE

八个最佳Python IDE转载于:http://blog.csdn.net/chszs/article/details/45922299Python是一种功能强大、语言简洁的编程语言。本文向大家推荐8个适合Python开发的IDE。1. Eclipse with PyDevhttp://pydev.org/Eclipse+PyDev插件,很适合开发Python Web应用,其特征包括自动代码完成...

2018-02-09 23:20:27 43032

转载 Android Support库——support annotations

本文转载自:http://blog.csdn.net/maosidiaoxian/article/details/50452706Android Support库是官方出的支持扩展库,包含了丰富的组件、工具类等,通过在Android SDK Manager中勾选以下两项来获取到。    其中,Android Support Library下载的是对应的源码或jar包,在使用Ecli

2018-01-09 19:15:48 470

原创 Android中取消EditText自动获得焦点

在Android项目中,如果一个页面有EditText控件的话(一个或多个),一进入这个页面, 第一个EditText默认就会自动获取焦点。那么如何取消这个默认行为呢?解决的办法:在EditText的父级控件中找一个,设置成   android:focusable="true"     android:focusableInTouchMode="true"这样,就把EditText

2017-12-14 16:06:58 604

转载 记录一次File.createNewFile()报错的解决方法

文章装载自:http://blog.csdn.net/moyuxueyi/article/details/39153725出现异常:04-16 17:58:52.714: W/System.err(23703): Caused by: libcore.io.ErrnoException: open failed: EINVAL (Invalid argument)04-16

2017-12-04 11:23:35 6507

原创 在cmd中报错:java找不到或无法加载主类

学习在CMD中使用java命令来编译和运行java文件时,javac xx.java运行正常,java xx 时报错:java找不到或无法加载主类。后来找到了原因:我是在Eclipse中写的代码,然后cmd中进入到java文件路径运行命令时就报错了。  解决方法:将java代码文件copy到一个新的路径下(路径最好全是英文的),然后修改代码:将代码中的路径(package com.xxx.xxx)

2017-11-15 14:06:29 784

原创 在Eclipse中找不到sun.misc.Launcher类的解决方法

下面是我亲测有效的一种方法:先remove掉JRE System Library[JavaSE-1.8], 然后再添加JRE System Library(就是把默认的sun公司也就是Eclipse/Myeclipse中自带的jdk换成自己安装的JDK)。下面是具体的步骤:在项目上点击右键 --> Build Path --> Configure Build Path... --> 如

2017-11-13 19:04:36 3243

原创 Android Studio更新gradle时速度太慢解决方法

这几天要开始更新Android Studio到3.0了。周末终于有时间可以在自己的Mac上更新了,过程中遇到了一个很蛋疼的问题,在更新gradle4.1(Android Studio自己默认的版本,虽然在Gradle官网上已经有4.3.1的版本了)时一直下载不了。晚上睡觉的时候开始下载,漫长一夜之后还是在更新Gradle,这怎么可以忍受呢,然后就开始找各种方法了。。。。。。解决困难的过程很苦逼,但

2017-11-11 21:30:05 13678

原创 Mac中第一次使用Android Studio出现unable to access android sdk add-on list的解决方法

最近从Windows转手到了Mac,Mac中第一次使用Android Studio也和在Windows中一样出现了unable to access android sdk add-on list的问题。当然了解决方法也是Windows中的相同:打开bin\idea.properties这个文件,末尾添加一行disable.android.first.run=true就行了。但是,现在有

2017-11-11 12:06:22 12071

原创 vbox里面Ubuntu虚拟机与主机Windows之间设置共享文件夹

有时候我们希望虚拟机和主机之间进行通信,例如传一些文件。那么设置共享文件夹就是一种很好的方式。这里我的主机是win10系统,vbox里面的虚拟机是Ubuntu。1、首先安装vbox的VBOXGuestAddition.iso。(1)如果是android开发者,安装了genymotion的话,则直接跳至第5步;(2)在vbox中点击“设备”->“安装增强功能”。(3)Ubun

2017-10-22 22:35:39 4388

原创 Class.forName提示java.lang.ClassNotFoundException:

运行环境:Eclipse + java8.今天在代码中使用到了Class.forName(String)这个方法,当我传入的字符串的是一个类名时,运行后一直提示java.lang.ClassNotFoundException:这个错误。当我传入的字符串是  完整的包名+类名  时就可以了。让我觉得疑惑的是我看到书上资料里面和有些网上的代码里传入的只是类名,他们就可以得出结果了。

2017-10-12 14:06:11 9787 4

原创 java中使用socket进行udp方式通信时拔掉网线会导致send()方法阻塞

记录一下我在项目中遇到的一个坑:设备搭载Android系统类似于机顶盒之类的设备,所以android客户端连接到服务器的使用不了wifi,只能通过网线连接,通信方式是使用socket进行udp通信。1. 环境:客户端登录成功后,会开始发送心跳,下面是实现流程的伪代码:public class Test{ private int sendCount = 0; /** 向

2017-09-11 17:09:06 1866

转载 Listview、RecyclerView中的item中包含可以点击的控件,点击冲突解决办法

文章转载自:http://blog.csdn.net/gaobaoshen1/article/details/51605397在item的根布局中添加:android:descendantFocusability="blocksDescendants"可点击的子item添加android:focusable="false"

2017-09-03 12:00:11 620

原创 java解析XML——Pull解析

除了可以使用SAX或DOM解析XML文件之外,在Android中可以使用Android内置的Pull解析器解析XML文件。 Pull解析器是一个开源的java项目,既可以用于android,也可以用于JavaEE。如果用在javaEE需要把其jar文件放入类路径中,因为Android已经集成进了Pull解析器,所以无需添加任何jar文件。android系统本身使用到的各种xml文件,其内部也是采用

2017-09-03 09:39:46 2259

原创 java解析XML——dom4j解析

dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API, 具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它. 对主流的java XML API进行的性能、功能和易用性的评测,dom4j无论在那个方面都是非常出色的。如今你可以看到越来 越多的Ja

2017-09-03 09:36:05 576

原创 java解析XML——SAX解析

为解决DOM的问题,出现了SAX。SAX ,事件驱动。当解析器发现元素开始、元素结束、文本、文档的开始或结束等时,发送事件,程序员编写响应这些事件的代码,保存数据。优点:不用事先调入整个文档,占用资源少;SAX解析器代码比DOM解析器代码小,适于Applet,下载。缺点:不是持久的;事件过后,若没保存数据,那么数据就丢了;无状态性;从事件中只能得到文本,但不知该文本属于哪个元素;使用场合:Appl

2017-09-03 09:31:17 347

原创 Java解析XML文件——DOM解析

DOM的全称是Document Object Model,也即文档对象模型。在应用程序中,基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合(通常称DOM树),应用程序正是通过对这个对象模型的操作,来实现对XML文档数据的操作。通过DOM接口,应用程序可以在任何时候访问XML文档中的任何一部分数据,因此,这种利用DOM接口的机制也被称作随机访问机制。    DOM接口提供了一

2017-09-03 09:04:18 265

原创 iOS 模拟器中点击 TextFiled后不弹出软键盘的解决方法

选中模拟器然后看在MAC机上方模拟器菜单“Hardware”---“keyboard”---“Connect Hardware Keyboard”。勾选一下。就可以取消和键盘的关联。

2017-08-08 20:58:03 935

转载 mac下的androidstudio的快捷键

原文链接:http://blog.csdn.net/wqb1319856391/article/details/48264073因为mac下的androidstudio的快捷键和windows下的不怎么相同,又要重新熟悉一遍,整理记录一下常用的快捷键,也方便自己查找:上下行移动: alt+shift +up/down上下移动整个方法: cmd+shift + up/do

2017-07-15 10:35:48 374

原创 使用Eclipse开发时,在Android项目中引用另一个项目

一. 在使用Eclipse开发Android项目时,现在已经有了一个Android工程A。我们想扩展A的功能,但是不想在A的基础上做开发,于是新建了另外一个android工程B,想在B中引用A。1. 把工程A做成纯Jar包,这样其他的工程就可以直接引用了。但是,如果在工程A中用了R.Java中的引用,则无法打成jar包了。原因是R.java是自动生成的,是动态的,每次编译都是不相同的。

2017-07-13 14:14:58 2412

原创 ScrollView中smoothScrollTo()方法无效

最近在写一个自定义的View继承于ScrollView时出现了一个问题,就是调用smoothScrollTo()方法时不起作用了,scrollTo()方法是没有问题的,但我们想要一种平滑的效果,所以就得使用smoothScrollTo()方法。网上找了好多方法,只有一种方法目前是有效的,就是使用post()方法,具体如下:this.post(new Runnable() {

2017-07-13 10:21:28 4917 2

原创 每天学一点Swift---- 运算符函数

一. 运算符重载1. Swift的运算符提供了良好的可扩展性,Swift不仅允许开发者重新定义已有的运算符(运算符重载),甚至允许开发者实现新的运算符。从本质上来看,Swift的运算符其实就是一个运算符函数,因此只要能用函数实现的功能,程序都可以讲起转换为运算符。2. 重新定义+、-、x、/的运算符函数,实现自己认为合理的功能就是运算符重载(函数重载),不再啰嗦。

2017-06-17 22:53:23 633

原创 每天学一点Swift----泛型(二)

四.类型约束1. 虽然程序可以对泛型形参传入任何类型,但有时候为泛型形参增加某种特定的约束也是必要的。就像字典,Dictionary的key的类型也是通过泛型形参来表示的,但Dictionary并不允许任意一种类型的数据都能作为key,只有实现了Hashable协议的类型才能作为key。这就是一种类型约束。2. 类型约束就是指定义类型参数时增加一个限制,约束这种类型参数必须继承

2017-06-16 22:44:34 425

原创 每天学一点Swift----泛型(一)

一.泛型的作用1. 泛型是一种非常灵活的语法,泛型允许程序在函数、枚举、结构体、类中定义类型形参,这种类型形参实际代表的类型是动态改变的----程序可以等到真正使用这些函数、枚举、结构体时才为这些类型形参传入实际的类型。而且每次使用这些函数、枚举、结构体、类时都可以为泛型的类型形参传入不同的类型。2. 实例上,Swift的泛型无处不在,许多Swift的标准库都是通过泛型

2017-06-15 22:13:40 477

原创 每天学一点Swift----面向对象下(十)

十九. Swift内存管理1. Swift提供了强大的内存管理机制:Swift通过自动引用计数(ARC)可以很好地管理对象的回收。大部分时候,程序无须关心Swift对象的回收,但在某些特殊情况下,Swift要求程序员进行一些内存管理的处理。2. 只有引用类型变量所引用的对象才需要使用引用计数进行管理,对于枚举、结构体,他们是值类型,因此不需要使用引用计数进行管理。3.

2017-06-14 08:00:46 344

原创 每天学一点Swift----面向对象下(九)

十八.隐藏与封装1. 封装指的是将实例的状态信息、实现细节隐藏在实例内部,不允许外部程序直接访问实例的内部信息,只能通过该类型所提供的公开方法来访问和操作实例的内部信息。2. 对一个类型或实例实现良好的封装,可以实现以下目的:(1)隐藏类的细节(2)让使用者只能通过事先预定的方法来访问数据,从而可以在该方法里面加入逻辑控制,限制对属性的不合理访问(3)可进行数据检查

2017-06-13 23:07:27 271

原创 每天学一点Swift----面向对象下(八)

十五.可选协议1. Swift还支持在协议中定义定义可选成员要求(包括属性、方法、下标,不包括构造器)----是可选成员要求,不是可选成员。可选成员要求的意思是:该协议的实现类型既可以实现这些协议成员,也可以不实现这些协议成员。2. 只要在协议成员前添加关键optional关键字即可定义可选协议。3. 由于协议的实现者可以不实现可选协议的要求,因此程序面向对象编程时

2017-06-12 23:06:10 485

原创 每天学一点Swift----面向对象下(七)

十一.使用协议作为类型1. 协议也相当于一种类型,与枚举、结构体、类相比,协议相当于一种抽象的类型,它被彻底抽象成只定义规范,不负责实现。因此定义协议之后,就可以像枚举、结构体、类那样当作类型来使用,只是协议不能直接用于创建实例,协议可以做如下方面的用途:(1)可使用协议声明变量(2)可使用协议作为函数、方法、构造器的形参类型、返回值类型(3)可使用协议作为is、as等运算符的

2017-06-11 19:28:51 481

原创 每天学一点Swift----面向对象下(六)

六.协议1. Swift协议作用完全类似于Objective-C的协议,用于定义多个类型应该遵守的规范。----本质和Java中的接口相同。2. 类是一种具体的实现体。而协议定义了一种规范,协议定义某一批类所需要遵守的规范,协议不关心这些类的内部状态数据,也不关心这些类里方法的具体实现细节。它只是规范这批类里必须提供某些方法,提供这些方法的类就可满足实际需求。3.

2017-06-10 21:19:06 270

原创 每天学一点Swift----面向对象下(五)

四.嵌套类型    1. Swift允许在一个类型的内部定义另一个类型,这种机制被称为嵌套类型。        2. 对比于Java,Swift的嵌套类型就类似于Java中的内部类。        3. Swift的枚举、结构体、类的内部都可以定义嵌套类型,被嵌套的类型也可以是枚举、结构体和类。Swift的嵌套类型支持多级嵌套,即嵌套类型还可以再包含嵌套类型。

2017-06-09 22:06:27 239

原创 每天学一点Swift----面向对象下(四)

三.多态    1. Swift引用变量有两个类型:一个编译时类型,一个是运行时类型。编译时类型由声明该变量时使用的类型决定,编译器只认每个变量的编译时类型;运行时类型由实际赋给该变量的实例决定。如果编译时类型和运行时类型不一致,就可能出现所谓的多态。        2. Swift中的多态和Java中的多态的概念是一样的,即:父类引用指向子类对象。        3. 多

2017-06-08 21:48:12 526

原创 每天学一点Swift----面向对象下(三)

二.类的构造和析构(续)    1. Swift中,子类不会自动继承父类的构造器,只有满足如下规则时,子类才会自动继承父类的构造器:    (1)规则1:如果子类没有提供任何指定构造器,那么它将自动继承父类的所有指定构造器    (2)规则2:如果子类实现了父类所有的指定构造器,无论是通过规则1继承实现的,还是通过程序编码实现的,它都将自动继承父类的所有便利构造器。

2017-06-07 21:29:37 344

原创 每天学一点Swift----面向对象下(二)

二.类的构造和析构    1. 通过集成后,子类中不仅有父类中的存储属性,还有子类自己的存储属性。子类中的所有存储属性都必须在构造器中设置初始值,因此类的构造过程会相对比较复杂。        2. 与构造器相反的是,Swift允许为类(枚举、结构体不允许)定义析构器:在实例临近销毁之前,系统会自动调用该实例的析构器(实例不允许主动调用自己的析构器)。Swift中析构器的本质就是一

2017-06-06 19:04:06 381

原创 每天学一点Swift----面向对象下(一)

1. 除了前面学习的关于枚举、结构体和类的基本语法外,Swift也很好地支持面向对象的三大特征:封装、继承和多态。(只有类才支持继承和多态)   2. Swift中的扩展和协议等也是重要的内容。Swift中的协议相当于Java语音中的接口的概念,协议体现了多个类必须遵守的规范。而且协议与委托是iOS开发的重要内容。       一.继承   1. Swift中继承同Java

2017-06-05 23:08:52 464

原创 每天学一点Swift----面向对象上(十二)

十四.构造器1. 构造器用于完成实例的构造过程。这个过程包括为实例中的每个存储属性设置初始值和执行必要的准备和初始化任务。2. Swift的构造器本质上就是一个或多个名为init的函数(不允许使用func关键字)3. 构造器的主要作用就是完成实例中每个类、结构体中实例存储属性(枚举不能定义实例存储属性)的初始化。为实例存储属性赋初始值有两个时机:定义实例存储属性时指

2017-06-04 20:17:03 290

原创 每天学一点Swift----面向对象上(十一)

十三.类型属性和类型方法   1. 通过前面的学习,已经知道Swift的类型中有5种成员:属性(存储属性和计算属性)、方法、下标、构造器和嵌套类型。而且属性和方法都可以分为两种:实例的属性/方法和 类型的属性/方法2. 值类型的属性:值类型包括枚举和结构体两种。值类型的属性用static关键字关键字修饰。--不管是存储属性还是计算属性。3. 枚举可以包含类型

2017-06-02 21:27:42 257

原创 每天学一点Swift----面向对象上(九)

十一.下标 1. 访问数组、字典时的方式就是下标的用法。  2. 所有的Swift类型(包括枚举、结构体、类)都支持定义下标。下标可以作为访问对象、集合或序列的简化方式。  3. 同一个类型可以定义多个下标,Swift允许通过下标的形参列表或返回值类型不同重载下标。  4. Swift中使用subscript关键字来定义下标,定义下标的语法为: subscrip

2017-05-31 21:19:34 251

原创 每天学一点Swift----面向对象上(八)

十.方法(续)11. 值类型可变的方法:默认情况下,结构体和枚举的实例方法不能改变该实例的存储属性。如果像让值类型的实例方法改变该实例的存储属性,程序需要用mutating将方法声明为可变方法。12. 可变方法甚至可以在方法体内对隐式的self重新赋值,这会使得新赋值的实例将在方法结束后替换原有的实例。13. 举个栗子:struct test {

2017-05-30 10:04:36 409

空空如也

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

TA关注的人

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