Welcome 微信登录

首页 / 移动开发 / Android

Android笔记之:App模块化及工程扩展的应用

Android笔记之:App模块化及工程扩展的应用

1.需求 无论是在.net还是java平台,合理的分层架构是最普遍的模块化思路之一。 dll,jar文件无不风靡盛行,无处不在。 一天,tx团队和我说,我们现在要做android上做三个论坛的客户端,一个是新闻论坛,一个是文学论坛,一个是音乐论坛。除了数据,界面和很少的模块不一样,其他的都一摸一样。 jar是我第一刻就想到的东西,但是共用的jar文件无法方便的共享资源或者覆盖资源。 而我们也不会傻傻的单独做三个客户端的吧,也不会傻傻的做3个客户端再傻傻的...
Android笔记之:App自动化之使用Ant编译项目多渠道打包的使用详解

Android笔记之:App自动化之使用Ant编译项目多渠道打包的使用详解

随着工程越来越复杂,项目越来越多,以及平台的迁移(我最近就迁了2回),还有各大市场的发布,自动化编译android项目的需求越来越强烈,后面如果考虑做持续集成的话,会更加强烈。 经过不断的尝试,在ubuntu环境下,以花界为例,我将一步一步演示如何使用命令行,使用ant编译android项目,打包多渠道APK。 要点: (1). 编译android的命令使用 (2). ant基本应用 (3). 多项目如何编译(包含android library)...
基于Android设计模式之--SDK源码之策略模式的详解

基于Android设计模式之--SDK源码之策略模式的详解

策略模式其实特别简单(听到这句话,大家是不是心里一下子放松了?)。比如排序,官方告诉大家我这里有一个排序的接口ISort的sort()方法,然后民间各尽其能,实现这个排序的方法:冒泡,快速,堆等等。这些方法就是“不同的策略”。然后,某个模块下,需要一个排序方法,但是暂时不能指定具体的sort方法(出于扩展的考虑),就需要使用ISort接口了。最后,具体什么场景下,传入什么具体的sort方法,实现灵活的排序。这就是策略模式!下面,我们分析Android中的动...
Android中vim编辑器进阶的使用介绍

Android中vim编辑器进阶的使用介绍

1. 移动指令 (1). h j k l, 方向键,记忆技巧:左右方向的是最左边和最右边的,j向下打了个勾,所以是向下键,剩下的k就是向上的键了。 (2). b, before,上一个单词(词首) w, word,下一个单词(词首) e, end,下一个单词(词尾) 注意这些小写的命令由字母,点,数字,下划线划分,还有这三个对应的大写字母的命令,B,W,E,类似的意思,但是是以空格区分移动的。总而言之,大写的移动范围要大。 (3). gg 首行 G 尾行,...
Android笔记之:CM9源码下载与编译的应用

Android笔记之:CM9源码下载与编译的应用

公司最近也开始基于android4.0 ICS修改框架了,公司的手机暂时不适合拿回家测试,也没有kernel的权限。从个人的角度看,我手上现在有两部手机,一部是Htc G9 Aria,一部是Samsung I9100 Galaxys2,Cyanogenmod的开源代码都提供了对这些手机的驱动支持,并且能方便的编译打包,并安装到手机。上一篇文章是android2.3的编译,已经过时,而且现在ubuntu已经升级到12.04,等等之类的,使我觉得非常有必要重新...
Android笔记之:App调试的几个命令的实践与分析

Android笔记之:App调试的几个命令的实践与分析

在Android的应用开发中,我们会用到各种代码调试;其实在Android的开发之后,我们可能会碰到一些随机的问题,如cpu过高,内存泄露等,我们无法简单的进行代码调试,我们需要一个系统日志等等,下面我把握工作中碰到的几个常用命令和方法给大家演示实践一下。1.logcat命令这个命令最简单常用,可查看帮助,我不多说,如果需要打印时间,加参数-v timeadb logcat -v time2.bugreport命令这个命令也非常简单,但是在实际应用中非常有...
Android 自动化测试经验分享 UiObejct.getFromParent()的使用方法

Android 自动化测试经验分享 UiObejct.getFromParent()的使用方法

