自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 资源 (2)
  • 收藏
  • 关注

转载 C/C++学习札记1:C语言指针5分钟教程

指针、引用和取值    什么是指针?什么是内存地址?什么叫做指针的取值?    指针是一个存储计算机内存地址的变量。在这份教程里“引用”表示计算机内存地址。从指针指向的内存地址中读取数据称作指针的取值。    指针可以指向某些具体类型的变量的内存地址,例如 int、long 和 double。指针也可以是 void 类型、NULL 指针和未初始化指针。本文会对上述所有指针类型进

2012-10-09 14:03:15 1384

转载 Android学习札记53:详解Android中的进程间通信机制Binder系列文章(1)

在 Android 系统中,每一个应用程序都是由一些 Activity 和 Service 组成的,一般 Service 运行在独立的进程中,而 Activity 有可能运行在同一个进程中,也有可能运行在不同的进程中。那么,不在同一个进程的 Activity 或者 Service 是如何通信的呢?这就是本文中要介绍的 Binder 进程间通信机制了。    我们知道,Android 系

2012-09-04 10:56:57 1385

转载 Android学习札记52:广播(Broadcast)基础篇

什么是广播?    在 Android 中,Broadcast 是一种广泛运用的在应用程序之间传输信息的机制。我们拿广播电台来做个比方,我们平常使用收音机收音是这样的:许许多多不同的广播电台通过特定的频率来发送他们的内容,而我们用户只需要将频率调成和广播电台的一样就可以收听他们的内容了。Android 中的广播机制就和这个差不多的道理。        ① 电台发送的内容是语音,而在

2012-09-04 09:47:55 1560

转载 Java学习札记20:Java程序员集合框架面试题

Java 集合框架是最常被问到的 Java 面试问题,要理解 Java 技术强大特性,就有必要掌握集合框架。这里有一些实用问题,常在 Java 面试中问到。1、 什么是 Java 集合 APIJava 集合框架 API 是用来表示和操作集合的统一框架,它包含接口、实现类、以及帮助程序员完成一些编程的算法。简言之,API 在上层完成以下几件事:    ● 编程更加省力,提

2012-09-03 17:43:15 1097

转载 Android学习札记51:在TextView显示插入的图片

Android 系统默认给 TextView 插入图片提供了三种方式:    1、ImageSpan    2、Html.ImageGetter    3、TextView.setCompoundDrawables(left, top, right, bottom)1、在 TextView 使用 ImageSpan 显示图片ImageSpan span

2012-09-03 17:19:24 1832

转载 Java学习札记19:详解Java中的Pattern和Matcher

现在 JDK 1.4 里终于有了自己的正则表达式 API 包,JAVA 程序员可以免去找第三方提供的正则表达式库的周折了,我们现在就马上来了解一下这个 SUN 提供的迟来恩物--对我来说确实如此。1、简介java.util.regex 是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。它包括两个类:Pattern 和 MatcherPat

2012-09-03 16:41:05 2290

转载 Android学习札记50:在Android中自定义捕获Application全局异常

大家都知道,现在安装 Android 系统的手机和设备千差万别,在模拟器上运行良好的程序安装到某款手机上说不定就出现崩溃的现象,开发者个人不可能购买所有设备逐个调试,所以在程序发布出去之后,如果出现了崩溃现象,开发者应该及时获取在该设备上导致崩溃的信息,这对于下一个版本的 BUG 修复帮助极大,所以今天就来介绍一下如何在程序崩溃的情况下收集相关的设备参数信息和具体的异常信息,并发送这些信息到服务器

2012-09-03 14:34:16 3217

转载 Android学习札记49:在Android中使用Application保存全局变量

最近在项目中,遇到了 Application 这个类,开始不知道有什么用,经过学习后才知道它的用途也蛮大的,举个例子,如果想在整个应用中使用全局变量,在 Java 中一般是使用静态变量,public类型;而在 Android 中如果使用这样的全局变量就不符合 Android 的框架架构,但是可以使用一种更优雅的方式,就是使用 Application Context。我们先来看看一下这段

2012-09-01 11:19:54 1512

转载 Android学习札记48:将TextView中的指定文字转换为表情显示

import android.content.Context; import android.text.Spannable; import android.text.SpannableStringBuilder; import android.text.style.ImageSpan; import android.util.Log; import java.util.Hash

2012-08-23 00:47:20 1708

转载 Android学习札记47:TextView显示Html类解析的网页和图片及自定义标签

