深入Android开发FAQ的详解
Android 现在很火爆,其所谓的开放性和免费开源吸引了大批的手机硬件厂商进入了Android阵营。其火爆的另一个原因是因为其平台应用开发,正如Google所说,Android开发上手很快,很容易入门,比其他平台开发上手容易得多。但是,想要成为一个高手,或是开发出一个优质的程序,却没有想像中和所宣传的那么容易。首先的原因就是Android的文档很不完善,很多Api的文档都轻描淡写,对于参数的说明,对返回值的说明和对一些注意事项都没有说明,更为让人受不了的是,很多Api都没有文档;另外一个原因就是Android在细节上做的不好,Google为了快速拿出东西,为了尽早的占领市场,就快马加鞭的弄出了一个操作系统,但是很多地方做的不完善,很多细节都没有做好,如果你仔细使用Android系统,你会发现,其中有很多的Bug,有些大,有些小,但总是有问题;如果你研究其代码,更会发现,很多东西都没有做好。
但话说回来,哪有完美的东西呢?做为开发者就要不断的学习,总结经验找到其中隐藏的陷阱,然后在开发过程中回避它或是解决它。
本文将记录一些开发中常常遇到的问题:
1. 如何方便快捷的显示如“有XX条未读信息”, 其中XX是可变的实际数目?
对于这个问题,首先想到的就是“有”+数目+"条未读信息“。稍微想一下就有第二个解决方案:”有#条未读信息“.replaceAll("#", 数目)。
但在Android建议这么做:
a. 首先在字串资源文件中如此声名字串:
代码如下:
<string name="unread_notification">有<xliff:g id="number">%1$d</xliff:g>条未读信息</string>
Context.getString(R.string.unrread_notification, 20);
这样Resources.getString()会自动地替换,而得到我们想要的效果,最终显示效果就是:“有20条未读信息”
相关推荐
-
深入Android开发FAQ的详解
Android 现在很火爆,其所谓的开放性和免费开源吸引了大批的手机硬件厂商进入了Android阵营.其火爆的另一个原因是因为其平台应用开发,正如Google所说,Android开发上手很快,很容易入门,比其他平台开发上手容易得多.但是,想要成为一个高手,或是开发出一个优质的程序,却没有想像中和所宣传的那么容易.首先的原因就是Android的文档很不完善,很多Api的文档都轻描淡写,对于参数的说明,对返回值的说明和对一些注意事项都没有说明,更为让人受不了的是,很多Api都没有文档:另外一个原因就
-
Android 开发中Volley详解及实例
Android 开发中Volley详解及实例 最近在做项目的时候,各种get和post.简直要疯了,我这种啥都不了解的,不知道咋办了,然后百度看了下,可以用volley进行网络请求与获取,下面就介绍下volley的用法. volley有三种方式:JsonObjectRequest,JsonArrayRequest,StringRequest.其实都是差不多了,举一反三就ok了,这里我就讲下JsonObjectRequest. 方法如下: JsonObjectRequest jsonObjectR
-
Android开发AsmClassVisitorFactory使用详解
目录 前言 AsmClassVisitorFactory 新的Extension 实战 ClassVisitor 实际代码分析 个人观点 前言 之前就和大家介绍过AGP(Android Gradle Plugin) 7.0.0版本之后Transform 已经过期即将废弃的事情.而且也简单的介绍了替换的方式是Transform Action,经过我这一阵子的学习和调研,发现只能说答对了一半吧.下面介绍个新东西AsmClassVisitorFactory. com.android.build.api
-
android开发环境搭建详解(eclipse + android sdk)
本开发环境为:eclipse + android sdk,步骤说明的顺序,没有特别要求,看个人爱好了 步骤说明: 1.安装eclipse 2.配置jdk 3.安装android sdk 4.安装ADT,关联eclipse和android 详细说明: 1.安装eclipse * 到官方网下载eclipse(http://www.eclipse.org/downloads/),我是下载的Eclipse IDE for Java EE Developers. * 正常解压安装,注意记得路径就可以了 2
-
Android分包MultiDex策略详解
1.分包背景 这里首先介绍下MultiDex的产生背景. 当Android系统安装一个应用的时候,有一步是对Dex进行优化,这个过程有一个专门的工具来处理,叫DexOpt.DexOpt的执行过程是在第一次加载Dex文件的时候执行的.这个过程会生成一个ODEX文件,即Optimised Dex.执行ODex的效率会比直接执行Dex文件的效率要高很多. 但是在早期的Android系统中,DexOpt有一个问题,DexOpt会把每一个类的方法id检索起来,存在一个链表结构里面.但是这个链表的长度是用一
-
Android系统对话框使用详解(最详细)
在实际应用开发中,用到系统对话框中的情况几乎是没有的.按开发流程来说,UI工程师都会给出每一个弹窗的样式,故而在实际开发中都是自定义弹窗的. 即使用到的地方不多,但是我们也是需要了解并且能熟练的运用它,下面为大家奉上各种系统对话框的实现. 目录 一.系统对话框的几种类型与实现 在项目的实际开发中,用到的系统对话框几乎是没有的.原因大概包含以下几点: 样式过于单一,不能满足大部分实际项目中的需求. 对话框的样式会根据手机系统版本的不同而变化.不能达到统一的样式. 能实现的功能过于简单. 在这里先附
-
Android AOP注解Annotation详解(一)
Android 注解Annotation 相关文章: Android AOP注解Annotation详解(一) Android AOP之注解处理解释器详解(二) Android AOP 注解详解及简单使用实例(三) Android AOP 等在Android上应用越来越广泛,例如框架ButterKnife,Dagger2,EventBus3等等,这里我自己总结了一个学习路程. - Java的注解Annotation - 注解处理解析器APT(Annotation Processing Tool)
-
初学者Android studio安装图文详解
学习过java基础,最近趁着大量课余时间想学习Android开发.百度很多资料Android studio,由Google开发的开发工具,那就不需要再多说.对于初学者的我来说,一定足够用了.此文主要介绍自己下载.安装.第一次使用遇到的问题. 开发环境 物理机:Windows8.1专业版 Android Studio 2.3.3.0 下载来源:Android Studio中文社区http://www.android-studio.org/(建议安装带有Android sdk的安装包) 下载好后按照
-
Android Notification 使用方法详解
Android Notification 使用方法详解 用TaskStackBuilder来获取PendingIntent处理点击跳转到别的Activity,首先是用一般的PendingIntent来进行跳转. mBuilder = new NotificationCompat.Builder(this).setContent(view) .setSmallIcon(R.drawable.icon).setTicker("新资讯") .setWhen(System.currentTim
-
Android json数据解析详解及实例代码
Android json数据解析详解 移动开发经常要与服务器数据交互,也常使用json数据格式,那就说说Android json解析. 1.最简单json格式解析如下: //解析json ry { JSONTokener jsonParser = new JSONTokener(strResult); JSONObject jsonObj = (JSONObject) jsonParser.nextValue(); String strsportsTitle = jsonObj.getStri
随机推荐
- 详细分析使用AngularJS编程中提交表单的方式
- C# Winform选项卡集成窗体详解
- javascript 三种数组复制方法的性能对比
- dos命令大全 黑客必知的DOS命令集合
- 字符串拼接的批处理
- javac -encoding 用法详解
- asp.net ListView交替背景颜色实现代码
- 详解JavaScript语言的基本语法要求
- 从MySQL得到最大的优化性能
- mysql binlog二进制日志详解
- BootStrap的Datepicker控件使用心得分享
- 通过JAVAScript实现页面自适应
- 用js一次改变多个input的readonly属性值的方法
- SpringBoot配置发送Email的示例代码
- 用vbs确定可移动驱动器的连接时间
- 收缩后对数据库的使用有影响吗?
- SQL Server中NULL的正确使用与空间占用
- 贴一个在Mozilla中常用的Javascript代码
- 详解JavaScript调用栈、尾递归和手动优化
- Android获取本机电话号码的简单方法