搜档网
当前位置:搜档网 › 安卓应用运营知识:VersionCode和VersionName

安卓应用运营知识:VersionCode和VersionName

安卓应用运营知识:VersionCode和VersionName
安卓应用运营知识:VersionCode和VersionName

安卓应用运营知识:VersionCode和

VersionName

小米应用商店运营了大概半年了,过程中有喜有泪,我们在运营过程中,发现有的运营和商务同学对Android的一些概念了解不深,因此准备了一些知识,会逐步发布出来,第一篇是关于版本的。

先上结论:

Google为APK定义了两个关于版本属性:VersionCode和VersionName,他们有不同的用途。

?VersionCode:对消费者不可见,仅用于应用市场、程序内部识别版本,判断新旧等用途。

?VersionName:展示给消费者,消费者会通过它认知自己安装的版本,下文提到的版本号都是说VersionName。

结尾有三个常见问题的解决方案

然后讲讲前因后果

大家在使用软件和应用时,都会涉及到版本的概念,大家都知道的,比如Win XP,QQ2012,小米桌面1.6。之所以会有版本,主要是因为软件产品一直在发展、变化的。版本的概念可以帮助消费者识别不同时期的产品。

而展现在消费者面前的版本,和开发者内部使用的通常是不同的版本。开发时通常会使用数字作为标志,比如6.1.7600.16385,其实是Win 7第一个正式版的版本号,而Win 7 SP1的版本号是6.1.7601.17514,这样长长一串数字对消费者毫无意

义,所以在产品发布时通常会起一个更容易懂的版本。下文中会把Win 7这样的用于展示的版本叫做[VersionName],6.1.7601.17514这样用于程序标识的版本叫做[VersionCode]

早年因为软件主要自己负责自己的分发、升级等方面,所以版本号也相当自由,各家都有不同的规范。但是近年来移动设备崛起,App Store这样的应用商店集中分发成了主流。以升级为例,应用商店会负责检查消费者手机上应用的版本,并和商店里面最新的版本比较,如果商店里面的版本比较新,消费者手机上的版本比较旧,就会提醒消费者升级。

这就涉及到如何识别新、旧的问题。

对于计算机来说,最可靠的判断方式就是数字,数字有很多好处:程序容易判断、格式简单不容易出错、肉眼容易识别等。所以Google要求每个应用都要在APK 安装包中记录这个安装包的[VersionCode],只要拿到这个APK文件,就可以知道它对应的[VersionCode]是多少,应用商店就会以这个[VersionCode]为准,来判断版本。安装包的[VersionCode]数字越大就越新。这样开发者在开发过程中,每有一个新版本只要加大一点这个数字就可以了。比如第一个版本的[VersionCode]是1,第二个版本是2。因为开发者可能每天可能会产生多个没有发布的版本,所以这个数字会增长的很快。

经过一段时间的开发,这个数字会变得比较大,比如16385,这时对一个消费者,这样的数字其实不太具有可识别性,比如说Win 16385和Win 17514在传达信息方面效果并不好,不利于产品的市场推广。因此Google也支持在AKP安装包内记录[VersionName],你可以叫Win 7、Win Vista都没问题,可以满足市场、传播方面的需求,这样[VersionName]其实不具备比较新、旧版本的能力,只是用来展示给消费者看的。

综上所述

VersionCode:对消费者不可见,仅用于应用市场、程序内部识别版本,判断新旧等用途。

?VersionName:展示给消费者,消费者会通过它认知自己安装的版本。一般我们说的版本号就是这个。

我们在运营应用商店的过程中,发现有的开发者会遇到一些问题。

1、同一个VersionName(版本号),对应了多个VersionCode

这种情况很常见,比如说新版本发布之后,某个商店反馈说存在xxx问题,需要修复、定制等等操作,于是商务找工程师出了个新版本,考虑到是小版本升级,版本号没变化,但是VersionCode已经变了。

?可能遇到的问题:如果这个新版只在部分商店上线,就会出现都是3.1版,A商店的版本其实比B商店的新。已经安装了新版本的用户,还会被提示升级,这时候用户会困扰,为什么我装了3.1还要升级到3.1?部分商店为了最新会抓包,导致渠道包流窜,影响运营监控和分析。

?解决方案:a.版本号应该和VersionCode一起涨,而且一旦发布新版本,就在所有渠道上架新版。

2、发布了一个VersionCode错误的版本

有时候因为工程师不小心,发布了一个VersionCode过大的版本,比如1.1.1.20版本的VersionCode写成了111,而1.1.1.27版本的VersionCode写成了11127,但是后面发布1.1.2版希望延续旧的VersionCode,用112。

?可能遇到的问题:1.1.1.27版的用户将无法获得1.1.2版本的升级,因为在程序看来1.1.1.27版本是比较新的,同时,已经使用了1.1.2版本的用户,可能会收到旧版本的升级提示,比并降级回旧版

?解决方案:其实很简单,因为VersionCode对最终用户是不可见的,只要增加就好了,上文的例子,新版VersionCode直接取11200就齐活了。

3、发布了一个有Bug的版本,好捉急

偶尔会遇到版本已经发布了,第二天突然发现,糟糕,有Bug,用户开始骂了!于是商务同学到各家市场要求退回旧版本。

?可能遇到的问题:已经升级到有Bug版本的用户是无法回滚到旧版的,因此这样直接退回旧版本的方式对这些热心升级的用户是非常不负责任的。而且人肉召回的力度实在有限,这个有Bug的版本一定会流传的。

