自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

转载 Android Bitmap内存限制

Android Bitmap内存限制在编写Android程序的时候,我们总是难免会碰到OOM的错误,那么这个错误究竟是怎么来的呢?我们先来看一下这段异常信息:08-14 05:15:04.764: ERROR/dalvikvm-heap(264): 3528000-byte external allocation too large for this process. 08-1

2011-06-23 09:04:00 1434 1

原创 Android Activity Lifecycle Note

<br />Activity lifecyclefirst run the apk:06-01 10:54:33.646: DEBUG/u0fly ----->(283): onCreate<br />06-01 10:54:33.646: DEBUG/u0fly ----->(283): onStart<br />06-01 10:54:33.686: DEBUG/u0fly ----->(283): onResumepress "HOME"06-01 10:56:51.327: DEBUG/u0

2011-06-01 19:07:00 669

转载 Android IntentService 分析

<br /><br />什么是IntentService?官方的解释是:<br /> IntentService is a base class for Services that handle asynchronous requests (expressed as Intents) on demand. Clients send requests through android.content.Context.startService(Intent) calls; the service is start

2011-05-27 16:34:00 1417

原创 LayoutInflater的用法

<br /><br /> <br />第一种方法:<br /> LayoutInflater inflater = LayoutInflater.from(this);  View layout = inflater.inflate(R.layout.main, null);  <br /> <br />第二种方法:<br /> LayoutInflater inflater = getLayoutInflater();  View layout = inflater.inflate(R.layout.ma

2011-05-13 10:49:00 667

转载 如何高效使用Adapter

<br /><br />以下转自How you create your view for listview on Android?<br />How you create your view for listview on Android?<br />There have three versions of getView() function,<br />the first version is a slow way,and the last is the fastest one.<br />Versio

2011-05-13 10:46:00 632

原创 《跟我一步一步来》----------Android PreferenceActivity 设置界面--多选项--ListPreference

 一.“初次邂逅”在我们构建设置界面的时候会用到ListPreference这个控件,默认(2.3之前)是单选,但我们现在想要多选,就像下图所示二.“先看外表”我们的项目结构如下:首先我们先看布局文件preference_layout.xml

2011-05-11 17:45:00 1123

原创 Eclipse编译Android项目时出现的错误

<br />1. 错误信息为:Unable to execute dex: wrapper was not properly loaded first<br /> <br />解决方法:<br />找到Eclipse目录下eclipse.ini文件,将最后两句改为<br />-Xms128m<br />-Xmx512m<br />重启eclipse<br />然后project->clean一下就OK了

2011-05-11 12:18:00 765 1

转载 AndroidManifest中的属性说明

<br /><br />android:allowTaskReparenting<br />是否允许activity更换从属的任务,比如从短信息任务 切换到浏览器任务。<br />--------------------------------------------------------------------------------------<br />android:alwaysRetainTaskState<br />是否保留状态不变, 比如切换回home, 再从新打开, activity处于最

2011-05-10 17:08:00 590

转载 Android程序完全退出的三种方法

<br /><br />很多网友可能发现自己的Android程序有很多Activity,比如说主窗口A,调用了子窗口B,在B中如何关闭整个Android应用程序呢? 这里给大家三种比较简单的方法实现。<br />首先要说明在B中直接使用finish(),接下来手机显示的还是主窗口A,所以一起来看看Android开发网是如何实现的吧.<br />1. Dalvik VM的本地方法<br />  android.os.Process.killProcess(android.os.Process.myPid())

2011-05-06 17:33:00 768

转载 android 应用程序Activity之间数据传递与共享的几种途径

android 应用程序Activity之间数据传递与共享的几种途径(1)1.基于消息的通信机制  Intent ---boudle ,extra    数据类型有限,比如遇到不可序列化的数据Bitmap,InputStream, 或者LinkList链表等等数据类型就不太好用。2. 利用static静态数据, public static成员变量;3.基于外部存储的传输,  File/Preference/ Sqlite ,如果要针对第三方应用需要Content Provider 4.基于IPC的通信机制 

2011-05-06 17:10:00 7735 2

转载 sleep和wait有什么区别

1、这两个方法来自不同的类分别是Thread和Object  2、最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。  3、wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在  任何地方使用(使用范围)  synchronized(x){  x.notify()  //或者wait()  }  4、sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常  扩充阅读:  java 线

2011-05-03 11:04:00 9383 1

原创 《跟我一步一步来》----------- Android的设置界面

一.基础知识我们在使用Android手机时,可能会经常用到其中的设置界面,如下所示:图1 Android系统中的设置界面而且对于我们自己开发的一个完整的程序来说,我们也会需要给用户提供一个设置界面使用户可以对程序的一些参数进行设置。因此,我们就来学习下如何实现符合我们需要的一个设置界面,及其背后的数据持久化功能。二.实例开发2.1 SharedPreferences在具体介绍Android的设置界面的实现之前,我们先来介绍一下预备知识,就是Android数据持久化方法中最简单的一种,即使用Preferenc

2011-04-28 16:34:00 5028 1

原创 GridView 显示图标加文字

效果图如下:首先介绍一下GridView控件GridView是一个可以显示一个二维的,滚动的网格布局。可以通过ListAdapter将Item自动插入到布局中。这里我们自己定义一个类继承BaseAdapter,BaseAdapter已经实现了ListAdapter和SpinnerAdapter的接口,适配器的作用主要是用来给诸如(Spinner,ListView,GridView)来填充数据的。源码:public class GridImageTextItemDemo extends Activity im

2011-04-28 14:07:00 2760 28

原创 Android入门很好的教程

<br />http://code.google.com/p/androidbmi/

2011-04-28 09:42:00 682

转载 Task和Activity相关—Activity各种属性的解释

android:allowTaskReparenting 用来标记Activity能否从启动的Task移动到有着affinity的Task(当这个Task进入到前台时)——“true”,表示能移动,“false”,表示它必须呆在启动时呆在的那个Task里。 如果这个特性没有被设定,设定到元素上的allowTaskReparenting特性的值会应用到Activity上。默认值为“false”。 一般来说,当Activity启动后,它就与启动它的Task关联,并且在那里耗尽它的整

2011-04-27 16:11:00 679

原创 Activity启动模式

<br /><br />有以下4种启动模式<br />standard, singleTop, singleTask,singleInstance<br /> <br /> <br />使用情况<br />启动模式<br />是否产生多个实例?<br />说明<br />对于大多数Activity来说,普通启动模式<br />standard<br />是<br />默认模式;系统始终为要启动的Activity创建一个新的实例<br />singleTop<br />视情况而定<br />如果一个Act

2011-04-27 16:00:00 673

转载 两个对象值相同,有相同的hash code

<br /><br />两个对象值相同(x.equals(y) == true),则一定有相同的hash code。<br /> <br />这是java语言的定义: <br />因为:Hash,一般翻译做“散列”,也有直接音译为"哈希"的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。<br />1) 对

2011-04-27 15:04:00 816

转载 理解回调函数

<br />所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。由于S并不知道C提供的B姓甚名谁,所以S会约定B的接口规范(函数原型),然后由C提前通过S的一个函数R告诉S自己将要使用B函数,这个过程称为回调函数的注册,R称为注册函数。Web Service以及Java的RMI都用到回调机制,可

2011-04-27 14:40:00 489

原创 为所有的Activity添加同一的Menu菜单

<br /><br />添加一个抽象类,实现Menu的方法<br />使用时,其他类继承这个抽象类<br />例如:<br />public class OtherClass extends BaseActivityWithMenu<br /> <br />这样所有继承这个抽象类的Activity就有了共同的menu菜单<br /> <br /> <br /> <br />BaseActivityWithMenu.java<br />public abstract class BaseActivityWit

2011-04-26 15:40:00 655

转载 Android应用开发中的风格和主题(style,themes)

<br />越来越多互联网企业都在Android平台上部署其客户端,为了提升用户体验,这些客户端都做得布局合理而且美观.......Android的Style设计就是提升用户体验的关键之一。Android上的Style分为了两个方面:Theme是针对窗体级别的,改变窗体样式;Style是针对窗体元素级别的,改变指定控件或者Layout的样式。<br />     Android系统的themes.xml和style.xml(位于/base/core/res/res/values/)包含了很多系统定义好的st

2011-04-22 14:58:00 589

转载 Android的线程使用来更新UI----Thread、Handler、Looper、TimerTask等

<br /><br />方法一:(java习惯,在android不推荐使用)<br />刚刚开始接触android线程编程的时候,习惯好像java一样,试图用下面的代码解决问题new Thread( new Runnable() { <br />publicvoid run() { <br /> myView.invalidate(); <br /> } <br />}).start();<br />可以实现功能,刷新UI界面。但是这样是不

2011-04-22 09:46:00 512

转载 Java中的抽象类

问你个问题,你知道什么是“东西”吗?什么是“物体”吗? “麻烦你,小王。帮我把那个东西拿过来好吗” 在生活中,你肯定用过这个词--东西。 小王:“你要让我帮你拿那个水杯吗?” 你要的是水杯类的对象。而东西是水杯的父类。通常东西类没有实例对象,但我们有时需要东西的引用指向它的子类实例。 你看你的房间乱成什么样子了,以后不要把东西乱放了,知道么? 又是东西,它是一个数组。而数组中的元素都是其子类的实例。 --------- 上面讲的只是子类和父类。而没有说明抽象类的作用。抽象

2011-04-15 16:38:00 3717

原创 Android手机APN设置(中国移动 联通3G 电信天翼),解决不能上网的问题

<br /><br /> <br />中国移动<br /> <br />第一步,设置CMNET上网<br /> <br />新建APN<br />1.名称:cmnet<br />2.APN:cmnet<br />3.APN类型:default<br />就只填写上面3个选项,其他都是默认,不用填写。<br /> <br />第二步,设置彩信<br /> <br />新建APN<br />1.名称:cmmms<br />2.APN:cmwap<br />3.代理:10.0.0.172<br />4.端口:80

2011-01-20 13:57:00 128486 2

原创 设计widget的layout布局时的注意事项

<br /><br />最近设计widget的时候遇到一些布局设置的问题,总是提示“加载小部件时出现错误”,查看官方文档后才发现,RemoteLayout的布局是有限制的,<br />这点在开发过程中需要注意,主要有以下几点:<br /> <br /> <br />A RemoteViews object (and, consequently, an App Widget) can support the following layout classes:<br />支持的layout类型FrameLayo

2011-01-20 10:16:00 939

转载 Eclipse快捷键大全

<br /><br /> <br /> <br />Ctrl+1 快速修复(最经典的快捷键,就不用多说了)<br />Ctrl+D: 删除当前行<br />Ctrl+Alt+↓ 复制当前行到下一行(复制增加)<br />Ctrl+Alt+↑ 复制当前行到上一行(复制增加)<br /> <br />Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)<br />Alt+↑ 当前行和上面一行交互位置(同上)<br />Alt+← 前一个编辑的页面<br />Alt+→ 下一个编辑的页面(当

2011-01-11 14:28:00 302

原创 Android 自己的程序中添加系统重启的提示框

reboot:<br /><br />Intent i=new Intent( Intent.ACTION_REBOOT);<br />intent.putExtra("nowait", 1);<br />    intent.putExtra("interval", 1);<br />    intent.putExtra("window", 0);<br />sendBroadcast( i );<br /> <br />shutdown:<br />Intent i=new Inten

2010-12-01 13:10:00 1175

原创 Full screen and NO title

add to the onCreate()getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);        requestWindowFeature(Window.FEATURE_NO_TITLE);