1、TextView 显示 Html 类解析的网页CharSequence richText = Html.fromHtml("萝卜白菜的博客--http://orgcent.com");mTVText.setText(richText);// 此行必须,否则超链接无法点击,ScrollingMovementMethod 实现滚动条mTVText.setMovementMethod

2012-08-22 23:50:41 2499

转载 Android学习札记46:在TextView使用SpannableString设置复合文本

TextView 通常用来显示普通文本,但是有时候需要对其中某些文本进行样式、事件方面的设置。Android 系统通过 SpannableString 类来对指定文本进行相关处理,具体有以下功能:    1、BackgroundColorSpan 背景色     2、ClickableSpan 文本可点击,有点击事件    3、ForegroundColorSpan 文本颜色(前景色)

2012-08-22 22:15:45 2149

原创 Android学习札记45:在TextView中设置超链接

1、实现文本超链接/*** 设置超链接* 在 layout /*.xml 中设置 TextView 属性 android:autoLink="all" 即可* 支持:web/phone/email/map/all/none*/hyperlinkTextView = (TextView)findViewById(R.id.hyperlinkTextView);hyperlinkTex

2012-08-22 21:15:05 1592

转载 Java学习札记18:Java 处理 XML 的三种主流技术及介绍

简介: XML (eXtensible Markup Language) 意为可扩展标记语言,它已经是软件开发行业中大多数程序员和厂商用以选择作为数据传输的载体。本文作者对于 Java 处理 XML 的几种主流技术进行一些总结和介绍,希望帮助那些有不同需求的开发人员对于 XML 处理技术的作出最优的选择。最初,XML 语言仅仅是意图用来作为 HTML 语言的替代品而出现的,但是随着

2012-08-21 20:56:58 564

转载 Java学习札记17:理解 ThreadLocal

ThreadLocal 是什么?早在 JDK 1.2 的版本中就提供 java.lang.ThreadLocal,ThreadLocal 为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal 很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal 并不是一个 Thread,而是 Th

2012-08-21 00:55:59 685

原创 Java学习札记16:浅析 Thread 类中的 start() 和 run() 方法

PART 11、start(): 用 start() 方法来启动线程,真正实现了多线程运行,这时无需等待 run() 方法中的代码执行完毕而直接继续执行下面的代码。通过调用 Thread 类的 start() 方法来启动一个线程,这时此线程处于就绪(可运行)状态,并没有运行,一旦得到 CPU 时间片,就开始执行 run() 方法,这里的方法 run() 称为线程体,它包含了要执行的

2012-08-20 22:25:58 960

转载 Java学习札记15:Java程序员面试中的多线程问题

很多核心 Java 面试题来源于多线程(Multi-Threading)和集合框架(Collections Framework),理解核心线程概念时,娴熟的实际经验是必需的。这篇文章收集了 Java 线程方面一些典型的问题,这些问题经常被高级工程师所问到。0、Java 中多线程同步是什么?在多线程程序下,同步能控制对共享资源的访问。如果没有同步,当一个 Java 线程在修改

2012-08-20 21:08:47 973

原创 Android学习札记44:解读APK反编译后得到的布局文件

通常情况下,我们使用 dex2jar 工具反编译 Android APK文件之后,会得到如下这些文件:其中,res 文件夹下都是我们在 Android 工程下常见的资源文件:如果我们对这个应用犀利美观的布局很感兴趣的话,可以进一步反编译它的布局文件:可以看到,这些布局文件都是 .xml 文件,默认情况下打开之后都是乱码,下图是用 Notepad++ 打开之后的效果:

2012-08-09 17:53:37 6781 2

转载 Android学习札记43:TraceView实战篇