?解决方案:最好是不要浪费时间退回旧版,赶紧修复Bug发个新版本(记得加VersionCode),如果Bug比较棘手,暂时无法修复,只能退回旧版本,这时建议把旧版本的VersionCode改大一些后,提交新版本,这样可以保证所有用户都能下载/升级到一个相对可靠的版本。

以上就是关于Android应用版本的一些建议。希望对大家有帮助。

广告:欢迎广大开发者到小米应用商店提交应用:)

https://www.sodocs.net/doc/031600461.html,

查看文档来源:https://www.sodocs.net/doc/031600461.html,/s/blog_580a227a0101bdzb.html

Android手机分辨率基础知识(DPI_DIP计算)

比如:计算WVGA(800*480)分辨率,3.7英寸的密度DPI

图1 Diagonal pixel 表示对角线的像素值(=),DPI=933/3.7=252 3.手机屏幕的分类 3.1根据手机屏幕密度(DPI)或屏幕尺寸大小分为以下3类,如图2所示 图2 3. 2手机屏幕分类和像素密度的对应关系如表1所示:

图3 从以上的屏幕尺寸分布情况上看,其实手机只要考虑3-4.5寸之间密度为1和1.5的手机4 UI设计 从开发角度讲,应用程序会根据3类A ndroid手机屏幕提供3套UI布局文件,但是相应界面图标也需要提供3套,如表2所示

需要根据物理尺寸的大小准备5套布局,layout(放一些通用布局xml文件,比如界面中顶部和底部的布局,不会随着屏幕大小变化,类似windos窗口的title bar),layout- small(屏幕尺寸小于3英寸左右的布局),layout-normal(屏幕尺寸小于4.5英寸左右),layout-large(4英寸-7英寸之间),layout-xlarge(7-10英寸之间) 2)图片资源方面 需要根据dpi值准备5套图片资源,drawable,drawalbe-ldpi,drawable-mdpi,drawable-hdpi,drawable-xhdpi Android有个自动匹配机制去选择对应的布局和图片资源 分享到:?上一篇:分享摩托罗拉milestone手机升级到Android 2.2的过程 ?下一篇:基于feng streaming server 搭建Android直播测试平台 查看评论 7楼pc0de 2011-12-16 17:11发表[回复] 谢谢分享啊 6楼yang_hui198**** ****-11-19 16:44发表[回复] 很强大!!!很喜欢!!! 3楼noICE1 2011-08-16 14:59发表[回复]

Android应用开发基本知识点汇总

Android应用开发基本知识点汇总 Activity 一生命周期 4种状态 running / paused / stopped / killed 生命周期 Activity启动 onCreate -> onStart -> onResume 点Home返回主界面 onPause -> onStop 再次回到原Activity onRestart -> onStart -> onResume 退出Activity onPause -> onStop -> onDestroy 进程优先级前台/可见/服务/后台/空 二任务栈 三启动模式 standard singleTop 栈顶复用 singleTask 栈内复用 singeInstance 四scheme跳转协议 服务器可以定制化告诉App跳转哪个页面,可以通过通知栏消息定制化跳转页面,可以通过H5页面跳转页面 Fragment 一第五大组件 为什么是第五大组件 Fragment相对Activity更节省内存,切换更舒适Fragment加载到Activity的两种方式 静态加载xml 动态加载fragmentTransaction.add(id, fragment, “name”); .commit; FragmentPagerAdapter与FragmentStatePagerAdapter

FragmentStatePagerAdapter在切换时回收内存,适合页面较多的情况FragmentPagerAdapter并没有回收内存,只是detach了Activity 二生命周期 onAttach -> onCreate -> onCreateView -> onViewCreated -> onActivityCreated -> onStart -> onResume -> onPause -> onStop -> onDestroyView -> onDestroy -> onDetach 先创建Activity后创建Fragment,先销毁Fragment后销毁Activity 三Fragment之间的通信 Fragment调用Activity getActivity Activity调用Fragment 接口回调 Fragment调用Fragment方法findFragmentById 四FragmentManager replace add remove Service 一应用场景,与Thread区别 Service是什么后台长时间运行,没有用户界面,运行在主线程,不能有耗时操作 Service与Thread区别 Activity难以与Thread交互,尤其当Activity销毁以后 二开启Service的两种方式 StartService onCreate -> onStartCommand -> onBind -> onDestroy onStartCommand return START_STICKY;

安卓手机相关基础知识

