自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Android

希望有天成功在望

  • 博客(49)
  • 资源 (1)
  • 收藏
  • 关注

原创 自定义Toast及定时器实现点击两次退出

public class MainActivity extends Activity { private static boolean isQuit = false; Timer timer = new Timer(); @Override protected void onCreate(Bundle savedInstanceSt

2016-08-31 19:21:30 375

原创 Intent七大属性

1, Intent的作用        包装Android的组件        启动Activity, 启动服务, 发送广播        组件之间的传值 2, Intent  "显示"意图 明确指定了要跳转的Activity  (通常用于应用程序内容组件的跳转)  "隐式"意图 不明确指定要跳转的Activity ,而是通过Intent来描述动作(跨应用程序之间的

2016-08-29 19:36:27 532

原创 Activity启动模式

1, 在清单文件中标签内部, 设置属性 android:launceMode=""    支持四种属性:        standard   标准模式, 默认的启动方式        singleTop  栈顶单例模式        singleTask 栈中单例模式        singleInstance  全局单例模式    作用:  内存的优化, 用户的体验

2016-08-29 18:50:29 361

原创 JS中的event对象

Event对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。它是事件绑定中的一个隐藏参数,即实参,可以使用arguments[0]来获取。但是这样比较麻烦,所以我们采取传递一个形参来获取它。例如:var e = event || window.event;考虑到兼容性。三个属性:event.offsetX:鼠标相对于点击元素左边的水平距离位置

2016-08-27 17:23:26 6263

原创 Activity的生命周期及传值

Activity的生命周期  (7个)    从创建到销毁的过程:  onCreate() 第一次创建时执行 初始化Activity  onStart() 显示窗口时执行          显示Activity  onResume()      用户获取焦点时执行 与用户交互  onPause()       用户失去焦点时执行 停止与用户交换  onSto

2016-08-27 15:14:09 594

原创 控件——Spinner

属性: android:spinnerMode = ""  下拉菜单的展示方式 属性值:  dropdown  下拉方式(默认的)       dialog     对话框方式 如果下拉方式是dialog: 那么可以指定标题 android:prompt="@string/title" (只能引用,不能直接写文字) android:entries="@array

2016-08-27 13:51:35 436

转载 程序员必读:一个码农在硅谷的悲惨故事

这是一个悲惨的故事。一个硅谷码农被创业公司炒了鱿鱼,因为他开发的应用有太多Bug。还能比这更惨一点吗?能的。这个码农不但丢了工作,还被公司在苹果应用商店公开指责。人生已经如此的艰难,有些事情为什么还要拆穿?码农彼得因为程序太多Bug,被开除这个可怜的码农叫彼得(Peter),这个残忍的创业公司叫Medium,这个悲催的事发生在上周。博客平台Medium在苹果应用商店更新应用,介绍描述是

2016-08-26 09:42:38 692

转载 简约而不简单,谈一谈移动开发中的那些极简设计

设 计是一件用户驱动很强的工作。随着用户越来越偏好更简洁的交互界面,如何剔除多余的元素,保留最基础最重要的元素是极简设计的关键。极简设计形式和功能完 美结合。它最大的优点是极简的表现形式,简洁的线条,大方的留白,简约的图形化元素,就算是很复杂的内容,在这样的设计下也会显得很简洁和干练。当然,如 果能有效的利用这些元素。极 简设计必须要 简洁明了和一致的可用性 。你的交互系统应该通过 清晰的视觉

2016-08-24 09:29:22 974

原创 JSON数据解析(三)——FastJson

FastJson是阿里巴巴的JSON处理工具包。在使用过程中要求javabean 必须要包含一个无参的构造方法,有标准的get*** , set****方法,当然 在使用之前先导入jar包。public class FastDemo { public static void main(String[] args) { String str = "{no:1,name:'androi

2016-08-20 15:05:54 415

原创 JSON数据解析(二)——GSON

GSON谷歌提供的一种解析JSON的开元框架,在使用的过程中javabean 中的 属性名称必须与解析的json字符串中的 "键/名字" 一直, 否则该属性解析不出来当然在使用之前需要 导包。  实例:public class GSONDEMO { public static void main(String[] args) { String s = "{name:zhangsan,

2016-08-20 14:56:42 557

原创 JSON数据解析(一)——原生方法

public class JSONDEMO { public static void main(String[] args) throws JSONException { String str = "{person:[{name:'zhangsan',age:20},{name:'lisi',age:2},{name:'wangwu',age:3}]}"; List l = new Ar

2016-08-20 11:46:08 4316 2

原创 HttpClient下载图片和向服务器提交数据实例

GET方法使用 HttpClient 需要以下 6 个步骤:1. 创建 HttpClient 的实例2. 创建某种连接方法的实例,在这里是GetMethod。在 GetMethod 的构造函数中传入待连接的地址3. 调用第一步中创建好的实例的 execute 方法来执行第二步中创建好的 method 实例4. 读 response5. 释放连接。无论执行方法是否成功,都必须

2016-08-18 20:51:09 6454

原创 PULL解析XML文件

PULL解析XML文件的步骤:1,  导包 2,  创建pull解析器工厂 3,  创建解析器对象 4,  设置解析的数据源(要解析的内容) 5,   获取事件的类型(int)   6,  循环解析, 直到文档解析完成解析实例:XML文件: 1 zhangsan 20 male 2 lisi 21 female

2016-08-18 20:15:42 390

原创 SAX解析XML文件

XML是可扩展标记语言,可以使用SAX或者PULL解析。今天所写的是使用SAX解析XML文件。 SAX是Simple API for XML的缩写,几乎所有的XML解析器都会支持它。使用SAX解析的步骤:1, 创建SAX 解析器的工厂 2, 通过解析器工厂 创建 SAX解析器 3, 自定义解析的处理器  MyHandler 继承 DefaultHandler类 4, 解析xml

2016-08-18 19:59:32 404

原创 OkHttp GET 和 POST 的使用

1 OkHttp 介绍Android 开发,不可避免的会用到网络技术,而多数情况下,我们都是使用 HTTP 协议来发送和接收网络数据。Android 系统主要提供两种方式来进行 HTTP 通信,HttpURLConnection 和 HttpClient,但是从 Android 2.3 及以后版本中,Google 推荐使用 HttpURLConnection,究其原因,就是由于 HttpCli

2016-08-17 20:55:17 16236

原创 HttpURLConnection的get和post请求实例

get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet, public class DemoConnection02 { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { String pa

2016-08-17 20:46:08 3446

转载 如何设计出用户体验良好的登录/注册页面

对于开发者来说登录/注册页面是再熟悉不过的了,然而要想提供更好的登录/注册体验的话就需要一些技巧了。应用了下面这些小技巧的话,你的登录注册页面在实现基本功能的同时还能提供非常流畅的体验。 1、不要将”Sign In ”和”Sign Up”放在一起看看下面这张图片,你需要花多长时间来区分”sign up”和”sign in”呢?相信读者已经发现问题所在了。”Sign In

2016-08-17 08:49:53 5216

原创 Java中的I/O流

IO  与输入/输出有关的类和接口    分类:  方向(输入/输出)    从程序外部传向程序的流     从程序传到外部的流    单位 (字节/字符)     字节流是以字节为传输单位的数据读写形式,用于直接读取二进制数据,如图像和声音文件等.InputStream和OutputStream分别为面向字节的输入流类的父类和 输出流类

2016-08-16 20:40:42 318

原创 JS中style、currentStyle、getComputedStyle的区别

在说到它们之间的区别时,我们首先说说层叠样式表的是三种形式:1,内联样式:在HTML标签用style属性设置    例如:内联样式2.嵌入样式 :通过标签内通过标签设置p {color:#456}3. 外部样式:通过标签设置p{{color:#456};区别:使用style只能获取元素的内联样式,内部样式和外部样式使用style是获取不到的。

2016-08-15 19:49:31 1067

转载 HTML5中新标签解释与用法

HTML 5 是一个新的网络标准,目标在于取代现有的 HTML 4.01, XHTML 1.0 and DOM Level 2 HTML 标准。它希望能够减少浏览器对于需要插件的丰富性网络应用服务(plug-in-based rich internet application,RIA),如Adobe Flash, Microsoft Silverlight, 与 Sun JavaFX 的需求。

2016-08-15 17:38:40 520

原创 JS的BOM对象

BOM对象就是Browse Object Model。Window对象的方法alert(“”) 显示带有一段消息和一个确认按钮的警告框。 confirm(“”) 显示带有一段消息以及确认按钮和取消按钮的对话框。 prompt(“”) 显示可提示用户输入的对话框。 open(“url”,”name”) 打开一个新的浏览器窗口或查找一个已命名的窗口。showModalD

2016-08-14 14:48:48 321

原创 javascript中setTimeout()和setInterval()的区别

setTimeout() : 用于在指定的毫秒数后调用函数或计算表达式;  按照指定的周期(以毫秒计)来调用函数或计算表达式. 会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭; 两个函数的区别在于它们的执行次数不一样, setTimeout()只执行一次;而setInterval()无限次循环执行。    使用clearTimeout(t);和clearInte

2016-08-13 20:27:54 838

转载 相似图片搜索的原理

你可以用一张图片,搜索互联网上所有与它相似的图片。点击搜索框中照相机的图标。一个对话框会出现。你输入网片的网址,或者直接上传图片,Google就会找出与其相似的图片。下面这张图片是美国女演员Alyson Hannigan。上传后,Google返回如下结果:类似的"相似图片搜索引擎"还有不少,TinEye甚至可以找出照片的拍摄背景。

2016-08-13 17:22:39 278

原创 JS实现简单的显示时间

通过JS实现在页面中显示当前的时间和显示停留在页面的时间。 function time() { var date = new Date(); var year = date.getFullYear(); var month = date.getMonth(); var day = date.getDate(); var house = date.get

2016-08-13 16:35:45 3994

原创 String类,Stringbuilder类,Stringbuffer类之间的区别

String 类型最大的特点是 String 是不可变的对象,因此我们每次对String进行操作,都是生成一个新的 String 对象,然后指针指向新生成的String对象,所以面对那些需要经常修改的字符串不要使用String类,因为每次生成对象都影响系统的性能,特别当内存中无引用对象多了以后, JVM 的 GC 就会开始工作,那速度是一定会相当慢的。如果使用StringBuffer类,则每次修改

2016-08-13 11:47:00 1226

转载 HashMap和Hashtable的实现原理

HashMap和Hashtable的底层实现都是数组+链表结构实现的,这点上完全一致添加、删除、获取元素时都是先计算hash,根据hash和table.length计算index也就是table数组的下标,然后进行相应操作,下面以HashMap为例说明下它的简单实现 /** * HashMap的默认初始容量 必须为2的n次幂 */ static fin

2016-08-13 10:45:00 3924

原创 HashMap和Hashtable的区别

1.两者最主要的区别在于Hashtable是线程安全,而HashMap则非线程安全Hashtable的实现方法里面都添加了synchronized关键字来确保线程同步,因此相对而言HashMap性能会高一些,我们平时使用时若无特殊需求建议使用HashMap,在多线程环境下若使用HashMap需要使用Collections.synchronizedMap()方法来获取一个线程安全的集合。2.

2016-08-13 10:36:48 7017

原创 Java中String类为什么定义为final

String类用final定义,表示这个类不可被修改。当我们用String定义一个“aaa”时,在再定义一个“aaabbb”时,不是在原来的内存地址中修改”aaa为“aaabbb“的,是在另外的地址上存入“aaabbb”的。个人认为,将String类定义为final,最主要的原因是保证安全。例如执行下面的程序:public class Test1 { public static void

2016-08-13 10:07:33 2968

原创 CSS3多列布局——columns用法

为了能在Web页面中方便实现类似报纸、杂志那种多列排版的布局,W3C特意给CSS3增加了一个多列布局模块(CSS Multi Column Layout Module)。它主要应用在文本的多列布局方面,这种布局在报纸和杂志上都使用了几十年了,但要在Web页面上实现这样的效果还是有相当大的难度,庆幸的是,CSS3的多列布局可以轻松实现。实例: .no1 {

2016-08-12 21:00:05 1796

原创 Java中的接口回调

经典问题:小李遇到一个1+1的问题,发现解决不了,于是给小王打电话 问问题,小王说  我先玩会,玩完了再说吧。使用接口回调解决:public class Li { Wang wang; public Li(Wang wang) { super(); this.wang = wang; } public void call(String question) { wang.

2016-08-12 20:30:20 298

原创 Java中的反射

反射就是把Java类中的各种成分映射成一个个的java对象。例如,一个类有:成员变量,方法,构造方法,包等等信息,利用反射技术可以对一个类进行解剖,把各个组成部分映射成一个个对象。反射常用的Java 类型◦Class类—可获取类和类的成员信息◦Field类—可访问类的属性 ◦Method类—可调用类的方法◦Constructor类—可调用类的构造方法使用反射

2016-08-12 19:27:39 239

原创 CSS3属性(3):nth-child()属性

在进行选择时,我们会经常用到nth-child()属性,使用此属性,可以实现对一个或者多个的选择。 1 2 3 4 5 6 7 8 css:li:nth-child(4){ color: crimson; }结果:当css为:li:nth-child(2n+1){ color

2016-08-10 20:23:45 2148

原创 Java多线程下模拟文件下载

将一个文件分为四个部分,采用多线程模拟下载。public class Test3Download { public static void main(String[] args) { int fileLength = 0; // 1 创建文件对象 File file = new File("C:\\123.mp4"); // 2 拿到文件的长度 if (file.exis

2016-08-10 19:42:17 1134

原创 Java多线程下的生产者消费者模式

用多线程的生产者消费者模式实现工厂的面包运到超市,顾客去超市购买,超市每次最大存储6个面包。public class Test1Consumer { public static void main(String[] args) { Supermarkt s = new Supermarkt(); Factory f = new Factory(s); Consumer c =

2016-08-10 19:39:26 996

原创 Java线程问题实现打印数字字母

.写两个线程,一个线程打印1-52,另一个线程答应字母A-Z。打印顺序为12A34B56C……5152Z。通过使用线程之间的通信协调关系。public class Test1 { public static void main(String[] args) { Print print = new Print(); Num n = new Num(print); Alphabet

2016-08-10 19:34:04 1371

原创 Java中的死锁问题

死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。简而言之,一个线程锁住了资源a ,还要使用资源b,另外一个线程  锁住了资源b ,还想着得到资源a,当两者互不相让,就形成了死锁。死锁形成的条件:1)互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其它进程请求资

2016-08-10 19:30:01 870 1

原创 多线程下的懒汉式单例模式

在多线程下实现懒汉式单例模式是不安全的,所谓的不安全,就是在同一时间段有两个线程同时执行一段代码。解决方法包括将懒汉式改为饿汉式或者让线程同步。下面代码实现线程的同步,保证多线程下的懒汉式单例是安全的。public class LazyInstance { public static void main(String[] args) { Threadlazy t = new Threa

2016-08-10 19:21:22 1155

原创 Java中的多线程

1  进程是一个独立的程序2  线程  是程序中的一条执行路径3  多线程   多个线程同时执行     每一个线程执行的任务叫做线程任务4  真正来说 cpu 不是同时执行的多个线程,而是每一个线程都有可能抢占到cpu的时间片段5  cpu执行时间是随机(多线程执行时随机的)6 多线程的特点:随机的宏观意义上时同步的 ,微观意义上是一个一个执行的多核除外7 线

2016-08-10 19:08:03 292

原创 数组排序-快速排序

public class QuickSort { public static void main(String[] args) { int a[] = { 3, 6, 1, 8, 0, 5 }; quick(a); for (int i = 0; i < a.length; i++) System.out.print(a[i] + " "); } public stati

2016-08-08 20:47:44 353

原创 利用canvas实现弹力球效果

var ball = {x:612,y:100,r:20,g:2,vx:-4,vy:0,color:"#005588"}window.onload = function(){ var canvas = document.getElementById("canvas"); canvas.width = 1024; canvas.height = 768; var context = can

2016-08-07 22:55:29 2001 5

android图片缩放

跟随手势实现图片缩放

2017-06-14

空空如也

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

TA关注的人

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