1. UiObejct.getFromParent()的用法:从这个名字就知道,就是从当前对象的父对象中查找想要的子对象,该子对象和当前对象应该是同一层级。如上图所示:Max inactivity before lock是已知条件,4 minutes是我想动态获取的内容。那应该怎么做呢?先看看结构:TableLayout(curent index is 2) - TableRow(has several indexes) - TextView(has 2 ...
Android通话记录备份实现代码

Android通话记录备份实现代码

(一) 前言 Android默认提供了联系人备份到sd卡的功能(代码在com.android.vcard包里面),我们可以把联系人导出成.vcf文件存在sd卡中;如果换手机了,我们又可以把联系人从sd卡文件中导入进来。那么,通话记录我们也能不能做出类似的功能呢?答案是肯定的! (二) 导出通话记录 既然是备份通话记录,那就肯定包括导出和导入的功能,这里我们先讲导出通话记录。 1. 根据通话记录导出的规范,导出的文件一般以.vcl后缀结尾,中间的内容是 复制...
解析Android开发中多点触摸的实现方法

解析Android开发中多点触摸的实现方法

多点触摸技术在实际开发过程中,用的最多的就是放大缩小功能。比如有一些图片浏览器,就可以用多个手指在屏幕上操作,对图片进行放大或者缩小。再比如一些浏览器,也可以通过多点触摸放大或者缩小字体。其实放大缩小也只是多点触摸的实际应用样例之一,有了多点触摸技术,在一定程度上就可以创新出更多的操作方式来,实现更酷的人机交互。理论上,Android系统本身可以处理多达256个手指的触摸,这主要取决于手机硬件的支持。当然,支持多点触摸的手机,也不会支持这么多点,一般是支持...
解析Android开发优化之:对界面UI的优化详解(一)

解析Android开发优化之:对界面UI的优化详解(一)

通常,在这个页面中会用到很多控件,控件会用到很多的资源。Android系统本身有很多的资源,包括各种各样的字符串、图片、动画、样式和布局等等,这些都可以在应用程序中直接使用。这样做的好处很多,既可以减少内存的使用,又可以减少部分工作量,也可以缩减程序安装包的大小。下面从几个方面来介绍如何利用系统资源。1)利用系统定义的id比如我们有一个定义ListView的xml文件,一般的,我们会写类似下面的代码片段。复制代码 代码如下:<ListView and...
解析Android开发优化之:对界面UI的优化详解(二)

解析Android开发优化之:对界面UI的优化详解(二)

如果我们在每个xml文件中都把相同的布局都重写一遍,一个是代码冗余,可读性很差;另一个是修改起来比较麻烦,对后期的修改和维护非常不利。所以,一般情况下,我们需要把相同布局的代码单独写成一个模块,然后在用到的时候,可以通过<include /> 标签来重用layout的代码。常见的,有的应用在最上方会有一个标题栏。类似下图所示。图 标题栏的示例 如果项目中大部分Activity的布局都包含这样的标题栏,就可以把标题栏的布局单独写成一个xml文件...
解析Android开发优化之:对界面UI的优化详解(三)

解析Android开发优化之:对界面UI的优化详解(三)

有时候,我们的页面中可能会包含一些布局,这些布局默认是隐藏的,当用户触发了一定的操作之后,隐藏的布局才会显示出来。比如,我们有一个Activity用来显示好友的列表,当用户点击Menu中的“导入”以后,在当前的Activity中才会显示出一个导入好友的布局界面。从需求的角度来说,这个导入功能,一般情况下用户是不使用的。即大部分时候,导入好友的布局都不会显示出来。这个时候,就可以使用延迟加载的功能。ViewStub是一个隐藏的,不占用内存空间的视图对象,它可...
解析Android开发优化之:从代码角度进行优化的技巧

解析Android开发优化之:从代码角度进行优化的技巧

通常我们写程序,都是在项目计划的压力下完成的,此时完成的代码可以完成具体业务逻辑,但是性能不一定是最优化的。一般来说,优秀的程序员在写完代码之后都会不断的对代码进行重构。重构的好处有很多,其中一点,就是对代码进行优化,提高软件的性能。下面我们就从几个方面来了解Android开发过程中的代码优化。1)静态变量引起内存泄露在代码优化的过程中,我们需要对代码中的静态变量特别留意。静态变量是类相关的变量,它的生命周期是从这个类被声明,到这个类彻底被垃圾回收器回收才...
解析Android开发优化之:软引用与弱引用的应用

解析Android开发优化之:软引用与弱引用的应用

如果一个对象只具有软引用,那么如果内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存。软引用可以和一个引用队列(ReferenceQueue)联合使用,如果软引用所引用的对象被垃圾回收,Java虚拟机就会把这个软引用加入到与之关联的引用队列中。如果一个对象只具有弱引用,那么在垃圾回收器线程扫描的过程中,一旦发现了只具有弱引用的对象,不管当前内...
<< 341 342 343 344 345 346 347 348 349 350 >>