一、验机: 到货后首先检查手机配件是否齐全由于水货手机多为散件入关所以机器串码和包装盒上的一般都是对不上的(在这里强调一下凡是宣传3码合一即机器开机之后调出的机身串码、机器后 面的串码和包装盒上的串码的其包装盒上的码基本上都是后期在深圳自己打印的)咋们的机器一般都是2码合一的。 然后安装手机电池开机检查手机外观是否有磨损(水货手机过关时多为水客即专门走私的人随身携带所以难免有磕碰)检查屏幕是否有进灰尘、屏幕是否有亮点。照相头是否能正常工作 最后检查一下手机内部的操作系统是否为原生的安卓系统(有些手机安装的是第三方的安卓系统里面有大量的恶意程序会偷用户流量、窃取私人信息等,类似于电脑安装的不是正版的操作 程序自然不会显示正版安装过程中或者安装后的信息),大致查看方式:开机之后是否显示HTC、三星、索爱标识凡是显示什么HTC安智网、开机之后第三方软件比如土豆网、地瓜网等等第三 方软件比较多的基本为非原升系统,这种机器肯定是过关之后刷过机的。 手机版本的大致确定:HTC手机在关机状态下同时按住开关机键、音量下键进入工程模式(不了解显示内容的不要随便选择里面选项退出可以直接拔掉电池)检查最上面一行SOFF 或者SON ,显示SOFF为已经解过锁的机器大致为欧版或者阿拉伯;显示SON为没有解锁机器这是原 版机器。原版机器在设置-语言和键盘选项里查看是台版、港版(显示简体中文、繁体中文、 英文)还 是亚太(亚太为新加坡、印度尼西亚、泰国这些区域凡是显示新加坡英语和泰语的就是亚太版)因为台湾、香港、新加坡、马来西亚、泰国等国家有大量华人所以机器里自带简体中文手机入 境无需解锁重新刷机就可使用。 二、相关知识: 出厂日期查询:1、为什么要查出厂日期?很多顾客都担心自己买到翻新的机器,要是知道机器的出厂日期就可以大致推断了,一般来说一部手机从出厂到销往国外到会大陆到咋们销售6个 月之内还是符合正常销售时间的,但是超出了而且随着超出时间的长短这种风险就越来越大。 2、怎么查?HTC 可以直接登录公司官网可以查到出厂日期和销往地(这样版本也就知道了)还有就是“I找吧”第三方网站但有时这个为什么不准确呢,因为这些网站是根据手机的IMEI 码和 SN码里的信息推测的。三星手机未刷机的可以在拨号键盘输入*#197328640#进入工程代码

华为安卓基础知识

不要嫌帖子长,看完这帖你可以自己成为有粉丝的大神了!威武吧!新手小白玩机第一课,安卓基础知识大扫盲 关于android(安卓) Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,拥有超强的可定制性。2008年9月22日,美国运营商T-Mobile USA在纽约正式发布第一款 Google 手机——T-Mobile G1。该款手机为HTC代工制造,是世界上第一部使用Android操作系统的手机。安卓刚发布的时候,正是塞班和诺基亚称霸天下的时代,如今只剩下安卓跟IOS平分整个手机市场了。安卓专有名词介绍 1. 固件=操作系统 所谓的固件就是将操作系统固定在手机中的一个固定的位置(硬件上),平时不随意改动,活动的数据另外单独放一边。这样做的目的在于保护内层的系统程序不受文件操作的影响,提高了稳定性。但相对的,如果想要升级系统,就必然涉及对固件的读写更新工作。谷歌的Android系统就被写入在了固件中,即使想要查看也要专门的软件和权限。 2. 刷固件=安装操作系统 正是因为固件固定的原因,在我们想要更新系统的时候。就需要将原固件的文件删掉,将新的文件拷进去。于是就有了刷固件这么一回事(也就是刷机)。就像Windows安装系统一样,把安装盘放进去就可以直接安装。 3. ROM=系统的安装盘 这个东西就是安卓系统的压缩包,你甚至可以用WinRAR去解压它看看里面有什么。我们刷机的时候就是将这个东西刷进固件的。当然,由于安卓系统的开源性质,我们可以自由的改动这个包。 4. 固件版本 由于是谷歌公司在专门开发这个系统,官方放出的话必然是所有机油手机升级的风向标。固件版本就是官方制定的基础系统,所有的改包都会从官方的包开始改。所以官方的一次升级必然会影响整个手机系统的使用情况。就像当年大家都在用XP,后来微软出了win7,于是大家都换win7。 5. ROOT Root权限就相当于你电脑的超级管理员权限,有了root权限就可以更改内部系统的文件了,干一切你想干的事情。但是出于安全性考虑,安卓系统默认隐藏了root权限,但是我们可以通过刷机来获取 root权限。至于如何root,论坛的大大们会教大家。 6. Recovery 在刷机中你经常会看到recovery的身影,从字面上来看就是"恢复"的意思,大家可以直接把recovery当作一个"刷机界面",手机的刷机和获取ROOT也都需要在recovery下进行。

android开发需要掌握的知识点

Android应用程序开发是以Java语言为基础的,所以需要有扎实的Java基础知识。首先熟悉java基本语法,然后熟悉设计模式等。 a) Java基础语法:看下面的《Java知识点列表》 b)设计模式:由于在Android系统的框架层当中,使用了大量的设计模式,如果没有这个方面的知识,对于Android的理解就会大打折扣。设计模式的种类非常之多(设计模式大概有28种,具体请看设计模式系列),一个一个的全部掌握,是不现实的,必须首先掌握面向对象的基础设计原则,有了这些基础原则的支持,理解android容易很多。 有了这些知识,然后再来学习Android开发,一定会事半功倍。 《Java知识点列表》:这些是别人总结,我只是加些说明。 开发环境: 1 Java SDK 下载和安装 2 环境变量的配置(path和classpath) 编程基础: 3. 标识符命名规范 4 Java数据类型 5 运算符 6 分支语句(if,switch) 7 循环语句(for,while) 8 函数的定义方法 只要是个程序员,都懂。语言之间可以融会贯通。 面向对象基础: 向对象的三个基本特征是:封装、继承、多态 9. 面向对象与面向过程语言之间的区别 10 面向对象基本思想(封装) 封装:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏 11 类的定义方法 12 对象和类的关系 13 对象的创建方法 14 通过对象使用成员变量和成员函数的方法 15 构造函数的作用 16 函数的重载 17 static 的作用 18 this的作用 面向对象高级: 19 面向对象基本思想(继承) 继承:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进

