摘要:
有一篇写的不错http://blog.sina.com.cn/s/blog_606334a20100gllo.html下面主要摘自此文。Android为了存储关于全局系统设置的信息,使用一个系统属性公共缓冲区,这个缓冲去的内容时(属性,值)对的列表,对外提供get和set服务。属性区域相当于一般应用的配置文件。系统属性信息的代码位于/bionic/libc/include/sys/_system_properties.c中属性系统初始化过程:init进程——>property_init()——>init_prpperty_area():首先创建一个装载property的worksp 阅读全文
随笔分类 - 技术之Android
【转】深入理解 Android消息处理系统的原理
2011-10-22 21:17 by shy.ang, 363 阅读, 收藏,
摘要:
Android应用程序也是消息驱动的,按道理来说也应该提供消息循环机制。实际上谷歌参考了Windows的消息循环机制,也在Android系统中实现了消息循环机制。 Android通过Looper、Handler来实现消息循环机制,Android消息循环是针对线程的(每个线程都可以有自己的消息队列和消息循环)。 本文深入介绍一下Android消息处理系统原理。 Android系统中Looper负责管理线程的消息队列和消息循环,具体实现请参考Looper的源码。 可以通过Loop.myLooper()得到当前线程的Looper对象,通过Loop.getMainLooper()可以获得当前进程... 阅读全文
【转】HtmlParser
2011-04-15 18:47 by shy.ang, 335 阅读, 收藏,
摘要:
一,数据组织分析: HtmlParser主要靠Node、AbstractNode和Tag来表达Html,因为Remark和Text相对简单,此处就将其忽略了。 Node是形成树结构表示HTML的基础,所有的数据表示都是接口Node的实现,Node定义了与页面树结构所表达的页面Page对象,定义了获取父、子、兄弟节点的方法,定义了节点到对应html文本的方法,定义了该节点对应的起止位置,定义了过滤方法,定义了Visitor访问机制。 AbstractNode是Node的一种具体的类实现,起到构成树形结构的作用,除了同具体Node相关的accetp方法,toString,toHtml,toPlai 阅读全文
Android—3D—tutorial(译作)
2011-04-14 15:48 by shy.ang, 289 阅读, 收藏,
摘要:
原文:http://www.droidnova.com/android-3d-game-tutorial-part-i,312.html 这个系列的第一部分会对OpenGL术语和3D编程做一个简要的介绍。 系列本身是关于一个叫Vortex的3D游戏的。这个教程是关于3D编程的,而像菜单、生命周期等内容可能是代码的一部分,但不会介绍。 OpenGL术语: Vertex(顶点) 一个vertex是3D空间的一个点,也是许多对象的构建基础。在OpenGL中你既可以定义二维坐标(x,y),也可以是四维(x,y,z,w)。w轴是可选的,缺省值是1.0,z轴也是可选的,缺省值是0。在这个系列中,我们使用三 阅读全文
关于Android中Bitmap太大导致OOM错误
2011-04-14 14:11 by shy.ang, 981 阅读, 收藏,
摘要:
能做的也就是缓存相关参考:1.http://www.7dot9.com/2010/08/android-bitmap%E5%86%85%E5%AD%98%E9%99%90%E5%88%B6/2.http://www.80hou.org.cn/articles/2010/09/21143520.html3.http://ck19860613.iteye.com/blog/842732 阅读全文
ListView异步下载图片的另一种实现
2011-04-01 10:40 by shy.ang, 934 阅读, 收藏,
摘要:
这个是对ListView中异步下载图片的另一种实现方案,关键词:new Thread Handler messagehttp://www.iteye.com/topic/685986相比于AsyncTask(android--Imagedownloader),更加灵活,但没有AsyncTask处理的更细节和完善算法:在Adapter类的getView中 rowView = convertView; 若rowView 为空,就和XML相关联, 根据rowView(以rowView为参数)生成TextImage视图 rowView以Tag方式存储这个TextImage视图:rowView.setT 阅读全文
ListView包含TextView和ImageView
2011-03-25 19:37 by shy.ang, 2066 阅读, 收藏,
摘要:
在ListView的Item中显示图片和文本,主要步骤: 首先建立ImageText 实体类(也可以不用) 然后建立ImageTextView 视图类 extends linearLayout 里面包含ImageView和TextView,分别包含ImageText对象中的Image和Text。在构造函数中将其中Imageview填充上图片,TextView填充上文字,还要将这两个添加进ImageTextView视图中:addView(),并对该视图进行布局。 接着是建立 ViewAdapter extends BaseAdapter 适配器 适配器中有ArrayList<ImageTe 阅读全文
ListView学习笔记
2011-03-25 14:31 by shy.ang, 1217 阅读, 收藏,
摘要:
对于ListView,有几种实现方式: @ extends Activity { setContentView(R.layout.xx); ListView listview = (ListView listview)findViewById(...); listview.setAdapter(adapter); @ extends Activity { ListView listview = new ListView(this); listview.setAdapter(adapter); this.setContentView(listview);//表示将listview直接显示而不是. 阅读全文
关于开源项目android--Imagedownloader的学习笔记
2011-03-24 16:44 by shy.ang, 4252 阅读, 收藏,
摘要:
一个开源项目,关于图像异步缓存下载的简单apps,网上有相应的代码,但是没有任何说明和讲解(英文blog中有,讲了一下框架),那就自己研究吧。 主要对ImageDownloader分析: Bitmap downloadBitmap(String url);//从网站下载一幅图片,比较简单 HttpClient: AndroidHttpClient:Apache DefaultHttpClient的子类,已经配置好默认的合理设置和Android注册过的方案。不能直接创建对象。 AndroidHttpClient newInstance(String userAgent,Context cont. 阅读全文
【转】java引用机制
2011-03-24 09:34 by shy.ang, 735 阅读, 收藏,
摘要:
强引用在一般的Java程序中,见到最多的就是强引用(strong reference)。如Date date = new Date(),date就是一个对象的强引用。对象的强引用可以在程序中到处传递。很多情况下,会同时有多个引用指向同一个对象。强引用的存在限制了对象在内存中的存活时间。假如对象A中包含了一个对象B的强引用,那么一般情况下,对象B的存活时间就不会短于对象A。如果对象A没有显式的把对象B的引用设为null的话,就只有当对象A被垃圾回收之后,对象B才不再有引用指向它,才可能获得被垃圾回收的机会。除了强引用之外,java.lang.ref包中提供了对一个对象的不同的引用方式。JVM的垃 阅读全文
【转】java垃圾回收器的工作原理
2011-03-24 09:30 by shy.ang, 502 阅读, 收藏,
摘要:
垃圾回收器是如何工作的?我现在就简单的介绍一下首先要明确几点:Java是在堆上为对象分配空间的垃圾回收器只跟内存有关,什么IO啊,网络连接啊,管它P事当可用内存数量较低时,Sun版本的垃圾回收器才会被激活在垃圾回收器回收垃圾之前,我们先来了解一下Java分配对象的方式,Java的堆更像一个传送带,每分配一个新对象,它就往前移动一格。这意味着对象存储空间的分配速度相当快。Java的“堆指针”只是简单地移动到尚未分配的领域。也就是说,分配空间的时候,“堆指针”只管依次往前移动而不管后面的对象是否还要被释放掉。如果可用内存耗尽之前程序就退出就再好不过了,这样的话垃圾回收器压根就不会被激活。但是由于“ 阅读全文
URLConnection的学习笔记
2011-03-21 17:07 by shy.ang, 20269 阅读, 收藏,
摘要:
作为一个初学者,我是在学习Android网络编程的时候遇到的URLConnection,在网上也看见了不少代码,发现他们写的都不一样,或多或少(除了转载),也有很多提问和回答的,自己从中也吸取了一些知识,再加上自己的理解和调试,得出了一些东西,整理一下吧。 对于Android的初学者,在网络编程的时候,一定不要忘记<uses-permission android:name="android.permission.INTERNET"></uses-permission>,我在这上面吃了两次亏,比较郁闷,希望大家尤其是初学者千万不要忘记!不添加的话,貌似 阅读全文
Android学习笔记(六)——深入Intent和Service
2011-03-16 16:01 by shy.ang, 1507 阅读, 收藏,
摘要:
深入IntentIntent有三种形式:startActivity(intent)broadcast Intent机制可以将一个Intent发送给任何一个对这个Intent感兴趣的BroadcastReceiver通过startService(intent)或者bindService(intent,ServiceConnection,int)来和后台的Service进行交互连接Activity有两种——或者指定一个Activity,或者只包含选定Activity的信息,但具体启动哪个由系统决定最满足条件的。启动未指明的Activity:Intent intent = newIntent(Int 阅读全文
Android学习笔记(五)——数据存储(二)SQLite和ContentProvider
2011-03-16 16:00 by shy.ang, 1457 阅读, 收藏,
摘要:
3.SQLite类SQLiteDatebase的实例代表了一个SQLite数据库,它的方法可以执行SQL语句。数据库对于一个应用是私有的,在一个应用中,数据库名也是唯一的。SQLiteOpenHelper 抽象类 主要生成数据库,当程序调用类方法getWritableDatabase()或者getReadableDatabase()时,如果当时没有数据,系统会自动生成一个数据库。具体函数: onCreate(SQLiteDatebase)//生成数据库表 onUpdate()//DB需要升级的时候,系统主动调用,在方法里一般删除数据表,建立新的数据表 onOpen()//打开数据库的触发函数, 阅读全文
Android学习笔记(四)——Dialog和 数据存储(一)
2011-03-16 15:59 by shy.ang, 971 阅读, 收藏,
摘要:
Dialog组件 在Activity中用户可以主动调用的函数是: showDialog(int id),负责显示标识为id的Dialog,函数如果被调用, 会触发onCreateDialog(int id) dismissDialog(intid),使对应Dialog在界面中消失 Dialog有两个常见的触发方法:onCreateDialog(int id)和onPrepareDialog(intid,Dialog dialog).当调用了showDialog(intid),如果这个Dialog是第一次生成,则触发onCreateDialog(intid),然后再调用onPrepareDial 阅读全文
Android学习笔记(二)——Activity(Intent)
2011-03-14 21:22 by shy.ang, 1214 阅读, 收藏,
摘要:
创建视图组件过程: 新建Activity,并把它关联到对应的xml文件: setContentView(R.layout.xxx); 在xml文件中创建预设的视图组件android : id = ”@+id/xxx”以及相应的属性; 在Activity中创建组件并设置组件的监听器: OnClickListener listener = new OnClickListener(){ Publicvoid onClick(){ //如果需要转向另一个Activity则需要创建Intent Intentintent = new Intent(); //与欲跳入的Activity相关联 intent. 阅读全文
Android学习笔记(一)——Activity简介 和 View
2011-03-14 21:15 by shy.ang, 5213 阅读, 收藏,
摘要:
Android SDK ( Software Development Kit )Android ADT ( Android Development Tools )Android.jar是包含全部API的压缩包,其内包含编译后的class文件,通过winRAR打开可看到其内部.class数据。在Android中基本上所有的UI都是由View或者View的子类实现的。View代表了一块区域,这块区域可以处理事件并且可以主动渲染这块区域。Android作为一个移动设备的开发平台,其软件层次结构包括了一个OS、中间件和应用程序。(和PC应用开发一样)Android应用开发框架(Application 阅读全文
java 初学笔记
2011-03-12 10:27 by shy.ang, 933 阅读, 收藏,
摘要:
数据类型:布尔类型boolean变量名=true|false字符型char 整型三种形式:八进制、十进制、十六进制byteshortintlong 实型即浮点型十进制|科学计数法479E8Switch后面的expression的返回值类型必须是intbytecharshortcase子句中的值value必须是常量。/**…*/是java特有的doc注释,主要是为支持JDK工具javadoc而采用的。Javadoc能识别注释中用标记@标识的一些特殊变量,并把doc注释加入它所生成的HTML文件中。编程规范 命名规则:包的名字由小写字母序列组成 类名由大写字母开头而其他字母都小写类实例名由小写字母 阅读全文
浙公网安备 33010602011771号