本篇文章中记录了使用 TraceView 对 ListView 进行性能优化的完整过程首先啥都不做:public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub LinearLayout layout = (LinearLayo

2012-08-08 22:05:16 1001

转载 Java学习札记14:一个比较String、StringBuffer和StringBuilder之间效率差别的简单例子

String:定长的字符串,它的内容是不可以改变的,正因为如此,编译器可以让字符串共享。StringBuffer:可变长的字符串缓冲区,多线程操作是安全的,并且在字符串连接操作上提供了性能和效率都优于 String类 的 "+" 的 append() 方法。因此,如果需要大量的频繁的进行字符连接操作时,优先采用StringBuffer 的 append() 方法。如果只是简单的字符串连

2012-08-08 20:37:01 984

原创 Java学习札记13:浅析Java中的String、StringBuffer和StringBuilder的区别

String:字符串常量StringBuffer:字符串变量(线程安全)StringBuilder:字符串变量(非线程安全)PART 1简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于:1、String 是字符串常量,也就是不可变的对象,因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的

2012-08-06 21:25:38 610

转载 Java学习札记12:Java中的StringBuilder类功能详解

字符串是 Java 程序中最常用的一种数据结构之一。在 Java 中的 String 类已经重载的"+"。也就是说,字符串可以直接使用"+"进行连接,如下面代码所示:String s = "abc" + "ddd"; 但这样做真的好吗?当然,这个问题不能简单地回答 Yes or No。要根据具体情况来定。在 Java 中提供了一个StringBuilder 类(这个类只在 J2SE5 及以

2012-08-06 14:20:26 621

原创 Android学习札记42:TraceView基础篇

1、TraceView 的简介TraceView 是 AndroidSDK 里面自带的工具,用于对 Android 的应用程序以及 Framework 层的代码进行性能分析。TraceView 是图形化的工具,它最终会产生一个图表,用于对性能分析进行说明,可以跟踪到具体的 method。2、TraceView 的原理TraceView 通过修改 code ,在需要调试的起始位置

2012-08-05 23:56:51 9936

转载 Android学习札记41:你真的有必要退出吗?——再说Android程序的退出功能

搞 Android 开发有一段时间了,相信很多从 Windows 开发过来的 Android 程序员都习惯性地会跟我一样遇到过同一个问题:如何彻底退出程序?这里说下我自己的经验,并不权威,仅供参考。    一开始我也上网到处找退出的资料,网上这方面的文章也是很多,总结下来退出Android程序的方法大概有以下几种:    1、直接调 System.exit(0) 或

2012-08-02 09:54:02 747

转载 Android学习札记40:关于安全退出已创建多个Activity的应用(3)

在一个项目中,要退出 Android 程序,试了 restartPackage、 killBackgroundProcesses 、通过异常并在Application 的子类中重新注册 Thread 的 Thread.UncaughtExceptionHandler 接口+异常方式,等等,都没有效果。最后发现其实只要在从一个 Activity A 跳到另一个 Activity B 时,

2012-08-01 14:35:56 1078

转载 Android学习札记39:关于安全退出已创建多个Activity的应用(2)

谷歌百度一下,Android 中退出多个 Activity 的方法,大家讨论的很多。在实习的时候,看到公司的项目退出多个 Activity,是采用 LinkedList 方法,毕业设计的时候,也参照了那种方法。完成之时,无意在网上看到的可以使用广播机制退出Activity。看了一部分人的博客、文章等教程,发现也是摘抄的“很随便”,说的不详细,或不能实现。看了他们的意思,写了

2012-08-01 10:35:49 777

转载 Android学习札记38:关于安全退出已创建多个Activity的应用(1)

最初看到这个问题,是在一道面试题上。 不同与其他面试题,我觉得这道题很具有实际意义。所以先实际操作下,解决这个问题。 在此,我也啰嗦一下,大概说说解决这个问题的几种方案: 1、借助系统的 API 首先,2.2 以前和 2.2 以后采用的方法是不同的。但都是针对系统级别的东西进行操作。从进程和包的角度来达到此效果。 所以需要添加授权,但是遗憾的是,这些方法涉及底层,而且在

2012-08-01 10:00:49 751

转载 Android学习札记37:onSaveInstanceState () and onRestoreInstanceState ()

问题出处:http://stackoverflow.com/questions/4096169/onsaveinstancestate-and-onrestoreinstancestate

2012-07-31 17:51:30 661

转载 Android学习札记36:一个关于onSaveInstanceState ()方法的例子

package cn.com.sxp;import android.app.Activity;import android.os.Bundle;import android.util.Log;public class OnrestoreActivity extends Activity { private static final String TAG = OnrestoreActi

2012-07-31 17:34:17 870

原创 Android学习札记35:onSaveInstanceState (Bundle outState)方法

PART 1:首先看下官方文档的解释:稍微翻一下:在 Activity 被销毁之前被调用来保存每个实例的状态,这样就可以保证该状态能够从 onCreate(Bundle) 或者onRestoreInstanceState(Bundle)恢复过来。本方法在 Activity 可能被销毁前调用,这样当该 Activity 在将来某个时刻重新回来时

2012-07-31 16:43:01 2422 1

原创 Java学习札记11:What is serialVersionUID?

Most people learn about serialVersionUID after they write their first serializable object (I know I did). You add ‘implements Serializable’ and in the next moment your IDE starts complaining… so wha

2012-07-27 10:28:15 656

原创 Java学习札记10:Why generate long serialVersionUID instead of a simple 1L?

一些答案:1、The idea behind using 1L is so that you increment it every time you change the class properties or methods.2、The "long" default of the serialVersionUID is the default value as defin

2012-07-26 21:36:07 1153

转载 Java学习札记9:Understand The SerialVersionUID

If you ever implemented Serializable interface, you must encounter this warning messageThe serializable class xxx does not declare a static final serialVersionUID field of type longSo…What

2012-07-26 18:01:29 887

原创 Java学习札记8:Executor框架

在 Java 5.0 之前,启动一个任务是通过调用 Thread 类的 start() 方法来实现的,任务的提交和执行是同时进行的(任务提交之后会立即执行),如果你想对任务的执行进行调度或是控制同时执行的线程数量就需要额外编写代码来完成。在 Java 5.0 中提供了一个新的任务执行架构使你可以轻松地调度和控制任务的执行,并且可以建立一个类似数据库连接池的线程池来执行任务。这个架构主要

2012-07-25 17:29:27 856

转载 Java学习札记7:线程池与工作队列

作者:Brian Goetz, 首席顾问, Quiotix Corp简介: 贴在我们多线程 Java 编程论坛上最常见的问题之一是“怎样创建线程池?”。几乎在每个服务器应用程序中都会出现线程池和工作队列问题。本文中,Brian Goetz 探讨了线程池的动机、一些基本实现和调优技术以及一些要避免的常见危险。为什么要用线程池?诸如 Web 服务器、数据库服务器、文件服务器

2012-07-25 15:04:18 919

原创 Java学习札记6:Thread 和 Runnable 的联系和区别(2)

An application that creates an instance of Thread must provide the code that will run in that thread. There are two ways to do this:Provide a Runnable object    The Runnable interface defines

2012-07-24 20:07:52 646

转载 Streaming vs. progressive download: Understanding the difference

One of the most frequently asked questions about delivering video online is – “What’s the difference between streaming video and progressive download?” As a user clicking a video link on a website,

2012-07-24 17:54:30 914

转载 Android学习札记34:看到的一种对Activity间使用Parcel传递数据的解释

Parcel,翻译过来就是“打包”的意思。打包干什么呢?是为了序列化。如果要在进程之间传递一个整数,很简单,直接传就行了;如果要传递一个字符串,就稍微复杂了点:需先分配一块可以容纳字符串的内存,然后将字符串复制到内存中,再传递。新手可能问:为啥不直接把字符串的引用传过去呢?学过C/C++的地球人都知道,进程都有自己的内存地址空间,一个进程中的1000地址可能在另一个进程中是

2012-07-24 17:08:08 690

转载 六道面试硅谷工程师的变态题目

这题目很变态吗,我好像看过更变态一些的。1、这是来自Adobe公司的一道题目:一辆加满油的摩托车可以骑100千米,如果你有50辆这样的摩托车,你能骑多远?答案:这取决于你如何使用油箱里的油。最简单的回答是让这些摩托车同时发动,所有的摩托就能同时走完这100千米。然而,还有另外一种答案:将这50辆车全部发动,在骑到50千米的时候将25辆摩托车的汽油加到剩余的摩

2012-07-23 21:11:07 1545

转载 Android学习札记33:对ActivityGroup源代码的一些分析

在Android中,提供了一个ActivityGroup类,该类是Activity的容器,可以包含多个嵌套进来的Activity,我们接下来将采用源码分析的方式来了解该类的内部实现。    首先,从SDK中和源码中都可以获知,ActivityGroup类的父类是Activity,也就是说二者具有相同的接口和生命周期,同Activity一样,也有onCreate()、onPause()等函数可供

2012-07-23 20:04:06 1015

原创 Android学习札记32:SurfaceView和View的联系和区别

在网上看到的一些解释:    SurfaceView:基于View进行拓展的视图类,是View类的子类,可以直接从内存或者DMA等硬件接口取得图像数据,是个非常重要的绘图视图。它的特性是:可以在主线程之外的线程中向屏幕上绘图。这样可以避免绘图任务繁重的时候造成主线程阻塞,从而提高了程序的反应速度。在游戏开发中多用到SurfaceView,游戏中的背景、人物、动画等尽量在Canvas画布中画出。

2012-07-23 17:10:16 679

Android中滑动开关的实现

高仿iOS中的开关控件,Android中滑动开关的实现。

2012-03-08

LinkedHashMap

LinkedHashMap源代码,Java中Map的一种实现子类。

2012-01-05

空空如也

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

TA关注的人

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