安卓系统文件夹结构及其文件解析(详细)

1:c:/System/cache 文件夹是缓存目录,建议大家定时清空。 2:所有temp文件夹是临时目录建议清空。 3:依次打开C:/system/dmgr,里面有两个文件夹了,各有一个contents的文件夹,进去之后发现里面的文件是不是似曾相识?嘿嘿,这就是平时上网下载的一些视频啦音乐还有一些文本文件,可以安全删除,不放心的话,这里的文件可以直接打开。 4:c盘data目录下的installs是软件的安装目录,可以清空。 5、打开C盘--打开system--删除system.ini文件,重新启动手机,还能恢复这个文件,但是,文件已经没那么大了,再看接收短信彩信,速度已经快多了,机器运行也顺多了。 定期删除以下的文件: c:\cache 缓存目录 c:\space\cache 手机照相缩图 c:\system\data\music.db 音乐临时文件 c:\system\data\cbs\cbtopicsmsgs.dat 若存在定时删除 c:\system\temp 临时文件夹 c:\system\install 已安装sis纪录文件 c:\system\install\install.log 安装软件的日志文件 c:\system\apps\applnst\appinst.ini 纪录安装软件的讯息 c:\system\apps\photoalbum\photoalbum.ini 图片浏览初始化文件 c:\system\mail 讯息储存文件夹 c:\data\install 一般应没有档案,若有则删除 c:\system\system.ini 纪录系统错误讯息 e:\private\10202dce 已安装软体之备份档 e:\resource\skins\03d960c95acb3ca6 安装后与已删主题之残留文件 智能手机C盘清理技巧---提高运行速度的六种方法 定时清理C盘垃圾,是改善手机运行速度的通用方法,下面的几种都是在N95上适用的清理方法: 1)文件传送法:首先,把信息的存储指定到机器存储,然后看自己机器内存有多大。用其他蓝牙设备给你发送一个大于机器内存的文件,直到你的手机显示剩余空间不足,自动断开传送为止(手机在接受文件时机身内存不够用,系统就自动清理内存,还不够的话就自动断开连接)。C盘的内存就会变大。 2)浏览法清理理法:用随机的网络浏览器上网(占用内存大),多开些网页,直到提示内存不足无法开网页时,退出浏览,再清空缓存. 3)换卡法:只使用一个SIM卡,手机的运行速度会变慢,需要清理C盘垃圾文件。最简单的方法是取MINISD 卡接着换SIM卡后再开机。待机3-5分钟后关机换回原来的SIM卡。这样Series60系统就会重新将C盘的数据重写一次,自动清除了原来无用的文件(有人说这对N95不适用,这是不对的,这种方法对所有手机都是适用的)。 4)清理临时文件法: 所有temp文件夹是临时目录可以清空。 c盘data目录下的installs是软件的安装目录,可以清空。 C:/system/dmgr,里面有两个文件夹了,各有一个contents的文件夹,这就是平时上网下载的一些文件(可能是视频、音乐、文本等文件),可以清空。 定期清空C:\system\data\cbs\cbtopicsmsgs.dat,方法是进入信息-选项-广播信息,点开选项-栏目-删除全部,然后选“是” 定期清理短信、通话记录,分组数据(先按功能键-->我的应用-->通话记录-->分组数据,将分组数据计数器清零碎就行啦(锁码:12345)! cache文件夹是缓存目录,建议大家定时清空。 C盘system文件夹下的有个system.ini文件,可删除。删除后系统会自动生成这个文件,看看生成后的文件是不是比你删除前的文件小很多。

Android架构基本知识

Android架构基本知识 1.2 Android的系统架构 系统构架图中可以看到从上到依次是应用层(Applications)、应用框架层(Application Framework)、系统运行库层(Lib和Runtime)、 Linux内核层(linux kernel) 1.2.1 Android内核 Linux 内核版本2.6 位于硬件和软件堆之间的抽象层 核心服务:安全机制、内存管理、进程管理、网络、硬件驱动。

Android依赖Linux内核2.6来提供核心服务,比如进程管理、网络协议栈、硬件驱动。在这里,Linux内核作为硬件层和系统软件栈层之间的一个抽象层。这个操作系统并非类GNU/Linux的,因为其系统库,系统初始化和编程接口都和标准的Linux系统是有所不同的。 从Google目前release的Linux系统来看,其没有虚拟内存文件系统,系统所用的是yaffs2文件系统,具体的映像也都位于SDK安装目录下。通过emulator -console命令,我们可以在host 终端下得到一个简单的可以控制Android的shell,这个系统包含了一个Toolbox,提供一些基本的命令工具,集中在/sbin,/system/sbin,/system/bin中,但是很简陋,命令种类也很少。若有时间和必要我会作个介绍。 既然采用的linux系统,就有必要介绍一下主要驱动(如图中所示): 显示驱动(Display Driver) 键盘驱动(KeyBoard Driver) Flash内存驱动(Flash Memory Driver) 照相机驱动(Camera Driver) 音频驱动(Audio Driver) 蓝牙驱动(Bluetooth Driver) Wifi驱动 Binder IPC驱动 Power Management (电源管理)等等。 1.2.2程序库和运行库(Lib和Runtime)

Android面试基础知识总结

1Activity 1.1Activity的概念 是Android应用层开发的四大组件之一,主要负责和用户交互部分,有自己的生命周期,在其上可以布置按钮,文本框等各种控件,简单来说就是Android 的UI部分。 1.2Activity与View的区别 1)Activity是四大组件中唯一一个用来和用户进行交互的组件。可以说 Activity就是android的视图层。 2)如果再细化,Activity相当于视图层中的控制层,是用来控制和管理View 的,真正用来显示和处理事件的实际上是View。 3)每个Activity内部都有一个Window对象, Window对象包含了一个 DecorView(实际上就是FrameLayout),我们通过setContentView给Activity设置显示的View实际上都是加到了DecorView中。 1.3Activity生命周期 1.3.1生命周期主干

