深入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>

b. 然后在使用的时候,这样使用


代码如下:

Context.getString(R.string.unrread_notification, 20);

这样Resources.getString()会自动地替换,而得到我们想要的效果,最终显示效果就是:“有20条未读信息”

(0)

相关推荐

  • 深入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

随机推荐