05 2012 档案

摘要:1. 最简单的TabHost,Tab来自于layout下的元素(只从1个Layout中取数据)(1)效果图(2)代码1)tab_demo.xml[xhtml]view plaincopy<?xmlversion="1.0"encoding="utf-8"?><FrameLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width=& 阅读全文
posted @ 2012-05-29 14:55 ansionchen 阅读(147) 评论(0) 推荐(0)
摘要:002003import java.io.BufferedReader; 004import java.io.IOException; 005import java.io.InputStreamReader; 006007import org.apache.http.HttpEntity; 008import org.apache.http.HttpResponse; 009import org.apache.http.client.methods.HttpPost; 010import org.apache.http.entity.StringEntity; 011import org.ap 阅读全文
posted @ 2012-05-28 16:12 ansionchen 阅读(209) 评论(0) 推荐(0)
摘要:002003import java.io.BufferedReader; 004import java.io.IOException; 005import java.io.InputStreamReader; 006007import org.apache.http.HttpEntity; 008import org.apache.http.HttpResponse; 009import org.apache.http.client.methods.HttpPost; 010import org.apache.http.entity.StringEntity; 011import org.ap 阅读全文
posted @ 2012-05-28 16:12 ansionchen 阅读(178) 评论(0) 推荐(0)
摘要:安装完以后提示找不到suite objects.dll:经查找,该 dll 存在:找不到的原因是,安装程序自动设置在 Path 中的环境变量有误:把最后的common改成Common: 阅读全文
posted @ 2012-05-27 21:44 ansionchen 阅读(158) 评论(0) 推荐(0)
摘要:Activities提供了一种方便管理的创建、保存、回复的对话框机制,例如onCreateDialog(int),onPrepareDialog(int, Dialog),showDialog(int),dismissDialog(int)等方法,如果使用这些方法的话,Activity将通过getOwnerActivity()方法返回该Activity管理的对话框(dialog). onCreateDialog(int):当你使用这个回调函数时,Android系统会有效的设置这个Activity为每个对话框的所有者,从而自动管理每个对话框的状态并挂靠到Activity上。这样,每个对话框继.. 阅读全文
posted @ 2012-05-26 21:39 ansionchen 阅读(95) 评论(0) 推荐(0)
摘要:Activities提供了一种方便管理的创建、保存、回复的对话框机制,例如onCreateDialog(int),onPrepareDialog(int, Dialog),showDialog(int),dismissDialog(int)等方法,如果使用这些方法的话,Activity将通过getOwnerActivity()方法返回该Activity管理的对话框(dialog). onCreateDialog(int):当你使用这个回调函数时,Android系统会有效的设置这个Activity为每个对话框的所有者,从而自动管理每个对话框的状态并挂靠到Activity上。这样,每个对话框继.. 阅读全文
posted @ 2012-05-26 21:39 ansionchen 阅读(134) 评论(0) 推荐(0)
摘要:一、从resource中的raw文件夹中获取文件并读取数据(资源文件只能读不能写)String res ="";try{InputStream in =getResources().openRawResource(R.raw.bbi);//在\Test\res\raw\bbi.txt,intlength = in.available();byte[] buffer =newbyte[length];in.read(buffer);//res = EncodingUtils.getString(buffer, "UTF-8");//res = Encodi 阅读全文
posted @ 2012-05-25 23:49 ansionchen 阅读(160) 评论(0) 推荐(0)
摘要:一、从resource中的raw文件夹中获取文件并读取数据(资源文件只能读不能写)String res ="";try{InputStream in =getResources().openRawResource(R.raw.bbi);//在\Test\res\raw\bbi.txt,intlength = in.available();byte[] buffer =newbyte[length];in.read(buffer);//res = EncodingUtils.getString(buffer, "UTF-8");//res = Encodi 阅读全文
posted @ 2012-05-25 23:49 ansionchen 阅读(146) 评论(0) 推荐(0)
摘要:这几天做一个功能需要在手机上创建一个文件夹,然后往里面存储一些文件,首先得考虑用户有没有sdcard,如果有就在sdcard上创建一个指定的文件夹,如果没有则在你的工程所在的目录“/data/data/你的包名”下创建文件夹。用到的方法是:首先判断sdcard是否插入String status = Environment.getExternalStorageState();if (status.equals(Environment.MEDIA_MOUNTED)) {return true;} else {return false;}然后根据是否插入状态指定目录if (SdcardHelper. 阅读全文
posted @ 2012-05-24 17:01 ansionchen 阅读(246) 评论(0) 推荐(0)
摘要:这几天做一个功能需要在手机上创建一个文件夹,然后往里面存储一些文件,首先得考虑用户有没有sdcard,如果有就在sdcard上创建一个指定的文件夹,如果没有则在你的工程所在的目录“/data/data/你的包名”下创建文件夹。用到的方法是:首先判断sdcard是否插入String status = Environment.getExternalStorageState();if (status.equals(Environment.MEDIA_MOUNTED)) {return true;} else {return false;}然后根据是否插入状态指定目录if (SdcardHelper. 阅读全文
posted @ 2012-05-24 17:01 ansionchen 阅读(149) 评论(0) 推荐(0)
摘要:在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。抽空把对ListView的使用做了整理,并写了个小例子,如下图。列表的显示需要三个元素:1.ListVeiw 用来展示列表的View。2.适配器 用来把数据映射到ListView上的中介。3.数据 具体的将被映射的字符串,图片,或者基本组件。根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter其中以ArrayAdapter最为简单,只能展示一行字。SimpleAdapter有最好的扩充性,可以自定义出各 阅读全文
posted @ 2012-05-23 14:58 ansionchen 阅读(93) 评论(0) 推荐(0)
摘要:在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。抽空把对ListView的使用做了整理,并写了个小例子,如下图。列表的显示需要三个元素:1.ListVeiw 用来展示列表的View。2.适配器 用来把数据映射到ListView上的中介。3.数据 具体的将被映射的字符串,图片,或者基本组件。根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter其中以ArrayAdapter最为简单,只能展示一行字。SimpleAdapter有最好的扩充性,可以自定义出各 阅读全文
posted @ 2012-05-23 14:58 ansionchen 阅读(97) 评论(0) 推荐(0)
摘要:用牛顿迭代法求f(x)=0在x0附近的一个实根的方法是:(1) 选一个接近于x的真实根的近似根x1;(2) 通过x1求出f(x1)。在几何上就是作x=x1,交f(x)于f(x1);(3) 过f(x1)作f(x)的切线,交x轴于x2。可以用公式求出x2。由于f'(x1)=f(x1)/(x2-x1),故x2=x1-f(x1)/f'(x1)(4) 通过x2求出f(x2);(5) 再过f(x2)作f(x)的切线交x轴于x2;(6) 再通过x3求出f(x3),…一直求下去,直到接近真正的根。当两次求出的根之差|xn+1-xn|≤ε就认为 xn+1足够接近于真实根。牛顿迭代公式是:xn+1 阅读全文
posted @ 2012-05-23 14:57 ansionchen 阅读(179) 评论(0) 推荐(0)
摘要:用牛顿迭代法求f(x)=0在x0附近的一个实根的方法是:(1) 选一个接近于x的真实根的近似根x1;(2) 通过x1求出f(x1)。在几何上就是作x=x1,交f(x)于f(x1);(3) 过f(x1)作f(x)的切线,交x轴于x2。可以用公式求出x2。由于f'(x1)=f(x1)/(x2-x1),故x2=x1-f(x1)/f'(x1)(4) 通过x2求出f(x2);(5) 再过f(x2)作f(x)的切线交x轴于x2;(6) 再通过x3求出f(x3),…一直求下去,直到接近真正的根。当两次求出的根之差|xn+1-xn|≤ε就认为 xn+1足够接近于真实根。牛顿迭代公式是:xn+1 阅读全文
posted @ 2012-05-23 14:57 ansionchen 阅读(227) 评论(0) 推荐(0)
摘要:drawable-hdpi里面存放高分辨率的图片,如WVGA(480x800),FWVGA(480x854)drawable-mdpi里面存放中等分辨率的图片,如HVGA(320x480)drawable-ldpi里面存放低分辨率的图片,如QVGA(240x320private OnCheckedChangeListener onCheckedChangeListener=new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean is... 阅读全文
posted @ 2012-05-22 16:35 ansionchen 阅读(143) 评论(0) 推荐(0)
摘要:Android Service被关闭后自动重启,解决被异常kill 服务 Android开发的过程中,每次调用startService(Intent)的时候,都会调用该Service对象的onStartCommand(Intent,int,int)方法,然后在onStartCommand方法中做一些处理。然后我们注意到这个函数有一个int的返回值,这篇文章就是简单地讲讲int返回值的作用。 从Android官方文档中,我们知道onStartCommand有4种返回值:START_STICKY:如果service进程被kill掉,保留service的状态为开始状态,但不保留递送的intent 阅读全文
posted @ 2012-05-22 16:29 ansionchen 阅读(299) 评论(0) 推荐(0)
摘要:近有个朋友问了我如何接受指定号码的短信,并且不让系统截取到通知用户。真好前端时间看天朝group,也有个朋友问了这个问题,而且通过 ContentObserver方式解决了。我这里就把我实现的代码贴出来,以便需要的朋友参考,最近Google-groups上不去,很是郁闷啊。Java 代码public class ScreenTest extends Activity {class SmsContent extends ContentObserver{private Cursor cursor = null;public SmsContent(Handler handler) {super(ha 阅读全文
posted @ 2012-05-22 16:25 ansionchen 阅读(408) 评论(0) 推荐(0)
摘要:ContentObserver——内容观察者,目的是观察(捕捉)特定Uri引起的数据库的变化,继而做一些相应的处理,它类似于 数据库技术中的触发器(Trigger),当ContentObserver所观察的Uri发生变化时,便会触发它。触发器分为表触发器、行触发器, 相应地ContentObserver也分为“表“ContentObserver、“行”ContentObserver,当然这是与它所监听的Uri MIME Type有关的。 熟悉Content Provider(内容提供者)的应该知道,我们可以通过UriMatcher类注册不同类型的Uri,我们可以通过这些不同的 Uri来查询不同 阅读全文
posted @ 2012-05-22 16:24 ansionchen 阅读(270) 评论(0) 推荐(0)
摘要:mport java.awt.Graphics; import java.io.File; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.DataLine; import javax.sound.sampled.SourceDataLine;public class Musicline extends javax.swing.JFrame 阅读全文
posted @ 2012-05-22 00:01 ansionchen 阅读(519) 评论(0) 推荐(0)
摘要:Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器。一:了解四大基本组件Activity :应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。在Intent 的描述结构中,有两个最重要的部分:动作和动作对应的数据。典型的动作类型有:M AIN(activity的门户)、VIEW、PICK、EDIT 等。而动作对应的数据则以URI 的形式进行表示。例如:要查看一个人的联系方式,你需 阅读全文
posted @ 2012-05-16 22:45 ansionchen 阅读(152) 评论(0) 推荐(0)
摘要:1.依赖倒置原则(Dependence Inversion Principle,DIP)High level modules should not depend upon low level modules.Both should depend upon abstractions. Abstractions should not depend upon details should depend upon abstractions翻译过来:n 高层模块不应该依赖低层模块,两者都应该依赖其抽象。n 抽象不应该依赖细节n 细节应该依赖抽象高层模块和低层模块容易理解,每一个逻辑的实现都是由原子逻辑组 阅读全文
posted @ 2012-05-15 22:28 ansionchen 阅读(196) 评论(0) 推荐(0)
摘要:1.里氏替换原则(Liskov Substiution Principl,LSP)如果要说里氏替换原则,就必须说继承,因为里氏替换原则就是继承的缺点的解决方案。继承好处l 代码共享,减少创建类的工作量,每个子类都拥有父类的方法和属性。l 提高代码的重用性l 父类可以形似父类,但又异于父类l 提高代码的可扩展性,很多开源框架的扩展接口都是通过继承父类完成的。l 提高产品或醒目的开放性继承缺点l 继承是入侵性。只要继承,就必须拥有父类的所有属性和方法l 降低代码的灵活性。子类必须拥有父类的属性和方法,让子类自由的世界中有了很多约束l 增强耦合性。当父类的常量、变量和方法发生更改时,就要考虑子类的修 阅读全文
posted @ 2012-05-15 22:25 ansionchen 阅读(202) 评论(0) 推荐(0)
摘要:1.里氏替换原则(Liskov Substiution Principl,LSP)如果要说里氏替换原则,就必须说继承,因为里氏替换原则就是继承的缺点的解决方案。继承好处l 代码共享,减少创建类的工作量,每个子类都拥有父类的方法和属性。l 提高代码的重用性l 父类可以形似父类,但又异于父类l 提高代码的可扩展性,很多开源框架的扩展接口都是通过继承父类完成的。l 提高产品或醒目的开放性继承缺点l 继承是入侵性。只要继承,就必须拥有父类的所有属性和方法l 降低代码的灵活性。子类必须拥有父类的属性和方法,让子类自由的世界中有了很多约束l 增强耦合性。当父类的常量、变量和方法发生更改时,就要考虑子类的修 阅读全文
posted @ 2012-05-15 22:25 ansionchen 阅读(176) 评论(0) 推荐(0)
摘要:我最近学习设计模式:然后就开始我们的设计模式之旅1.单一职责原则(Single Responsibility Principle,SRP)单一职责的好处:l 类的复杂性降低,实现什么职责都有清晰明确的定义;l可读性提高,复杂性降低,那当然可读性提高了;l可维护性提高,可读性提高,那当然可读性提高了;l变更引起的风险降低,变更是必不可少的,如果接口的单一职责做得好,一个接口修改只对相应的实现类有影响,对其他的接口无影响,这对系统的扩展性,维护性都有非常大的帮助。但是单一职责受非常多因素制约,必须考虑工期、成本、人员技术水平、硬件情况、网络情况,政府政策、垄断协议等等。对于单一职责,建议是接口一定 阅读全文
posted @ 2012-05-15 22:23 ansionchen 阅读(118) 评论(0) 推荐(0)
摘要:我最近学习设计模式:然后就开始我们的设计模式之旅1.单一职责原则(Single Responsibility Principle,SRP)单一职责的好处:l 类的复杂性降低,实现什么职责都有清晰明确的定义;l可读性提高,复杂性降低,那当然可读性提高了;l可维护性提高,可读性提高,那当然可读性提高了;l变更引起的风险降低,变更是必不可少的,如果接口的单一职责做得好,一个接口修改只对相应的实现类有影响,对其他的接口无影响,这对系统的扩展性,维护性都有非常大的帮助。但是单一职责受非常多因素制约,必须考虑工期、成本、人员技术水平、硬件情况、网络情况,政府政策、垄断协议等等。对于单一职责,建议是接口一定 阅读全文
posted @ 2012-05-15 22:23 ansionchen 阅读(167) 评论(0) 推荐(0)
摘要:原理:用链表存储activity页面,然后当你退出的时候就按退出,把链表里面所有activity都关闭掉package com.by2n.application;import java.util.LinkedList;import java.util.List;import android.app.Activity;public class Application extends android.app.Application { @Override public void onLowMemory() { // TODO Auto-generated method stub super.o.. 阅读全文
posted @ 2012-05-15 22:12 ansionchen 阅读(145) 评论(0) 推荐(0)
摘要:原理:用链表存储activity页面,然后当你退出的时候就按退出,把链表里面所有activity都关闭掉package com.by2n.application;import java.util.LinkedList;import java.util.List;import android.app.Activity;public class Application extends android.app.Application { @Override public void onLowMemory() { // TODO Auto-generated method stub super.o.. 阅读全文
posted @ 2012-05-15 22:12 ansionchen 阅读(136) 评论(0) 推荐(0)
摘要:1.用户态线程: 由于内核并没有对多线程进程的支持,因此,内核中只有单线程进程的概念, 而多线程进程是通过一个和应用程序连接的函数库实现的。由于内核没有轻量 级进程(线程)的概念,因此它不能独立的对之进行调度,而是由一个线程运 行库来组织线程的调度,其主要工作在于在各个线程的栈之间调度。如果一个进程中的某一个线程调用了一个阻塞的系统调用,该进程就会被阻塞,当然该进程中的其他所有线程也同时被阻塞,因此UNIX使用了异步I/O机制。 这种机制主要的缺点在于在一个进程中的多个线程的调度中无法发挥多处理器的优势(如上述的阻塞情况)。 其优点包括: A(相对于进程操作而言)某些线程操作的系统消耗... 阅读全文
posted @ 2012-05-15 22:08 ansionchen 阅读(119) 评论(0) 推荐(0)
摘要:1.用户态线程: 由于内核并没有对多线程进程的支持,因此,内核中只有单线程进程的概念, 而多线程进程是通过一个和应用程序连接的函数库实现的。由于内核没有轻量 级进程(线程)的概念,因此它不能独立的对之进行调度,而是由一个线程运 行库来组织线程的调度,其主要工作在于在各个线程的栈之间调度。如果一个进程中的某一个线程调用了一个阻塞的系统调用,该进程就会被阻塞,当然该进程中的其他所有线程也同时被阻塞,因此UNIX使用了异步I/O机制。 这种机制主要的缺点在于在一个进程中的多个线程的调度中无法发挥多处理器的优势(如上述的阻塞情况)。 其优点包括: A(相对于进程操作而言)某些线程操作的系统消耗... 阅读全文
posted @ 2012-05-15 22:08 ansionchen 阅读(195) 评论(0) 推荐(0)
摘要:在使用ListView时,会遇到当ListView列表滑动到最底端时,添加新的列表项的问题,本文通过代码演示如何动态的添加新的列表项到ListView中。实现步骤:调用ListView的setOnScrollListener()方法设置滑动监听器,实现OnScrollListener接口的方法,判断当列表滑动到最低端时,加载新的列表项。其中OnScrollListener接口需要实现如下两个方法:onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount)view 报告滑动状 阅读全文
posted @ 2012-05-15 22:06 ansionchen 阅读(155) 评论(0) 推荐(0)
摘要:在使用ListView时,会遇到当ListView列表滑动到最底端时,添加新的列表项的问题,本文通过代码演示如何动态的添加新的列表项到ListView中。实现步骤:调用ListView的setOnScrollListener()方法设置滑动监听器,实现OnScrollListener接口的方法,判断当列表滑动到最低端时,加载新的列表项。其中OnScrollListener接口需要实现如下两个方法:onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount)view 报告滑动状 阅读全文
posted @ 2012-05-15 22:06 ansionchen 阅读(159) 评论(0) 推荐(0)
摘要:做Android布局是件很享受的事,这得益于他良好的xml方式。使用xml可以快速有效的为软件定义界面。可是有时候我们总感觉官方定义的一些基本组件不够用,自定义组件就不可避免了。那么如何才能做到像官方提供的那些组件一样用xml来定义他的属性呢?现在我们就来讨论一下他的用法。1、添加文件attrs.xml,位于res\values目录下:<?xmlversion="1.0"encoding="utf-8"?> <resources> <declare-styleablename="myView"> & 阅读全文
posted @ 2012-05-15 21:36 ansionchen 阅读(164) 评论(0) 推荐(0)
摘要:做Android布局是件很享受的事,这得益于他良好的xml方式。使用xml可以快速有效的为软件定义界面。可是有时候我们总感觉官方定义的一些基本组件不够用,自定义组件就不可避免了。那么如何才能做到像官方提供的那些组件一样用xml来定义他的属性呢?现在我们就来讨论一下他的用法。1、添加文件attrs.xml,位于res\values目录下:<?xmlversion="1.0"encoding="utf-8"?> <resources> <declare-styleablename="myView"> & 阅读全文
posted @ 2012-05-15 21:36 ansionchen 阅读(173) 评论(0) 推荐(0)
摘要:Android 代码名字-API级别-版本号-NDK版本对应关系 CodeName APILevel Version NDK (no code name)API Level 11.0None(no code name)API Level 2 1.1NoneCupcake API Level 31.5NDK 1Donut API Level 41.6 NDK 2Eclair API Level 52.0 NDK 2Eclair API Level 62.0.1NDK 2Eclair API Level 72.1NDK 3Froyo API Level 82.2.xNDK 4Ginger... 阅读全文
posted @ 2012-05-06 17:10 ansionchen 阅读(1268) 评论(0) 推荐(0)
摘要:初学Android游戏开发的朋友,往往会显得有些无所适从,他们常常不知道该从何处入手,每当遇到自己无法解决的难题时,又往往会一边羡慕于 iPhone下有诸如Cocos2d-iphone之类的免费游戏引擎可供使用,一边自暴自弃的抱怨Android平台游戏开发难度太高,又连个像样的游 戏引擎也没有,甚至误以为使用Java语言开发游戏是一件费力不讨好且没有出路的事情。事实上,这种想法完全是没有必要且不符合实际的,作为能和苹果iOS分庭抗礼的Android(各种意义上),当然也会有相当数量的游戏引擎存在。仅仅因为我们处于这个狭小的天地间,与外界接触不够,所以对它们的存在茫然不知罢了。下面我就罗列出八款 阅读全文
posted @ 2012-05-02 14:41 ansionchen 阅读(119) 评论(0) 推荐(0)
摘要:初学Android游戏开发的朋友,往往会显得有些无所适从,他们常常不知道该从何处入手,每当遇到自己无法解决的难题时,又往往会一边羡慕于 iPhone下有诸如Cocos2d-iphone之类的免费游戏引擎可供使用,一边自暴自弃的抱怨Android平台游戏开发难度太高,又连个像样的游 戏引擎也没有,甚至误以为使用Java语言开发游戏是一件费力不讨好且没有出路的事情。事实上,这种想法完全是没有必要且不符合实际的,作为能和苹果iOS分庭抗礼的Android(各种意义上),当然也会有相当数量的游戏引擎存在。仅仅因为我们处于这个狭小的天地间,与外界接触不够,所以对它们的存在茫然不知罢了。下面我就罗列出八款 阅读全文
posted @ 2012-05-02 14:41 ansionchen 阅读(101) 评论(0) 推荐(0)