1.3.2其他中转方法

1.4Activity启动模式1.4.1四种启动模式

1.4.2配置样例 1.5Activity启动方法 1)在一个Activity中调用startActivity()方法。 直接启动Activity,不带请求码。 2)在一个Activity中调用startActivityForResult()方法。 带请求码启动Activity。 1.6请求码与响应码

2BroadcastReceiver 2.1概念 BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。 2.2应用场景 在Android系统中,广播体现在方方面面: eg: 1.当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动 服务的功能; 2.当锁屏或者点亮屏幕时就会产生一条广播,接收这条广播就可以实现一 些暂停或者开启一些耗电进程的功能。 3.当网络状态改变时系统会产生一条广播,接收到这条广播就能及时地做 出提示和保存数据等操作; 4.当电池电量改变时,系统会产生一条广播,接收到这条广播就能在电量 低时告知用户及时保存进度; 2.3注册 2.3.1静态注册 2.3.1.1概念 静态注册是在AndroidManifest.xml文件中配置的。 2.3.2动态注册 2.3.2.1概念 动态注册需要在代码中动态的指定广播地址并注册。 2.3.2.2需要注意的事项 RegisterReceiver是android.content.ContextWrapper类中的方法,Activity和Service都继承了ContextWrapper,所以可以直接调用。在实际应

Android知识点汇总

目录 Android知识点: (3) 一:dom解析,以及写入数据到xml文件: (3) 二:连接socket并获取返回值 (4) 三:创建socket服务器 (4) 四:获取本地设备信息;执行串口命令 (5) 五:获取设备当前时间 (5) 六:对于节省代码 (6) 七:访问网络权限 (6) 八:显示ProgressDialog (6) 九:handle消息机制定义与对信息的处理 (6) 十:显示AlertDialog,以及对其进行按键处理 (7) 十一:判断网络是否连接 (8) 十二:判断是否连接有线网络 (8) 十三:判断是否能够ping通互联网:返回0则通,否则不通 (9) 十四:显示进度圈,防止用户继续其线程start (9) 十五:下载文件 (10) 十六:解析json文件(android中使用,解析本地文件夹) (11) 十七:解析服务器json文件,根据路径获取输入流并解析 (12) 十八:获取所有已经安装的apk的信息 (14) 十九:安装apk,分为静默安装与非静默安装,静默卸载 (15) 二零:发送与接收广播 (17) 二一:java中解析JSON文件 (18) 二二:获取文件列表 (19) 二三:DownloadManager (21) 附件一:android-apkinfo.json (23) 附件二:java_apkinfo_json (24) 二四:复制assets中资源文件到sdcard或data/files目录下 (25) 二五:解析与重写xml文件 (27) 二六:设置Viewpager的Adapter适配器 (29) 二七:设置listView的Adapter适配器 (30) 二八:设置按键监听器 (33) 二九:对于data中图片信息的处理与使用 (34) 三十:OnpageChangeListener页面切换监听器 (34) 三一:Activity之间数据的传递 (35) 三二:通过代码添加button (36) 三三:文件的输入输出 (37) 三四:关于文件路径 (38) 三五:对sd卡的读写权限设置 (38) 三六:file.getCanonicalPath() (39) 三七:命令行运行java文件 (39) 三八:activity无头标题 (40)

android基本知识点总结

一,android 四大组件 Activity、Service、BroadcastReceiver 、ContentProvider 二,Activity生命周期 三,横竖屏切换时的生命周期 1、新建一个Activity,并把各个生命周期打印出来 2、运行Activity,得到如下信息 10-23 02:35:54.261: INFO/chenys(4385): onCreate--> 10-23 02:35:54.271: INFO/chenys(4385): onStart--> 10-23 02:35:54.286: INFO/chenys(4385): onResume--> 3、按crtl+f12切换成横屏时 10-23 02:36:58.331: INFO/chenys(4385): onSaveInstanceState--> 10-23 02:36:58.411: INFO/chenys(4385): onPause--> 10-23 02:36:58.462: INFO/chenys(4385): onStop--> 10-23 02:36:58.481: INFO/chenys(4385): onDestroy-->

