`
825288003
  • 浏览: 110709 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
一、什么是注释     说起注释,得先提一提什么是元数据(metadata)。所谓元数据就是数据的数据。也就是说,元数据是描述数据的。就象数据表中的字段一样,每个字段描述了这个字段下的数据的含义。而J2SE5.0中提供的注释就是java源代码的元数据,也就是说注释是描述java源代码的。在J2SE5.0中可以自定义注释。使用时在@后面跟注释的名字。                                                                                     二、J2SE5.0中预定义的注释     在J2SE5.0的java. ...
属性 值 说明 android:orientation horizontal/vertical 设置布局水平还是垂直,默认是垂直 android:checked true/false 标记默认选中,如果是单选则选中最后一个 android:layout_gravity center/right/left/bottom/top 位置 android:gravity center/right/left/bottom/top 位置(android:gravity属性是对该view内容的限定.比如一个button上面的text.你可以设置该text在view的靠左,靠 ...
外置资源一个很重要的原因是Android的动态资源选取机制。 使用下面描述的结构,你可以为指定的语言、区域和硬件配置创建不同的资源值,供Android系统在运行时动态选取。 这能让你创建指定语言、区域和硬件的用户界面,而不需要更改你的代码。 通过在/res文件夹下设置平行的文件夹来设定供选择的资源,使用“-”分割符来指定应用程序支持的条件。 下面的层次例子,显示了文件夹结构,包括默认的字符串值,法语字符串值和额外的加拿大地区的法语字符串值。 Project/ res/ values/ strings.xml values-fr/ strings. ...
外置资源一个很重要的原因是Android的动态资源选取机制。 使用下面描述的结构,你可以为指定的语言、区域和硬件配置创建不同的资源值,供Android系统在运行时动态选取。 这能让你创建指定语言、区域和硬件的用户界面,而不需要更改你的代码。 通过在/res文件夹下设置平行的文件夹来设定供选择的资源,使用“-”分割符来指定应用程序支持的条件。 下面的层次例子,显示了文件夹结构,包括默认的字符串值,法语字符串值和额外的加拿大地区的法语字符串值。 Project/ res/ values/ strings.xml values-fr/ strings. ...
共享UID 安装在设备中的每一个Android包文件(.apk)都会被分配到一个属于自己的统一的Linux用户ID,并且为它创建一个沙箱,以防止影响其他应用程序(或者其他应用程序影响它)。用户ID 在应用程序安装到设备中时被分配,并且在这个设备中保持它的永久性。 通过Shared User id,拥有同一个User id的多个APK可以配置成运行在同一个进程中.所以默认就是可以互相访问任意数据. 也可以配置成运行成不同的进程, 同时可以访问其他APK的数据目录下的数据库和文件.就像访问本程序的数据一样. 对于一个APK来说,如果要使用某个共享UID的话,必须做三步: 1、在Manifes ...
在调试Android数据库程序时控制台打印出如下信息: [2010-08-10 23:57:41 - SQLTest3] Installation error: INSTALL_FAILED_CONFLICTING_PROVIDER [2010-08-10 23:57:41 - SQLTest3] Please check logcat output for more details. [2010-08-10 23:57:41 - SQLTest3] Launch canceled! 这主要是由于调试的环境中已有一个同名的Provider存在。 解决方法是修改AndroidManifest ...
Andriod提供了Handler和Looper来满足线程间的通信.Handler先进先出原则.Looper类用来管理特定线程内对象之间的消息交换(Message Exchange).   1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue(消息队列).   2)Handler:你可以构造Handler对象来与Looper沟通,以便push新消息到Message Queue里;或者接收Looper从Message Queue取出)所送来的消息.     3) Message Queue(消息队列):用来存放线程放入的消息.   4)线 ...
1)两个进程AB,在需要进行通信时向/dev/binder mmap 一块虚拟内存区域,这个大小通常是数MB。 2)当进程A要向进程B传递数据时,A使用ioctl操作/dev/binder,将数据传递给binder驱动。 3)binder驱动依据A传递来的数据大小,申请合适的物理内存来存储这些数据。并在B mmap得到的虚拟内存区域中找到合适大小的虚存空间,然后修改B的内存映射表,使这段虚存空间映射到刚刚申请的物理内存。这样B就可以访问A传递进来的数据了。 功能描述: mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空 ...
1、架构图直观 下面这张图展示了Android系统的主要组成部分: 图1、Android系统架构(来源于:android sdk) 可以很明显看出,Android系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。 ...
  Android的窗口管理是C/S模式的。Android中的Window是表示Top Level等顶级窗口的概念。DecorView是Window的Top-Level View,这个View我称之为主View,DecorView会缺省的attach到Activity的主窗口中。主View被加入到WindowManager中,WM使用WindowState与这个主View对应。        Activity建立一个主窗口后,在将主窗口添加到WindowManager时,首先要建立WindowManager代理对象,并打开一个会话(实现IWindowSession AIDL接口),并维持该 ...
•Android 在XML里面共享同一布局文件 •使用XML的方式为背景添加渐变的效果 •如何用代码自定义Android 自动生成的标题? •在ActivityGroup里面如何访问子Activity的View 并操作它去改变UI? 就上面四点吧,这些好像在搜索里面不大搜索 ...
Android源码学习之四-ActivityGroup是如何对嵌入的Activitys进行管理的 . 此前,我们对Activity进行了一些学习,在Android中,还提供了一个ActivityGroup类,该类是Activity的容器,可以包含多个嵌套进来的Activitys,我们接下来依然采用源码分析的方式来了解该类的内部实现。 首先,从SDK中和源码中都可以获知,ActivityGroup类的父类是Activity,也就是说二者具有相同的接口和生命周期,同Activity一样,也有onCreate()、onPause()等函数可供我们重载。 在ActivityGroup的源码中有成员变 ...
TabAcitivity继承自AcitivtyGroup,AcitivityGroup的主要作用是创建一个LocalActivityManger,然后把activity的onCreate等事件传递给LocalActivity来处理,作用仅此而已,非常简单。 TabActivity真正重要的包括三部分,TabHost,TabWidget,LocalActivityManager. TabHos ...
Global site tag (gtag.js) - Google Analytics