`
yutinglong
  • 浏览: 63735 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
每一个Android应用程序包含一个manifest文件——AndroidManifest.xml,保存在工程的根目录中。该文件定义了应用程序的结构和元数据以及它们的组件。       它包含组件(Activity,Service,Content Provider和Broadcast Receiver)的节点,这些组件构成了整个应用程序。并且使用Intent Filter和Permission,来决定如何相互影响以及对其他应用程序的影响。   它同样提供了特性来指定应用程序的元数据(像icon或者theme等),另外,还提供了高层节点用来安全设定和单元测试。如下描述: manife ...
以代码重用为荣,以复制张贴为耻;以多态应用为荣,以分支判断为耻;以定义常量为荣,以魔法数字为耻;以总结思考为荣,以不求甚解为耻;以动手实践为荣,以只看不练为耻;以打印日志为荣,以出错不保为耻;以局部变量为荣,以全局变量为耻;以单元测试为荣,以手工测试为耻。
/** * 最小化,回到桌面 * */ public static void goHome(Activity activity) { Intent intent = new Intent(); intent.setAction("android.intent.action.MAIN"); intent.addCategory("android.intent.category.HOME"); activity.startActivity(intent); }  
数组在Android开发中是如何定义和使用的呢? 在Android学习中如何定义和使用数组呢,请看下面的代码! <resources> <!-- Used in View/Spinner1.java --> <string-array name="colors"> <item>red</item> <item>orange</item> <item>yellow</item> ...
Android的WebView固然强大,不过很多时候还要依赖于Android组件。这些组件的常规的使用方法这里就不必说了,而在这些组件中还有很多比较有趣的使用方法。例如,使用过QQ for Android的开发人员可能会发现,在输入聊天记录时,可 ...
     这个问题从一开始接触到Android开发就困扰我很久了,平常除错少用中文log这个问题影响到不大,但是碰到需要把data (通常是远端的json or 本地端cache的sqlite)印出来观察这一种除错的情境时,这问题就头大了! 问了google也没有好解答,在android的google code里issue 1590就是在陈述这个问题,下面Comment提供的方法我试不出来,有趣的是用adb logcat在console下是不会有乱码的,所以问题一定出在ADT上,最近自已build了ADT trunk来用,刚好又遇到需要dump中文的data来debug的case,所以就尝试 ...
基本空间划分 Google给了我们一张系统架构图,在这张图上我们可以看到Android的大体框架组成。     从上图可以看到:       Android Applications,Application Framework,Dalvik Virtual Machine,Linux。如果将Android泛化,我们可以将系统划分成两部分:     但是为了研究的方便我们先看最为本质的三层,上面是Android,中间叫Dalvik虚拟机,下面叫Linux。
手机的软件形态       上节我给出了手机的硬件树,本节将给出手机软件形态树。主要突出手机软件涵盖的内容。通过该思维导图,我们可以看到手机软件所涉及到的方方面面,Android所涉及到的内容也不会超过下面所示太多,这个也是Andoid系统外特性空间所要展示的,这个也是Android设计者需要考虑管理的大部分内容,通过下面的整理,我们可以让我们的思维更加贴近Android设计意图,从而更深入的了解Android中各种组成的由来,这个就是前面讲到的分析思想之一从退到源头出发,从思考最终极的问题开始。
Android是什么 之三-------手机之硬件形态     本节可能与Android无关,但是Android系统现在这个阶段更多的是移动终端形态的开发平台,本节给出了Android背后的工作-Android管理的硬件是什么,Android的本质就是要管理好这些硬件部分,为用户提供一个体验更好,速度更快的智能移动终端。对手机硬件形态的认识是要让我们对手机硬件组成有个感性的认识,让程序员知道系统中的代码是管理那一部分的,即我们堆砖头的目的是什么,让思维有一个伸展。      为了对手机这类嵌入式系统有一个较为深入的了解,我制作了如下的手机硬件结构思维导图,在这张图上我们可以看到组成手机硬件的 ...
方法论探讨之概念空间篇       我们潜意识就不想用计算机的方式来思考问题,我们有自己的思维描述方式,越是接近我们思维描述方式,我们越容易接受和使用。各种计算机语言,建模工具,不外乎就是建立一个更接近人的思维方式的概念空间,再使用工具从该概念空间向另外一个概念空间映射,我称之为人性思维空间向01序列描述空间的一个映射。实现方面来看,系统就是一个翻译器,将机器性更加人性化的一种机制。大学计算机经典课“计算机体系结构”,其他的可以忘记,但是下面这个图不能忘记: 这个就是概念空间最本质的原型体现:作为观测者看到了什么?设计者给了观察者什么?给出的答案是外部特性。 (1)提供给观察者的概念空 ...
分析方法论探讨之设计意图       为什么要研究Android,是因为它够庞大,它够复杂,他激起了我作为一个程序员的内心的渴望,渴望理解这种复杂性。我研究的对象是作为手机开发平台的Android软件系统部分,而不是Dalvik虚拟 ...
1、在string.xml中添加一个字符串,其中含有可变字符%s,代码如下。 <string name="login_about_title">Beem %s - About</string> 2、在代码中使用下列代码获取该字符串。 String title = getString(R.string.login_about_title, "字符串");  其中“字符串”将会替换string.xml中的%s。 3、得到的字符串并打印,效果如下。  title = "Beem 字符串 - About";  ...
在代码中的获取方法如下: String versionname;//版本号 try { PackageManager pm = getPackageManager(); PackageInfo pi = pm.getPackageInfo("com.beem.project.beem", 0); versionname = pi.versionName;//获取在AndroidManifest.xml中配置的版本号 } catch (PackageManager.NameNotFoundException e) { versionname = " ...
归纳总结android2.1源码开发过程中的一些实用的小技巧。 1,make时输出LOG信息可调用info函数,格式为:$(info 输出的信息内容),如 $(info LOCAL_PATH=$(LOCAL_PATH))。 2,make时,直接指定产品和不同的variant,可例用make PRODUCT-产品-user(eng,userdebug),如make PRODUCT-gphone-eng. 3,修改默认的product和variant,更改build/core/envsetup.mk文件中的TARGET_PRODUCT := generic这一行,将generic改 ...
升级了2.3的朋友应该知道,升级到2.3后,Eclipse会报错!不能编译运行了,解决办法如下。 1、因为升级后的2.3会在android-sdk-windows下创建一个platform-tools文件夹,其中包含了应该在tools文件夹下的东西,我们只需要将platform-tools文件夹下的所有文件复制到tools目录下。 2、然后在platforms文件夹下的android-9文件夹下创建一个tools文件夹(如果已经存在就不用新建了),然后同样将platform-tools文件夹中的文件复制到android-9/tools文件夹下。 3、重启Eclipse,更新ADT即可。
Global site tag (gtag.js) - Google Analytics