10-23 02:36:58.622: INFO/chenys(4385): onStart--> 10-23 02:36:58.632: INFO/chenys(4385): onRestoreInstanceState--> 10-23 02:36:58.642: INFO/chenys(4385): onResume--> 4、再按crtl+f12切换成竖屏时,发现打印了两次相同的log 10-23 02:38:14.172: INFO/chenys(4385): onSaveInstanceState--> 10-23 02:38:14.172: INFO/chenys(4385): onPause--> 10-23 02:38:14.172: INFO/chenys(4385): onStop--> 10-23 02:38:14.172: INFO/chenys(4385): onDestroy--> 10-23 02:38:14.281: INFO/chenys(4385): onCreate--> 10-23 02:38:14.301: INFO/chenys(4385): onStart--> 10-23 02:38:14.312: INFO/chenys(4385): onRestoreInstanceState--> 10-23 02:38:14.331: INFO/chenys(4385): onResume--> 10-23 02:38:14.812: INFO/chenys(4385): onSaveInstanceState--> 10-23 02:38:14.852: INFO/chenys(4385): onPause--> 10-23 02:38:14.861: INFO/chenys(4385): onStop--> 10-23 02:38:14.892: INFO/chenys(4385): onDestroy--> 10-23 02:38:14.921: INFO/chenys(4385): onCreate--> 10-23 02:38:15.021: INFO/chenys(4385): onStart--> 10-23 02:38:15.031: INFO/chenys(4385): onRestoreInstanceState--> 10-23 02:38:15.111: INFO/chenys(4385): onResume--> 5、修改AndroidManifest.xml,把该Activity添加android:configChanges="orientation",执行步骤3 10-23 02:42:32.201: INFO/chenys(4875): onSaveInstanceState--> 10-23 02:42:32.232: INFO/chenys(4875): onPause--> 10-23 02:42:32.301: INFO/chenys(4875): onStop--> 10-23 02:42:32.311: INFO/chenys(4875): onDestroy-->

安卓复习资料

安卓复习资料 1、下列哪项不是Android四大组件( C ) A.Seivice B. Activity C. Handler D. Content Provider 2、Android是如何组织Activity的( B ) A.以堆的方式组织Activity B. 以栈的方式组织Activity C. 以树形方式组织Activity D. 以链式方式组织Activity 3、关于线程说法不正确的是( B ) A. 在 android 中,我们可以在主线程中,创建一个新的线程 B. 在创建的新线程中,它可以操作 UI 组件 C. 新线程可以和 Handler 共同使用 D. 创建的 Handler 对象,它隶属于创建它的线程 4、在下列选项中,通常用于响应用户的点击事件的控件是( D ) A.TextView B.EditText C.RadioButton D.Button 5、Activity的布局文件放在哪个目录下( C ) A.res/xml B.res/values C.res/layout D.res/layouts 6、在BaseAdapter的方法中,根据位置返回一个条目的View的方法是( A ) A.getView() B.getItem() C.getItemView() D.getItemId() 7、下列关于内存回收的说明,哪个是正确的(B ) A.程序员必须创建一个线程来释放内存 B.内存回收程序负责释放无用内存 C.内存回收程序允许程序员直接释放内存 D.内存回收程序可以在指定的时间释放内存对象 8、设置xml布局文件中的字体大小一般用什么单位( c ) A.dp B. px C. sp D. pt

安卓知识题库

一、单项选择题 1、“安卓”的英文名称是什么?(B ) A、Andrew B、Android C、Andros D、Atradius 2、“安卓”是哪个公司主导研发的?(C ) A、诺基亚 B、微软 C、谷歌 D、苹果 3、“安卓”是哪一年发布的?(B ) A、2005年8月17日 B、2007年11月5日 C、2008年10月21日 D、2006年5月1日 4、“安卓”是以什么为基础的操作系统?(D ) A、java B、unix C、windows D、linux 5、以下采用的是安卓系统的手机是(B ) A、海尔、HTC、摩托罗拉、诺基亚 B、酷派、摩托罗拉、联想、华为 C、LG、天语、联想、苹果 D、华为、诺基亚、酷派、三星 6、哪个智能操作系统是开源的系统?(B ) A、Symbian B、Android C、Windows Phone D、IOS 7、Android从哪个版本开始支持应用程序安装到SD卡上的?( B ) A、Android 2.1 B、Android 2.2 C、Android 2.3 D、Android 2.0 8、RAM指的是手机的?(A ) A、运行内存 B、存储内存 C、手机硬盘 D、内存卡 9、智能手机的定义是(B ) A、可以任意安装卸载软件的手机 B、使用智能操作系统的手机 C、3G手机都是智能手机 D、具有PAD功能的手机 10、安卓系统安装的软件是什么格式的?(C ) A、Sisx B、java C、apk D、jar 11、ROM指的是手机的?( B ) A、运行内存 B、存储内存 C、音频芯片 D、内存卡 12、WIFI指的是什么?(B ) A、一种可以将个人电脑、手机等终端以有线方式进行相互连接的技术 B、一种可以将个人电脑、手机等终端以无线方式进行相互连接的技术 C、移动的无线网络 D、联通的无线网络 13、如何卸载应用程序?(A) A、设置-应用程序-管理应用程序 B、设置-应用程序-开发 C、直接点住卸载 D、拖到垃圾桶卸载 14、如何从百度中下载安卓市场(A) A、打开百度直接搜索安卓市场点击下载

安卓手机测试基本代码

