- 博客(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 6455
原创 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 16237
原创 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 3447
转载 如何设计出用户体验良好的登录/注册页面
对于开发者来说登录/注册页面是再熟悉不过的了,然而要想提供更好的登录/注册体验的话就需要一些技巧了。应用了下面这些小技巧的话,你的登录注册页面在实现基本功能的同时还能提供非常流畅的体验。 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 521
原创 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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人