随笔分类 -  Android之基础知识

摘要:在开发Android移动客户端的时候往往要使用多线程来进行操作,我们通常会将耗时的操作放在单独的线程执行,避免其占用主线程而给用户带来不好的用 户体验。但是在子线程中无法去操作主线程(UI 线程),在子线程中操作UI线程会出现错误。因此android提供了一个类Handler来在子线程中来更新UI线程,用发消息的机制更新UI界面,呈 现给用户。这样就解决了子线程更新UI的问题。但是费时的任务操作总会启动一些匿名的子线程,太多的子线程给系统带来巨大的负担,随之带来一些性能问题。 因此android提供了一个工具类AsyncTask,顾名思义异步执行任务。这个AsyncTask生来就是处理一些后. 阅读全文
posted @ 2012-06-12 15:21 精灵博客园 阅读(187) 评论(0) 推荐(0)
摘要:一 View ,ViewGroup的绘制过程ViewGroup绘制包括两个步骤:1.measure 2.layout在两个步骤中分别调用回调函数:1.onMeasure() 2.onLayout()1.onMeasure() 在 这个函数中,ViewGroup会接受childView的请求的大小,然后通过childView的 measure(newWidthMeasureSpec, heightMeasureSpec)函数存储到childView中,以便childView的getMeasuredWidth() andgetMeasuredHeight() 的值可以被后续工作得到。2.onLa. 阅读全文
posted @ 2012-05-31 17:30 精灵博客园 阅读(798) 评论(0) 推荐(0)
摘要:接口1 因为java不支持多重继承,所以有了接口,一个类只能继承一个父类,但可以实现多个接口,接口本身也可以继承多个接口。2接口里面的成员变量默认都是public static final类型的。必须被显示的初始化。3 接口里面的方法默认都是public abstract类型的。隐式声明。4 接口没有构造方法,不能被实例化。5 接口不能实现另一个接口,但可以继承多个接口。6 类如果实现了一个接口,那么必须实现接口里面的所有抽象方法,否则类要被定义为抽象类。抽象类1如果将一个类声明为abstract,此类不能生成对象,只能被继承使用。2 抽象方法必须存在于抽象类中。3 抽象类中可以有一般的变量和 阅读全文
posted @ 2012-05-14 11:06 精灵博客园 阅读(259) 评论(0) 推荐(0)
摘要:static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。 被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象。 用public修饰的static成员变量和成员方法本质是全局变量和全局方法,当声明它类的对象市,不生成static变量的副本,而是类的所有实例共享同一个static变量。 st... 阅读全文
posted @ 2012-05-14 11:06 精灵博客园 阅读(146) 评论(0) 推荐(0)
摘要:Java中访问修饰符public、private、protecte、default的意义讲解:public(接口访问权限): Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。private(你无法访问): Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。protected(继承访问权限): 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类 阅读全文
posted @ 2012-05-14 11:05 精灵博客园 阅读(323) 评论(0) 推荐(0)
摘要:一、this Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在“Java关键字static、final 使用总结”一文中给出了明确解释。并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this。下面给出一个使用this的综合 实例,以便说明问题:?package org.leizhimin;public class Test6 {private int number;pri 阅读全文
posted @ 2012-05-14 11:05 精灵博客园 阅读(209) 评论(0) 推荐(1)
摘要:转自:http://hxraid.iteye.com/blog/428891在Java方法调用的过程中,JVM是如何知道调用的是哪个类的方法源代码? 这里面到底有什么内幕呢? 这篇文章我们就将揭露JVM方法调用的静态(static binding)和动态绑定机制(auto binding)。★ 静态绑定机制Java代码//被调用的类packagehr.test;classFather{publicstaticvoidf1(){System.out.println("Father—f1()");}}//调用静态方法importhr.test.Father;publicclas 阅读全文
posted @ 2012-05-14 11:04 精灵博客园 阅读(267) 评论(0) 推荐(0)
摘要:1)创建/** * 为程序创建桌面快捷方式 */ private void addShortcut(){ Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT"); //快捷方式的名称 shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name)); shortcut.putExtra("duplicate", false); //不允许重复创建 ... 阅读全文
posted @ 2012-05-11 12:08 精灵博客园 阅读(215) 评论(0) 推荐(0)
摘要:一、NDK产生的背景 Android平台从诞生起,就已经支持C、C++开发。众所周知,Android的SDK基于Java实现,这意味着基于 AndroidSDK进行开发的第三方应用都必须使用Java语言。但这并不等同于“第三方应用只能使用Java”。在AndroidSDK首次发布 时,Google就宣称其虚拟机Dalvik支持JNI编程方式,也就是第三方应用完全可以通过JNI调用自己的C动态库,即在Android平台 上,“Java+C”的编程方式是一直都可以实现的。 不过,Google也表示,使用原生SDK编程相比Dalvik虚拟机也有一些劣势,AndroidSDK文档里,找不到任何JN.. 阅读全文
posted @ 2012-05-11 12:08 精灵博客园 阅读(185) 评论(0) 推荐(0)