1.重设为原厂设定,不会删除预设程序,及SD卡档案:*2767*3855# 2.显示手机信息、电池信息、电池记录、使用统计数据、WiFi信息:*#*#7780#*#* 3.显示相机相机韧体版本,或更新相机韧体:*#*#7594#*#*6 4.重设为原厂设定,会删除SD卡所有档案:*#*#34971539#*#* 5.当长按关机按钮时,会出现一个切换手机模式的窗口,包括:静音模式、飞航模式及关机,你可以用以下代码,直接变成关机按钮:*#*#273283*255*663282*#*#* 6.开启一个能让你备份媒体文件的地方,例如相片、声音及影片等:*#*#197328640#*#* 7.启动服务模式,可以测试手机部分设置及更改设定WLAN、GPS及蓝牙测试的代码: *#*#232339#*#*或*#*#526#*#*或*#*#528#*#* –WLAN测试 *#*#232338#*#* –显示WiFiMAC地址 *#*#1472365#*#* –GPS测试 *#*#1575#*#* –其它GPS测试 *#*#232331#*#* –蓝牙测试 *#*#232337#*# –显示蓝牙装置地址 *#*#8255#*#* 启动GTalk服务***器显示手机软件版本的代码 *#*#4986*2650468#*#* –PDA、Phone、H/W、RFCallDate *#*#1234#*#* –PDA及Phone *#*#1111#*#* –FTASW版本 *#*#2222#*#* –FTAHW版本 *#*#44336#*#* –PDA、Phone、csc、buildTime、https://www.sodocs.net/doc/031600461.html,、changelistnumber各项硬件测试 *#*#0283#*#* –PacketLoopback *#*#0*#*#* –LCD测试 *#*#0673#*#* 或*#*#0289#*#* –Melody测试 *#*#0842#*#* –装置测试,例如振动、亮度

安卓系统文件夹名称及功能解释

安卓系统文件夹名称及功能解释 打开Android文件管理器,会发现里面数十个英文名称命名的文件夹罗列其中,很多功能我们可以从其名字上略有所知,内部大批量的文件却让我们有些一头雾水。这些文件是什么?有什么用?我们能不能删?这些都是我们脑中充满疑问的。现在将将Android手机内部文件夹的架构和各文件的功能描述介绍给大家,让大家自己手机的内部资源有个比较透彻的理解,同时也避免了用户误删造成的数据丢失和系统崩溃。 【文件夹功能简介】 \system\app 这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\文件夹中。 \system\bin 这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux 系统自带的组件(命令) \system\etc 从文件夹名称来看保存的都是系统的配置文件,比如APN接入点设置等核心配置。 \system\fonts 字体文件夹,除了标准字体和粗体、斜体外可以看到文件体积最大的可能是中文字库,或一些unicode字库,从T-Mobile G1上可以清楚的看到显示简体中文正常,其中DroidSansFallback.ttf文件大小。 \system\framework framework主要是一些核心的文件,从后缀名为jar可以看出是是系统平台框架。 \system\lib lib目录中存放的主要是系统底层库,一些so文件,如平台运行时库。 \system\media \system\media\audio 铃声音乐文件夹,除了常规的铃声外还有一些系统提示事件音。 \system\sounds 默认的音乐测试文件,仅有一个test.mid文件,用于播放测试的文件。 \system\usr 用户文件夹,包含共享、键盘布局、时间区域文件等。 \system\app 这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\文件夹中。 \system\app\AlarmClock.apk 闹钟

android基本知识点总结复习课程

a n d r o i d基本知识点 总结

一,android 四大组件 Activity、Service、BroadcastReceiver 、ContentProvider 二,Activity生命周期 三,横竖屏切换时的生命周期 1、新建一个Activity,并把各个生命周期打印出来 2、运行Activity,得到如下信息 10-23 02:35:54.261: INFO/chenys(4385): onCreate--> 10-23 02:35:54.271: INFO/chenys(4385): onStart--> 10-23 02:35:54.286: INFO/chenys(4385): onResume--> 3、按crtl+f12切换成横屏时

10-23 02:36:58.331: INFO/chenys(4385): onSaveInstanceState--> 10-23 02:36:58.411: INFO/chenys(4385): onPause--> 10-23 02:36:58.462: INFO/chenys(4385): onStop--> 10-23 02:36:58.481: INFO/chenys(4385): onDestroy--> 10-23 02:36:58.572: INFO/chenys(4385): onCreate--> 10-23 02:36:58.622: INFO/chenys(4385): onStart--> 10-23 02:36:58.632: INFO/chenys(4385): onRestoreInstanceState--> 10-23 02:36:58.642: INFO/chenys(4385): onResume--> 4、再按crtl+f12切换成竖屏时,发现打印了两次相同的log 10-23 02:38:14.172: INFO/chenys(4385): onSaveInstanceState--> 10-23 02:38:14.172: INFO/chenys(4385): onPause--> 10-23 02:38:14.172: INFO/chenys(4385): onStop--> 10-23 02:38:14.172: INFO/chenys(4385): onDestroy--> 10-23 02:38:14.281: INFO/chenys(4385): onCreate--> 10-23 02:38:14.301: INFO/chenys(4385): onStart--> 10-23 02:38:14.312: INFO/chenys(4385): onRestoreInstanceState--> 10-23 02:38:14.331: INFO/chenys(4385): onResume--> 10-23 02:38:14.812: INFO/chenys(4385): onSaveInstanceState--> 10-23 02:38:14.852: INFO/chenys(4385): onPause--> 10-23 02:38:14.861: INFO/chenys(4385): onStop--> 10-23 02:38:14.892: INFO/chenys(4385): onDestroy-->

安卓智能手机操作小知识大全(2)