2010-11-30 16:29:00 539

原创 An internal error occurred during: "Launching ****

<br />eclipse.buildId=M20090917-0800<br />java.version=1.6.0_18<br />java.vendor=Sun Microsystems Inc.<br />BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CN<br />Framework arguments:  -product org.eclipse.epp.package.java.product<br />

2010-11-30 10:40:00 5702

原创 emulator: ERROR: the user data image is used by another emulator. aborting

<br /> <br />emulator: ERROR: the user data image is used by another emulator. aborting<br /> <br />解决方法:<br />删除该目录下的.lock文件夹<br />C:/Documents and Settings/@USER@/.android/avd

2010-11-29 19:36:00 269

原创 Android 在自己的Activity中调用系统中的Email程序

<br />1.直接启动Email<br />Intent mIntent = new Intent(); ComponentName comp = new ComponentName("com.android.email", "com.android.email.activity.Welcome"); mIntent.setComponent(comp); mIntent.setAction("android.intent.action.MAIN");

2010-11-24 17:53:00 1358

原创 Android 在自己的Activity中获取系统中联系人的姓名,电话等信息

public class contractTest extends Activity { private static final String TAG = "U0fly contractTest ===> "; private static final int PICK_CONTACT = 3; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanc

2010-11-22 18:52:00 1680

原创 Android ADB (Android Debug Bridge) 使用说明

Android ADB (Android Debug Bridge) 使用说明l         Windows平台一、  文件说明:驱动:android_usb_windows.zip adb程序:AdbWin.rar注:adb.exe 和 AdbWinApi.dll 两个文件放到系统盘的 windows/system32 文件夹里就可以了二、  使用说明:1.       将设备通过USB线连接到PC,如果提示安装驱动,请参考第5步2.       运行 -> cmd3.  

2010-11-18 11:18:00 1094

原创 Android Service Debug

<br />When you debug a Service , you set a break point, but the debuger can not stop .<br />you can add this line to your code before your break point you add.<br /> <br />android.os.Debug.waitForDebugger();<br /> <br />Now you can debug your service !

2010-11-17 15:37:00 921

原创 在Service中开启一个Activity时注意事项

<br />在Service中开启一个Activity时注意 添加:mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);<br />否则程序会报错!!!<br /> <br />private void startNewActivity() { Log.d(TAG, "startNewActivity"); Intent mIntent = new Intent(); Log.d(TAG, "startNewActivity 1111");

2010-11-16 14:23:00 1014

原创 How to change your ubuntu default directory name to English

When you enter into a directoris of ubuntu, if thier name is Chinese, you will feel it is waste time to copy the name of them or type it. But if they are English name , you can use tab make it easy! Do you feel like me ?now you can use the method below to

2010-11-16 12:34:00 290

原创 quick install

when you reinstall your ubuntu system, you can bakup your apptheir location is : /var/cache/apt/archivesand you can use this script to install some commen tools:

2010-11-16 12:26:00 366

原创 Android error : about "duplicate class" , "Error 41"

<br /> <br />当我把Eclipse中的工程拷贝到android源码中编译时,经常碰到这样的错误提示:<br /> <br />make: Entering directory <br />build/core/main.mk:272: implicitly installing apns-conf_sdk.xml<br />No private recovery resources for TARGET_DEVICE tcc8900<br />target Java: KeyTest

2010-11-15 18:06:00 2623

原创 Android Service Note --- Local Service Sample & Remote Messenger Service Sample

1.Local Service Sample

2010-11-05 15:38:00 3091 2

原创 Android Thread Template

<br />1.通过继承Thread类,并改写run方法来实现一个线程<br />public class MyThread extends Thread { //继承Thread类,并改写其run方法 private final static String TAG = "My Thread ===> "; public void run(){ Log.d(TAG, "run"); for(int i = 0; i<100; i++) { Log.e(

2010-11-05 12:31:00 1805

原创 Android Button Template

<br />按钮的常见处理方法:<br /><br />1.单个按钮<br /><br /> public class MyActivity extends Activity {<br /><br />    private Button button = (Button) findViewById(R.id.button_id);   <br /><br />      public void onCreate(Bundle savedInstanceState) {<br />  

2010-11-05 11:17:00 379

空空如也

空空如也

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

TA关注的人

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