- 博客(41)
- 资源 (13)
- 收藏
- 关注
转载 获取未安装的APK图标
001package lab.sodino.fetchapkicon; 002 003import java.io.File; 004import java.lang.reflect.Constructor; 005imp
2012-04-23 23:39:36
958
转载 java 线程wait()与notify()的用法(被唤醒后的线程到底重新执行同步代码块还是从那是等待的那里继续执行)
我们先来看看这两个方法的定义: wait() 导致当前线程等待,直到其他线程调用此对象的 notify()方法或 notifyAll()方法前,导致当前线程等待。 notify() 唤醒在此同步监视器上等待的单个线程,如果有多个线程在此同步监视器上等待,则会唤醒其中的一个, 现在假设系统有以一种特殊的要求,系统要求存款者和取款者不断的重复存钱,取钱动作,而且
2012-03-19 23:36:48
9227
6
转载 Java编程语言中notify和wait的具体应用
Java编程语言在应用的时候需要我们不断的进行相关知识的学习,首先我们先要理解notify()和wait(),只有理解了这个语句才能更好的进行相关的应用。希望大家有所收获。 为什么在前几天纪录线程的时候没有纪录这两个方法呢,因为这两个方法本来就不属于Thread类,而是属于最底层的object基础类的,也就是说不光是Thread,每个对象都有notify和wait的功能,为什么?因为
2012-03-19 23:34:31
795
转载 浅析Java中CountDownLatch用法
CountDownLatch如其所写,是一个倒计数的锁存器,当计数减至0时触发特定的事件。利用这种特性,可以让主线程等待子线程的结束。下面以一个模拟运动员比赛的例子加以说明。import java.util.concurrent.CountDownLatch; import java.util.concurrent.Executor; import java.util.concur
2012-03-17 17:39:37
714
转载 线程--CyclicBarrier
本例介绍第三个同步装置:CyclicBarrier,它维护一个计数器,与CountDownLatch不同的是,等待这个CyclicBarrier的线程必须等到计数器到达某个值时,才可以继续。CyclicBarrier就像它名字的意思一样,可看成是个障碍,所有的线程必须到齐后才能一起通过这个障碍。本例实现一个数组相邻元素的加法,一个线程给数组的第一个元素赋值,然后等待其他线程给数组第二个元素赋值,然
2012-03-17 17:24:56
441
转载 java实现信号量
本文介绍的Semaphore实现基于synchronized,wait()和notify/notifyAll(),这是java并发包之前的典型实现方式.在eclipse的源码中可以找到不少这样的案例,下文中也会把eclipse中的几个实现类作为案例以分析之. 注,这里介绍的信号量实现是基于java语言机制,用于实现多线程间的同步操作,所以对S,P(S),V(S)等概念的介绍将结合本
2012-03-17 11:01:14
772
转载 Android存储空间不足
“存储空间不足”data过小的通知分析DeviceStorageMonitorService类位置DeviceStorageMonitorService.java (frameworks\base\services\java\com\android\server\)一. 三个关键变量:private static final int DEFAULT_THRESHOLD_PERCEN
2012-02-07 23:52:47
10394
转载 Git 中文教程
介绍Git --- The stupid content tracker, 傻瓜内容跟踪器。Linus 是这样给我们介绍 Git 的。 Git 是用于 Linux 内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel
2011-11-15 23:25:11
529
转载 Java回调机制实现
Java的接口支持提供了一种获得回调的等价功能的机制。其技巧是:定义一个简单的接口,并在该接口中声明我们要调用的方法。其特点是:一个实例持有一个接口的引用例如,假设我们希望在某个时间发生时得到通知。我们可以定义一个接口:Java代码 package com.wxy.callback; public interface InterestingEvent { /
2011-11-09 23:18:36
507
转载 Java回调方式:Java Listener模式
每种语言都有自己回调的方法,java也不例外。本文介绍Java Listener模式 。 以上是java的MVC框架下最精彩的一段代码.下面是model的工作例子: 1 //测试model 2 public static void main(String[] args) { 3 Model model = new Model(); 4 /
2011-11-09 23:17:44
579
转载 [转]java回调机制
回调概念: 软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用;回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口;异步调用是一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客
2011-11-09 23:16:20
346
转载 详解 Android 的 Activity 组件
详解 Android 的 Activity 组件 Activity 的生命周期和 J2ME 的 MIDlet 一样,在 android 中,Activity 的生命周期交给系统统一管理。与 MIDlet 不同的是安装在 android 中的所有的 Activity 都是平等的。Activity 的状态及状态间的转换 在 android 中,Activity 拥有四种基本状态
2011-11-09 23:14:31
522
转载 Builder Pattern
MotivationThe more complex an application is the complexity of classes and objects used increases. Complex objects are made of parts produced by other objects that need special care when being built
2011-11-09 00:07:26
658
转载 Abstract Factory
MotivationModularization is a big issue in today's programming. Programmers all over the world are trying to avoid the idea of adding code to existing classes in order to make them support encapsula
2011-11-09 00:06:57
588
转载 Factory Method Pattern
MotivationAlso known as Virtual Constructor, the Factory Method is related to the idea on which libraries work: a library uses abstract classes for defining and maintaining relations between objects
2011-11-09 00:06:34
536
转载 Factory Pattern
MotivationThe Factory Design Pattern is probably the most used design pattern in modern programming languages like Java and C#. It comes in different variants and implementations. If you are searchi
2011-11-09 00:05:59
1173
转载 Singleton Pattern
MotivationSometimes it's important to have only one instance for a class. For example, in a system there should be only one window manager (or only a file system or only a print spooler). Usually si
2011-11-09 00:05:07
715
转载 Android Looper和Handler分析
第一次接触android应用程序(这里指的是JAVA层的UI程序,也难怪了,Google放出的API就只支持JAVA应用程序了),很难搞明白内部是如何实现的。但是,从原理上分析,应该是有一个消息循环,一个消息队列,然后主线程不断得从消息队列中取得消息并处理之。然而,google封装得太厉害了,所以一时半会还是搞不清楚到底是怎么做的。本文将分析android内的looper,这个是用来封装消息循
2011-11-03 23:49:43
415
转载 java静态内部类
非静态内部类里面不能有静态成员:静态方法是不用生成实例就可以被访问,非静态内部类不被实例化就无法被访问,所以其内的静态成员也是无用的。 public class OuterClass { ... static class StaticInnerClass1 { //内部静态类 //只可以访问OuterClass的静态成员
2011-11-02 22:51:33
834
转载 android service简介 .
service 介绍:应用程序的一个组件,可以在后台长时间执行耗时操作,并没有提供一个用户界面。另一个应用程序组件可以启动一个服务,它会继续在后台运行,即使用户切换到另一个应用程序。此外,一个组件可以绑定到一个服务与它交互,甚至进行进程间通信(IPC) 。例如,服务可能处理网络服务,播放音乐,执行文件的I / O等。默认情况下,一个服务运行在承载它的应用程序的主线程中。 来自
2011-11-01 21:21:41
1995
转载 Android进程间通信--消息机制及IPC机制实现
Android进程间通信--消息机制及IPC机制实现AndroidOS音乐Schemethread转自:http://www.eoeandroid.com/thread-36249-1-1.html 一、概念及说明 Android为了屏蔽进程的概念,利用不同的组件[Activity、Service]来表示进程之间的通信! 组件间通信的核心机制是Intent,通过Inte
2011-10-28 23:05:55
581
转载 aidl 中通过RemoteCallbackList 运用到的回调机制: service回调activity的方法 .
说明:我没有写实例代码,直接拿项目中的代码,有点懒了,这里我省略贴出两个aidl文件。 TtsService extends Serviceview plaincopy to clipboardprint?private final RemoteCallbackList mCallbacks = new RemoteCallbackLi
2011-10-23 20:23:48
5722
转载 **android进程间通信:使用AIDL .**
欢迎阅读本文,你能关注本文,你知道你需要进程间通信、需要AIDL(以及Binder),那么可以默认你对这些概念已经有了一些了解,你(大致)知道它们是什么,它们有什么用,所以为了节约大家的眼力和时间,在此我不复制粘贴网上泛滥的博客或者翻译冗长的android文档。 关于AIDL的介绍在文档:docs/guide/developing/tools/aidl.html 关于I
2011-10-23 20:21:22
603
转载 Android Service学习之AIDL, Parcelable和远程服务
AIDL的作用 由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象。在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需要将对象分解成操作系统可以理解的基本单元,并且有序的通过进程边界。 通过代码来实现这个数据传输过程是冗长乏味的,Android提供了AIDL工具来处理这项工作。
2011-10-23 11:12:59
495
转载 AIDL实例
这篇文章给出一个小例子,实现一个应用程序调用另一个应用程序中的service。两个应用程序的进程通过AIDL(Android Interface Definition Language)通信。这个小例子主要分为两部分: 1 - 实现service端应用。 2 - 实现client端应用。实现service端应用1. 建立一个空的Android工程
2011-10-23 00:05:04
1738
转载 Java序列化与反序列化(实践)
基本概念:序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。昨天在一本书上看到了,好好实践了一下,序列化为一般文件,也序列化为XML文件(使用XStream)。用于序列化的实体类Person.java 代码如下(记得需要实现Serializable接口):import java.
2011-10-22 22:48:11
282
转载 android中service和aidl详细整理
1.首先理解service的作用和生命周期,由于activity如果切换,那么他就不再运行,那么我们想在玩游戏的时候听播放器中的音乐,activity就应运而生了,这是最常见的一种场景,同时service由于它的优先级比较高,不容易被回收,而且是独立进程,不会阻塞UI线程,因此,可以用来处理一些比较费时的任务。service起于startService(),终于stopService,如果
2011-10-22 22:34:37
484
转载 IPC框架分析 Binder,Service,Service manager
我首先从宏观的角度观察Binder,Service,Service Manager,并阐述各自的概念。从Linux的概念空间中,Android的设计Activity托管在不同的的进程,Service也都是托管在不同的进程,不同进程间的Activity,Service之间要交换数据属于IPC。Binder就是为了Activity通讯而设计的一个轻量级的IPC框架。在代码分析中,我发现Androi
2011-10-22 19:22:05
339
转载 从 Remote Service Binding 学习 AIDL 与 IPC
默认情况下,一个应用不管有多少个 Activity、Service 或其他组件,它们都是运行在一个进程上,但是我们可以安排 Service 运行一个新的进程上,但是不同进程之间应该如何通信呢?当需要在不同的进程之间传递对象时,应该怎么做呢?AIDL(Android Interface Definition Language) 便是解决这一问题的钥匙。使用 AIDL 并不是难事,但是比较繁琐,并
2011-10-22 19:20:16
392
转载 Android判断SD卡是否存在的实现
Android中判断SD卡是否存在,并且可以进行写操作,可以使用如下代码 if (android.os.Environment.getExternalStorageState().equals( android.os.Environment.MEDIA_MOUNTED
2011-10-12 23:01:26
975
转载 java反射中Method类invoke方法的用法
import java.lang.reflect.Method;public class InvokeTester { public int add(int param1, int param2) { return param1 + param2; } pu
2011-10-06 19:19:16
349
转载 Android3.1和3.2及google_api下载使用说明
Android3.2SDK下载地址:http://dl-ssl.google.com/android/repository/android-3.2_r01-linux.zipAndroid3.1SDK下载地址:http://dl-ssl.google.com/andr
2011-09-04 22:52:39
1893
转载 android alertdialog的按钮点击后不消失
使用反射:在你的setPositiveButton中添加://用于不关闭对话框Java code try { Field field = dialog.getClass().getSuperclass()
2011-08-30 23:46:25
2799
转载 Android3.0中ActionBar的新特性
Android3.0中ActionBar的新特性1. ActionBar(活动栏)替代了显示在屏幕顶端的标题栏。主要负责显示菜单,widget,导航等功能,主要包括:Ø 显示选项菜单中的菜单项到活动栏;Ø 添加可交互的视图到活
2011-08-30 00:18:07
901
转载 [翻译]Action Bar for Android
这个项目旨在提供一个可重复使用的ACTION BAR的组成部分。有关Action Bar 模式的详细描述可以参考Android Patterns.Action Bar 组件是一个 Library Project ,这意味着无需复制资源到项目,仅仅需要将Action B
2011-08-30 00:16:58
685
转载 contentprovider
这几天的学习,都是Android很实用的地方.所以练习起来,特别的有精神.今天主要学习的是Android中,统一数据访问的方式, 和一些为了方便开发.由系统提供的一些实用的工具类.如:用于匹配Uri的UriMatcher和获取Uri路径后面ID的ContentUris.这在工作中
2011-08-12 00:08:56
395
原创 Java获得文件大小的方法(通过FileInputStream)
根据指定文件创建FileInputStream,调用available方法返回文件大小,容量为byte File file = new File("d:\hello.gif"); FileInputStream
2011-08-08 23:08:50
18954
原创 java 获取文件夹大小,文件大小,文件个数
package tony;import java.io.File;import java.text.DecimalFormat;import java.io.FileInputStream;public class GetFileSize{ pu
2011-08-08 23:04:24
1225
原创 直接由Java获取文件的创建时间
import java.io.*; public class getCreateFileTime { public static void main(String[] args) { try { Process p = Runtime.
2011-08-08 22:57:56
1084
原创 java中获得当前文件大小
根据制定路径,可以获取当前正在操作的文件的大小,容量为byte. package test;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundExceptio
2011-08-08 22:57:19
2024
java最新反编译工具
2010-05-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人