关于手机的几个问题 (请宣传) 一、职业中专手机具体注意事项: 1.手机损坏、维修:因手机质量原因出现故障,三个月内电信公司负责维修,因个人原因出现故障,由具体手机持有人负责。 2.手机资费:手机为最低消费30元,学校给手机每月交费30 元,超出部分由个人自付。套餐为飞you ng 9元,具体资费为:① 10元套餐:市话30分钟;短信30条;WIFI国内上网4小时;手机上网流量20M元/MR②我校教师另外20元为自由消费,具体资费为:小区(莘县)内主叫元/分钟,小区外主叫元/分钟,本地 (聊城)主叫国内长途分钟,本地(聊城)内被叫免费,国内(聊城外)漫游主叫元/分钟,被叫元/分钟,虚拟网内电信号码元/分钟;短信元/条;WIFI国内上网元/分钟;手机上网流量20M超出后0-200M,元/MB; 200M以上,元/MB。 ③另外自由可选家庭包:功能费每个号码1元/月。可最多指定3个省内或国内电信号码,本地主叫指定的省内号码每月免1000分钟,本地主叫指定的国内号码每月免500分钟;可选短信包:功能费每个号码1元/月,包短信100 条;可选假期漫游包:0元/月。1、2、7、8月国内漫游主叫元/分钟,山东省内被叫免费,省外被叫元/分钟。 手机短信中所说的:当前手机已扣9元,实际上就是先扣的J young 9元套餐,短信上所说的已用多少分钟就是套餐中的30分钟套餐的数据。 2.请各位老师尽快设置189邮箱:登陆:(或直接搜索189,然后找189邮箱),通过注册产生一个自己手机号码的邮箱,也可以发送短信KTYX至10001即可,可以实现600条免费的手机和电脑的互动邮箱,发到189邮箱的内容可以从手机上直接看。同时学校有通知也会从邮箱把信息发到手机上。 4.电信业务可以拨打10000,本手机的初始密码为111. 5.手机出现故障或有任何疑问可以致电(电信公司王经理),。 二、智能机使用小知识 1. 用蓝牙传输一个通讯录!答:设置—蓝牙—蓝牙设置—可检测性打钩—找到通讯录—选择要发送的通讯录点击菜单键—共享—蓝牙 发送。 2. 用手机下载任意款软件答:用天翼空间或安智市场打开—输入要下载的软件

面试必备之Android面试常问基础知识点

Android面试常问基础知识点 1、四大组件是什么 1)Activity:用户可操作的可视化界面,为用户提供一个完成操作指令的窗口。一个Activity通常是一个单独的屏幕,Activity通过Intent来进行通信。Android中会维持一个Activity Stack,当一个新Activity创建时,它就会放到栈顶,这个Activity就处于运行状态。 2)Service:服务,运行在手机后台,适合执行不需和用户交互且还需长期运行的任务。 3)ContentProvider:内容提供者,使一个应用程序的指定数据集提供给其他应用程序,其他应用可通过ContentResolver类从该内容提供者中获取或存入数据。它提供了一种跨进程数据共享的方式,当数据被修改后,ContentResolver接口的notifyChange函数通知那些注册监控特定URI的ContentObserver对象。 如果ContentProvider和调用者在同一进程中,ContentProvider的方法 (query/insert/update/delete等)和调用者在同一线程中;如果ContentProvider和调用者不在同一进程,ContentProvider方法会运行在它自身进程的一个Binder线程中。 4)Broadcast Receiver: 广播接收者,运用在应用程序间传输信息,可以使用广播接收器来让应用对一个外部事件做出响应。 2、四大组件的生命周期和简单用法 1)Activity:onCreate()->onStart()->onResume()->onPause()->onStop()->onDestory() onCreate():为Activity设置布局,此时界面还不可见; onStart(): Activity可见但还不能与用户交互,不能获得焦点

Android基础知识点

四?大组建是什什么? 1. activity:Activity是所有程序的根本,所有程序的流程都运?行行在Activity 之中 2. service:Service 是没有界?面的?长?生命周期的代码 3. BroadcastReceiver:?广泛运?用的在应?用程序之间传输信息的机制 4. Content Provider:是Android提供的第三?方应?用数据的访问?方案 四?大组件的?生命周期和简单?用法 1. Activity 七个?生命周期?方法, Activity之间的通信?方式 1. 在Intent跳转时携带数据(bundle exatra) 2. 借助类的静态变量量来实现 3. 借助全局变量量来实现/Application 4. 借助外部存储来实现通讯 i. 使?用SharedPreference实现Activity之间的数据通信 ii. 使?用SQLite来实现数据共享通信 iii. 直接使?用File来实现 iv. 借助Service来实现(bindservice) Activity各种情况下的?生命周期 参考Android 基础?面试题.pdf Activity与Fragment之间?生命周期?比较

activity有7个?生命周期,Fragment有11个?生命周期参 考:https://www.sodocs.net/doc/031600461.html,/u012702547/article/details/50253955 在创建的过程中,是Activity带领Fragment执?行行?生命周期中的?方法,所以?生命周期?方法的执?行行顺序是这样的: 1. Activity--onCreate(); 2. Fragment--onAttach(); 3. Fragment--onCreate(); 4. Fragment--onCreateView(); 5. Fragment--onActivityCreated(); 接着是这样的: 6.Activity--onStart(); 7.Fragment--onStart(); 8.Activity--onResume(); 9.Fragment--onResume(); 我们知道,?无论对于Activity还是对于Fragment,onResume这个?生命周期都是他们执?行行时间最?长的,当我们的Activity或者Fragment打开之后,它就?一直处于这个?生命周期中。 当销毁的时候,春江?水暖鸭先知,当然是Fragment先感知到,于是销毁的时候就是Fragment带领Activity: 10.Fragment--onPause(); 11.Activity--onPause(); 12.Fragment--onStop(); 13.Activity--onStop(); 14.Fragment--onDestroyView();

相关主题