摘要: 1.客户端的功能逻辑不难,UI界面也不难,但写UI花的时间是写功能逻辑的两倍. 2.写代码前的思考过程非常重要,即使在简单的功能,也需要在本子上把该功能的运行过程写出来. 3.要有自己的知识库,可以是一个工具类,把写过的,看过的好的代码放进去,也可以是一个笔记本软件.因为只有放在知识库里的东西,才是你最重要的财富. 4.如果你想做自由职业者,你需要学英语,因为在国外的盈利比国内多很多.如果你想进大公司,好公司,你需要学英语.你想深入学习android, 但中文的android文章太少了,你查查百度,到处都是copy来copy去的hellword,所以,你需要学英语.如果你想出国,你需要学英语. 阅读全文
posted @ 2013-11-27 19:17 司马奔 阅读(246) 评论(0) 推荐(0) 编辑
摘要: dl-ssl.google.com在被墙了,解决方法:Windows下修改C:\Windows\System32\drivers\etc\hosts文件。Linux下修改/etc/hosts文件,末尾添加:74.125.237.1dl-ssl.google.com 阅读全文
posted @ 2013-11-27 19:14 司马奔 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 在android中有时候需要通过线条来分割控件。最常见的情形就是在底部选项卡的多个button中间,通过加入一条竖线加以区分或者是在头部导航添加 竖线,将返回键和其他内容区分开来。一般会通过imageview标签,显示一张小的图片完成,这里我会介绍直接利用view标签实现同样的功能。这样就能显示出来一条黑色的竖线,效果如下: 阅读全文
posted @ 2013-11-27 19:13 司马奔 阅读(973) 评论(0) 推荐(0) 编辑
摘要: 主要部分: SoftReference(软引用)是java中一个用来实现缓存内容的类。通过此类,可以观察某对象什么时候会被垃圾收集的执行绪清除。被 Soft Reference 指到的对象,即使没有任何 Direct Reference(强引用),也不会被清除。一直要到 JVM 内存不足时且 没有 Direct Reference(强引用) 时才会清除。 SoftReference 是用来设计 object-cache(对象缓存) 之用的。如此一来 SoftReference 不但可以把对象 cache 起来,也不会造成内存不足的错误 (OutOfMemoryError)。SoftRefere 阅读全文
posted @ 2013-11-27 19:12 司马奔 阅读(477) 评论(0) 推荐(0) 编辑
摘要: 用惯eclipse的同学们可以试试通过IntellijIDEA来开发一个android应用。下面是具体的教程。首先:下载IntellijIDEA。最新版本是12。官方提供两个版本。一个是CommunityEdition,包含有android,javase的开发环境,是免费开源的。另一个是UltimateEdition,收费的。可以试用30天。这里我下载的是CommunityEdition。下载完成后就是普通的安装完成即可。其次:启动IntellijIDEA,第一次启动会比较慢。同时会弹出一个选择框询问是否导入以前的配置文件。这里选择第二项。下面是欢迎的界面:侧边栏会显示使用过的project, 阅读全文
posted @ 2013-11-27 19:09 司马奔 阅读(8432) 评论(0) 推荐(0) 编辑
摘要: 今天想到要在ubuntu10.0.4下下载android的源码学习一下。源码下载用到了git。以前安装过git以为应该没什么问题的,没想到报了 “fatal: git 1.7.2 or later required”。看了以下是要更新git的版本。下面记录一下更新的命令,留个记录,方便以后用。sudo add-apt-repository ppa:git-core/ppasudo apt-get updatesudo apt-get install git不过更新会比较慢,所以要耐心登上一会儿。 阅读全文
posted @ 2013-11-27 19:07 司马奔 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 编译android源码,找不到g++。通过apt-get下载时候,总是提示“Ubuntu 10.04 LTS _Lucid Lynx_ - Release i386 (20100429)” 的盘片插入驱动器“/cdrom/”再按回车键。后来google了一下发现是因为再ubunut源中选上了光盘源,所以系统会提示你插入光盘,更新包。 只要从源中去除光盘源,直接在线更新就可以了。 阅读全文
posted @ 2013-11-27 19:05 司马奔 阅读(228) 评论(0) 推荐(0) 编辑
摘要: Android源码下载1、安装git2、安装repo从这里https://dl-ssl.google.com/dl/googlesource/git-repo/repo下载repo文件3、修改repo权限$ repo init -u https://android.googlesource.com/platform/manifest查看有那些分支4、./repo init -u http://googlesource.com/platform/manifest.git -b froyo #2.2的源码5、./repo sync注意:1、如果出现公钥问题,则删除~/repoconfig文件夹,重 阅读全文
posted @ 2013-11-27 19:02 司马奔 阅读(294) 评论(0) 推荐(0) 编辑
摘要: # uname -ax86_64则说明你是64位内核, 跑的是64位的系统.i386, i686说明你是32位的内核, 跑的是32位的系统 阅读全文
posted @ 2013-11-27 19:01 司马奔 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 在activity间跳转传递参数,常见方法是通过onStartActivityForResult来做。不过今天使用 onStartActivityForResult的时候已经在上一个activity调用了setResult方法,resultCode也没有问题, 但是在当前的activity的onActivityResult方法中始终无法获取到intent值。google了一下,在 stackoverflow上找到了一个方法可以解决了问题。主要代码:Intent data = new Intent(); [...]if (getParent() == null) { setResult(A... 阅读全文
posted @ 2013-11-27 18:59 司马奔 阅读(896) 评论(0) 推荐(0) 编辑
摘要: 在ubuntu中配置好jdk和android_sdk环境后,可以通过命令行方式创建一个android工程。具体命令如下:android create project --target --name MyFirstApp --path /MyFirstApp --activity MainActivity --package com.example.myfirstapp也可以简写成android create project -t -n MyFirstApp -p /MyFirstApp -a MainActivity -k com.example.myfirstapp 如果不行每次都输... 阅读全文
posted @ 2013-11-27 18:58 司马奔 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 出现make:***[out/target/common/obj/APPS/CMParts_intermediates/classes-full-debug.jar]Error41这样的错误最大原因可能是因为本机的JDK安装配置问题。默认情况下Android2.2源码需要用到的是jdk1.5的版本。通过java-version查看java的版本。如果输出字样中包含用openjdk最好换成sunjdk。JDK版本不对应似乎也不行。例如我本机安装的Jdk1.7,在make的时候始终提示版本不对应,一直没有完成编译。1、删除openjdk在终端输入sudoapg-getremoveopenjdk*, 阅读全文
posted @ 2013-11-27 18:56 司马奔 阅读(1553) 评论(0) 推荐(0) 编辑
摘要: 在Android系统中可以很方便的修改字体样式。系统提供了三种样式,分别是sans,serif,monospace。可以在xml布局文件中通过android:typeface="[sans,serif,monospace]" 当然Android也为开发者提供了使用外部字体样式的方式。在官方给出的Design帮助文档中有一个roboto的字体库。字体的一些效果如下:使用方式:首先在assets目录下,新建一份fonts目录。将想要使用的字体文件(*.ttf)文件拷贝进来。其次编写如下代码:Typeface tf1 = Typeface.createFromAsset(getA 阅读全文
posted @ 2013-11-27 18:54 司马奔 阅读(484) 评论(0) 推荐(0) 编辑
摘要: diff用来比较两个文件的差异。首先构建两个相似的文件。Hello文件world文件使用diff-uhelloworld>diff.txt,将两个文件的比对结果输入到diff.txt。文件中通过more命令查看如下:第1,2行分别记录了原始文件和目标文件的名称及时间戳。三个减号代表原始文件,三个加号代表目标文件。以减号开始表示只出现在原始文件中的行。加号表示只出现在目标文件中的行。以空格开始头的行表示在两个文件中都出现相同的内容。前后各两个@符号表示差异节。-表示在源文件中,+表示在目标文件中。差异节-1,6表示剔除空行和相同的行,从第一行开始共有六行内容不一致。,+反之。patch命令 阅读全文
posted @ 2013-11-27 18:49 司马奔 阅读(947) 评论(0) 推荐(0) 编辑
摘要: 当android的系统启动的时候,系统会自动扫描sdcard内的多媒体文件,并把获得的信息保存在一个系统数据库中,以后在其他程序中如果想要访问多媒体文件的信息,其实就是在这个数据库中进行的,而不是直接去sdcard中取,理解了这一点以后,问题也随着而来:如果我在开机状态下在sdcard内增加、删除一些多媒体文件,系统会不会自动扫描一次呢?答案是否定的,也就是说,当你改变 sdcard内的多媒体文件时,保存多媒体信息的系统数据库文件是不会动态更新的。 那么如何让多媒体数据库中的数据更新呢?我们可以采用广播机制来实现:在应用程序中发送一个广播,让android系统扫描sdcard并更新多媒体数据. 阅读全文
posted @ 2013-11-27 18:43 司马奔 阅读(4137) 评论(0) 推荐(0) 编辑
摘要: 昨天在自己的项目中用到了onActivityResult()方法获得activity的返回值。我从Activity01通过 startActivityForResult启动了Activity02和Activity03。在不设置launchMode的情况下,两个 activity都能传回值。但是如果设置launchMode=“singleTask”,就不行了。官方文档给出的说明是 For example, if the activity you are launching uses the singleTask launch mode, it will not run in yo... 阅读全文
posted @ 2013-11-27 18:38 司马奔 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 今天想给项目添加一个侧边栏的效果,使用到了https://github.com/jfeinstein10/SlidingMenu这个开源项目。项目本身可以通过github下载。此项目同时又依赖于一个名为ActionBarSherlock的项目。此项目地址:https://github.com/JakeWharton/ActionBarSherlock。android-support-v4.jar版本不一致在这两个项目间存在android-support-v4.jar版本不一致的情况。最简单的方式,就是将两个项目中的设置为同一个版本即可。SlidingMenu自带demo中getSupportA 阅读全文
posted @ 2013-11-27 16:17 司马奔 阅读(261) 评论(0) 推荐(0) 编辑