随笔分类 - Android
手机操作系统Android
摘要:大家都知道, Android Studio 的编译构建,是基于Gradle的, 而Gradle又是基于Groovy, Groovy又是基于Java的 Android Studio 的gradle 本身就是基于groovy的, 所以环境的搭建就不多说了。 Groovy语言基础 1. 注释:与java相
阅读全文
摘要:1. 要深刻理解Fragment 的生命周期2. Fragment.getActivity()并不能保证非空。3.如果在Fragment中有异步的回调, 特别要注意此时Fragment 是否还attached 在Activity中,可以调用isVisible()来判断4. Layout 中添加fra...
阅读全文
摘要:Android应用安装有如下四种方式1.系统应用安装――开机时完成,没有安装界面2.网络下载应用安装――通过market应用完成,没有安装界面3.ADB工具安装――没有安装界面。4.第三方应用安装――通过SD卡里的APK文件安装,有安装界面,由packageinstaller.apk应用处理安装及卸载过程的界面。下载好的Android apk, 在安装过程中,其中文件内容是这样处理的:1. 先把apk拷贝到/data/app下, 没错,就是完整的apk, 例如com.calendar.UI-2.apk2. 解压apk,把其中的classes.dex 拷贝到/data/dalvik-cache,
阅读全文
摘要:Technorati Tags: windowSoftInputMode,软键盘显示,隐藏 <activity android:windowSoftInputMode=["stateUnspecified", "stateUnchanged", "stateHidden", ...
阅读全文
摘要:我们已经多次使用Activity,今天我们来讲讲一个重要的概念,Activity的生命周期。 Activity的创建,暂停,销毁等动作,都是由Android系统统一管理的(在Framework里有一个叫ActivityManager的Service). 我们来看一张图: 这是一张Activity的生命周期图,Activity一共有六个状态: Created,Started,Resume...
阅读全文
摘要:在前面的几讲中,我们都是使用xml layout 来去控制UI组件,其实我们也可以完全抛开XML,用纯代码来控制我们的界面UI。 回顾我们学过的,遇到过的UI组件,有容器类的Layout:LinearLayout,RelativeLayout等, 也有视图类UI:TextView, EditText, Button, ImageView等。对应到代码中,我们会发现,他们都是View子类,具体关系...
阅读全文
摘要:在前面几讲中, 我们其实已经多次用到过Layout,用的最多的线性布局。今天我们来详细探讨一下布局。 Layout,是在Activity的界面的结构,它定义了您的UI元素该如何组织来呈现给用户。Layout的定义其实有两种方式: Xml定义 代码定义 Xml layout 定义的好处在于,减少了与代码的耦合,同一份代码可以用不同layout以适应大小屏幕,横竖屏。 代码定义好的好处在于灵活性强,当然效率也相对要一些。 所以这两种方式有很有用,有时也会结合起来使用。但平常用的最多的还是xml形式的。 主要的Layout一共有五种: LinearLayout ...
阅读全文
摘要:接着上一讲留下的“需求”: 设计一个登陆界面: 允许用户输入用户名,密码; 用户点击“Login”之后,如果用户名为admin, 密码为123则显示“登陆成功”; 如果用户名密码其中之一不正确,红色字体显示“登陆失败!” 首先我们来建立一个新的项目: 图标那一步就随便选吧,下一步: 这一步与上次有点不同, 这次我们不要ADT 帮我们创建任何的Activity,我们只需要一个空...
阅读全文
摘要:上一讲已经成功运行了HelloWorld,接下来讲解一下首先我们会想,我们以前的HelloWorld, 都会有个main 函数的入口点, Android应用的入口在哪来呢?src 下的FirstActivity.java? 貌似找不到任何熟悉的main函数的定义。不用找了, Android应用里面并没有main函数。但是它确实有个入口:在AndroidManifest.xml 我们看到这个activity节点 <activity android:name=".FirstActivity" android:label="@string/t...
阅读全文
摘要:今天我们来真正开始我们的Android 开发之旅。以下的内容,建议先跟着Step by Step的照做,先“知其然”,完成之后我们再来“知其所以然”。 建立Android 项目 1. 打开Eclipse 后, 在菜单File->New->Other-> 在弹出的对话框,展开“Android”系列, 选择”Android Application Project”(ADT20以前叫An...
阅读全文
摘要:Android是什么估计就不用介绍了,如果还不知道的,那真是互联网的一朵奇葩了。简要回顾一下Android的发展历史:2003年的某天(谁知道具体哪天呢),一个好有才的家伙Andy Rubin 开发了一个手机操作系统,命名为Android.2005年,Google看中了Android,花了5000万美金收购了只成立了22个月的Android公司。2007年11月5日 谷歌发起组建开放手持设备联盟(Open Handset Alliance)2008年9月 Android 1.0 发布2009年4月 Android 1.5, 9月1.6, 10月2.02010年5月20日 Android2.2
阅读全文
摘要:Java当中的引用有四种:1.强引用平常我们用的最多的引用。只有当分配的内存对象不再有任何引用时,GC才可能开始回收其内存。1Aobj=newA();2.....3obj=null;此时obj 可以被回收。2.软引用SoftReference:SoftReference常常被用于高速缓存cache,它的特点是,并不是你把它设成了null(对象不可达),GC就会回收它,而是只有当内存不足时,才去回收它!3.弱引用WeakReference实际上是一种“间接”引用,当我们希望能随时取得某对象的信息,但又不想影响此对象的垃圾收集,那么你应该用 Weak Reference来记住此对象。1Aobj=.
阅读全文
摘要:变换Matrix的原理http://blog.csdn.net/pathuang68/article/details/6991867代码验证http://blog.csdn.net/pathuang68/article/details/6991988Matrix的应用http://blog.csdn.net/pathuang68/article/details/6992085附:三角函数公式 ,有助于理解Matrix原理两角和公式sin(a+b)=sinacosb+cosasinbsin(a-b)=sinacosb-sinbcosa cos(a+b)=cosacosb-sinasinbcos
阅读全文
摘要:Android 动画框架详解http://www.ibm.com/developerworks/cn/opensource/os-cn-android-anmt1/index.html
阅读全文
摘要:要点:1.定义Layout 文件 如header.xml2. 继承类FrameLayout(或者ViewGroup, 或者View)publicHeaderBar(Contextcontext,AttributeSetattrs){this(context,attrs,R.style.headerTitleBarStyle);}publicHeaderBar(Contextcontext,AttributeSetattrs,intdefStyle){super(context,attrs,defStyle);LayoutInflater.from(context).inflate(R.layo
阅读全文
摘要:Android LintLint 是Android ADT 16引入的优化工具,它可以扫描你的代码,帮助发现潜在的问题,例如:1.文本国际化(有些文本缺少其它语言版本)2.Layout的性能问题3.无用的多余的资源4.不一致的数组大小(在配置文件中)5.重复的图标,图片6.可用性问题(如没有为EditText指定 InputType)7.Manifest xml配置错误。安装了ADT 16后, 默认就有Lint。项目上右键-》Android Tools->Run Lint....
阅读全文
摘要:请参考Windows 下配置android 源码获取环境http://yuanzhifei89.iteye.com/blog/1117549注意里面的提到的源码地址android.git.kernel.org已经不可用,估计Google关闭掉了,应替换成新的https://android.googlesource.com/很多时候我们并不想下载全部源码,以下是各个子项目的源码(最新,可用地址):gitclonehttps://android.googlesource.com/device/common.gitgitclonehttps://android.googlesource.com/de
阅读全文
摘要:一直认为Andoid 官网是最强大,最权威的开发参考文档。里面有不少好东西,可以慢慢挖掘。今天的Tips 是:1.如果你指定了layout_weight, android:layout_width设置成0,可以提高性能。In order to improve the layout efficiency when you specify the weight, you should change the width of the EditText to be zero (0dp). Setting the width to zero improves layout performance be.
阅读全文
摘要:NND, 该死的ZF, 把google搜索老是屏蔽!百度牛掰?又不见你百度给我找出正确答案?!!要是有一天“百度他M”能知道就好了。。。以下是以备需要, 还没有测试成功!Omit Unexpected XML Elements With XStreamPosted January 8, 2009Filed under: Java, XML | XStream is a Java xml library, which nicely serializes Java objects to XML and vice versa. It can easily deal with missing (i..
阅读全文
摘要:以下是我的自己的理解:px:表示屏幕实际的象素, 就是屏幕上一个一个的点,像素并不能表示真实的尺寸,一个像素有可能很大(例如在投影仪的屏幕上),也有可能很小(如在手机上)。pt:表示一个点,是屏幕的真实物理尺寸,常用于印刷。大小为1英寸的1/72. 在Photoshop 上, 默认设置是72像素/英寸, 所以在这种情况下,1pt = 1px.dp:也写作dip, 他两都是一个意思。它Android 自己抽象出来的单位, 我的理解是,它其实跟真实物理尺寸是一致的,它与像素无关,与屏幕密度(下面解释)无关。densityDpi: 屏幕密度,对应于PC领域的DPI, 也就是一英寸里有多少个像素。标准
阅读全文

浙公网安备 33010602011771号