J2ME中,用FileConnection读写文件(jsr75)

1.获取文件创建位置
public String getPath() {
StringBuffer path = new StringBuffer();
path.append(“file:///”);
Enumeration e = FileSystemRegistry.listRoots();
String root = (String) e.nextElement();
while(e.hasMoreElements()) {
 

  root = null;
   root = (String)
e.nextElement();
}
path.append(root);
path.append(“yourFolderName”);
return path.toString();
}
2.调用(FileConnection)Connector.open(url)创建文件,具体如下
写文件:
FileConnection fc = (FileConnection)Connector.open(ref);
if(!fc.exists()) {
   
fc.create();
}
DataOutputStream dos = new
DataOutputStream(fc.openDataOutputStream());
如果写整数,则调用dos.writeInt(int)
如果写字符串,则调用dos.writeUTF(String)

读文件:
FileConnection fc = (FileConnection) Connector.open(ref);
if(fc.exists() && fc.canRead())
{
   
DataInputStream dis = new
DataInputStream(fc.openDataInputStream());
如果读字符串,则调用dis.readUTF()
如果读整数,则调用dis.readInt()
}

FileConnection fc; 
try { 
    String elem
= null; 
    Enumeration
e = FileSystemRegistry.listRoots(); 
    while
(e.hasMoreElements()) { 
       
elem = e.nextElement().toString(); 
   

   
System.out.println(“::”+elem); 
    fc =
(FileConnection) Connector.open(“file://localhost/” +
elem+”a.txt”); 
    if
(!fc.exists()) { 
       
fc.create(); 
       
OutputStream is = fc.openOutputStream(); 
       
is.write(“abc”.getBytes(), 0,
“abc”.length()); 
       
is.flush(); 
       
is.close(); 
   

} catch (IOException e) { 
   
e.printStackTrace(); 
}

Android模拟器简介—更新到最新的3.0 Honeycomb

前面介绍了Windows环境下,基于Android SDK(2.3) 和
Eclipse(helios)的Android开发环境的搭建,并创建了第一个应用程序Hello Android
World,之后用Honeycomb Preview模拟器深入解析了Eclipse中Android工程的结构以及调试。

具体请参考小生的blog:http://blog.sina.com.cn/deaboway
或者http://blog.csdn.net/deaboway

一、 环境变量

当前最新版本的Android
SDK中,adb已经被从./tools/目录移动到./platform-tools/,因此为了方便,在windows环境中,需要把以上两个目录添加到PATH中,如下:

clip_image001

二、 常用命令

这样,我们就可以直接在cmd中直接运行adb/android/emulator等命令,简单介绍如下:

1. 命令行输入adb相关命令:

clip_image003

adb命令具体的参数可以通过在命令行输入adb后回车,或者adb
help后回车的方式查看,这里简单介绍几个比较常用的命令。

adb devices

列出所有装载的设置。

adb shell

进入设备根目录/,取得对设备的控制权,如输入ls命令等。

adb install <apk文件路径>

将指定的apk文件安装到设备上。如果有多个设备同时存在,则需要指定目标设备,如:adb install -s
emulator-5554 D:/name.apk。

adb uninstall [-k] <软件名>

卸载指定软件,如果加 -k 参数,为卸载软件但是保留配置和缓存文件。

adb push <本地路径>
<远程路径>

把本机电脑上的文件或者文件夹复制到设备(手机)。比如,我们可以用如下命令,将sdcard外的东西存放进去:adb push
gavin.txt /sdcard/gavin.txt。

adb pull <远程路径>
<本地路径>

把设备(手机)上的文件或者文件夹复制到本机电脑。

2. 命令行输入Android相关命令:

clip_image005

android命令具体的参数可以通过在命令行输入android后回车,或者android
-help后回车的方式查看,这里简单介绍几个比较常用的命令。

3. 命令行输入emulator相关命令:

clip_image007

emulator命令具体的参数可以通过在命令行输入emulator
-help后回车的方式查看,这里简单介绍几个比较常用的命令。

emulator -avd <name>

启动指定模拟器。

emulator -avd <name> -sdcard
<name>

启动一个带有SD卡的指定模拟器。

emulator -skin <name>

启动一个使用指定skin的模拟器。

emulator -netdelay <delay>

模拟多种网络延迟等级,因此你可以在更接近真实情况的环境下测试你的应用程序。可以在模拟器启动时设置延迟等级或范围,也可以在模拟器运行期间通过控制台动态修改延迟。(关于控制台的操作,后面会介绍)

emulator -netspeed <speed>

模拟多种网络传输速度。可以在模拟器启动时指定传输速度或范围,也可以在模拟器启动后通过控制台动态修改传输速度。

4. mksdcard [-l label]
<size>
<file>

创建sdcard,如:mksdcard 256M C:\gavin.img

5. 模拟器控制台

每一个运行中的模拟器实例都包括一个控制台,我们可以利用控制台动态的查询和控制模拟设备的环境。如:我们可以利用控制台动态的管理端口映射和网络特性,还可以模拟电话事件。想要进入控制台输入命令,需要使用telnet连接到控制台的端口号:

telnet localhost <port>

其中,port是emulator的port号,如果第一个是5554端口,下一个实例使用的端口号会加2:5556、5558等。最多可以有16个模拟器实例同时运行控制台。

获取模拟器的方法有:

l 在启动模拟器时使用-verbose选项来检测该模拟器实例使用的端口号;

l 在调试输出中找“emulator console running on port number”这一行;

l 在命令行中使用adb devices来查看模拟器实例和他们的端口列表。

clip_image008

连接上控制台之后,可以输入help [command]来查看命令列表和指定命令的教程。要离开控制台会话,使用quit 或
exit 命令。下面,简单介绍几个控制台下常用命令。

redir <list|add|del> redir

在模拟器运行期间添加和删除端口重定向。连接上控制台后,可以通过它来管理端口重定向:列出、增加、删除。

network status

检测网络状况和当前延迟、加速特性。

network delay gprs <delay>

同emulator -netdelay <delay>

network speed <speed>

同emulator -netspeed <speed>

gsm <call|data|voice>

在模拟器上模拟电话功能。可以模拟打入电话和建
/终止数据连接。Android系统模拟电话呼叫跟真实情况一样。这个版本暂不支持电话录音。

三、 Android模拟器快捷键

 


temp

这里特别介绍下最新版本的更适合平板电脑使用、专门为Android平板电脑进行优化的系统版本Honeycomb
Preview上,Ctrl-F11的使用。

在Honeycomb Preview上,默认是如下图所示显示的:

clip_image010

如果想要换成在电脑屏幕上正常显示,则需要:在“Menu”-“Settings”-“Screen”-“Auto-rotate
screen”,取消选中即可。如果此时在Honeycomb
Preview横向的时候,屏幕仍然翻转,则连续按两次Ctrl-F11——先切成竖屏,再切回横屏——这时,就会发现屏幕变成如下显示:

clip_image012

另外,可以在“Menu”-“Settings”-“Language&input”-“Select
language”中选择“中文(简体)”,则可以使用中文界面,如下:

clip_image014

更多Setting请自行摸索,有不清楚的在小生博客留言吧。

四、 模拟器的限制

模拟器基本上可以模拟绝大多数Android设备的功能,但是,迄今为止,模拟器仍存在如下限制:

  • 不支持呼叫和接听实际来电;但可以通过控制台模拟电话呼叫(呼入和呼出)
  • 不支持USB连接
  • 不支持相机/视频捕捉
  • 不支持音频输入(捕捉);但支持输出(重放)
  • 不支持扩展耳机
  • 不能确定连接状态
  • 不能确定电池电量水平和交流充电状态
  • 不能确定SD卡的插入/弹出
  • 不支持蓝牙

五、 运行多个模拟器实例

如果必要的话,可以同时运行多个模拟器实例。每个模拟器实例使用独立的用户数据内存和不同的
控制台端口。这样可以独立的管理每一个模拟器实例。但是,每个实例存储跨会话的持久用户数据的能力—用户设置和安装的应用程序—会受限制。具体如下:

l
只有第一个模拟器实例能根据会话保存用户数据。默认情况下它把用户数据保存在开发设备的~/.android/userdata.img
(Linux 和 Mac) 或 C:\Documents and
Settings\<user>\Local
Settings\Android\userdata.img
(Windows)文件里。在启动模拟器时使用-data选项来控制用户数据的存储和加载位置。

l
在第一个实例后启动的模拟器实例(并行的)在会话过程中也保存用户数据;但它们不会为下一个会话保存它。这些实例将数据保存在临时文件中,当实例退出时,相应的临时文件会被删除。

六、 模拟器上网问题

1、将网络连接代理设置写入配置数据库

① 通过命令行或者通过双击emulatoer可执行文件,打开模拟器

② 在命令行执行adb shell打开android的控制台

③ 执行 ls -l
/data/data/com.android.providers.settings/databases/settings.db
,查看系统设置数据库文件是否存在

④ 如果数据库文件存在,执行 sqlite3
/data/data/com.android.providers.settings/databases/settings.db,以settings.db为当前scheme启动SQLITE3

⑤ 执行 INSERT INTO system VALUES(99,’http_proxy’,
‘192.168.0.245:8080′);
语句插入数据,其中192.168.0.245是我们要使用的代理服务器IP,8080是端口,请根据具体情况替换

⑥ 执行 SELECT * FROM system; 来查看刚才插入的数据

⑦ 重启模拟器,以使代理服务器设置生效

⑧ 可以使用 DELETE FROM system WHERE _id=99; 语句来删除代理设置,或者使用 UPDATE
system SET value = ‘192.168.0.245:8070’ WHERE _id=99;
来修改代理服务器设置

2、可能是DNS的问题

① 用系统的命令进入Android开发包的tools目录

cd E:\android-sdk-windows\tools

② 使用adb的shell,确认系统的各项属性

adb shell

getprop

getprop会列出系统当前的各项属性

③ 得到模拟器的DNS地址

在结果里可以看到:

[net.dns1]: [10.0.2.3]

[net.dns2]: [10.0.2.4]

④ 把dns改成我们自己的DNS

setprop net.dns1 192.168.1.1

注:一般TP-LINK及D-LINK的DNS都是192.168.1.1,如果不是请使用ipcnofig
/all命令确认。

3、直接带参数启动模拟器

emulator @default -http-proxy 10.16.xx.xx:8080

其中default是模拟器的名称

4、在模拟器中设置

启动模拟器,然后进入 Settings->Wireless &
networks->Mobile networks->Access
Point Names

然后打开出现在列表中的access point;

然后下面这样设置:

– Proxy : your proxy address

– Port : your proxy port

– Username : your username if needed, or <Not
set>

– Password : your password if needed, or <Not
set>

更多相关文章,请访问:

http://blog.sina.com.cn/deaboway

http://blog.csdn.net/deaboway

以上两个blog同步更新。

2011年第一季度移动应用开发者报告

原文:IDC & Appcelerator
编译:TMT观察中心 @顾文皎

IDC和Appcelerater对2235个平台应用开发者于2011年1月10至12日进行兴趣调查。

平板的突袭改变了开发者的优先开发次序,各经营者加快其移动应用战略执行。

概述

2011年1月10至12日,Appcelerator和IDC针对移动操作系统及功能的优先开发顺序,2011年移动应用开发计划的看法,对
Appcelerator
Titanium平台的2,235个开发者进行调查。调查揭示了平板市场的新入围者是如何改变应用开发的优先顺序,以及大大小小的经营者如何加速制定移动应用战略,以应对应用、移动设备、操作系统和手机性能的爆炸式发展。

这季度的报告显示,受欢迎程度方面,智能手机一块,Google几乎赶上了苹果,而平板市场这块Google与苹果差距也在逐渐缩小。微软和RIM
通过产品线更新获得不少收益。同时,Google
TV以及苹果TV的利润下降。随着这些趋势的显现,很明显,移动应用的试验期业已结束。今年,开发者和经营者预计在应用开发上加大3倍力度,平均一个开发者要为4个不同的设备设计应用。与此同时,地理位置、社交网络和云端接入的整合服务正在以惊人的速度增长,强调了用户卷入的延续性。同时,用来整合广告型和售卖型两种应用模式的新增计划让开发者得以重新关注长期财务可靠性,而不是免费的类同应用。

全新Android平板挑战iPad:谁的开发者意识占有率更高?

CES上发布的85款全新平板中,Android平板占多数。开发者们也忙不迭地把新发布的平板置于应有开发的优先地位。本次调查的标题包括:

clip_image002

  • 对平板的兴趣大幅上升:Android平板的感兴趣度在3个月内跃升12个百分点,74%的开发者表示对Android平板开发应用“十分感兴趣”。黑莓的Playbook感兴趣度几乎翻了一番,从16%上升至28%。iPad的感兴趣度增长了3个百分点,为87%。同时webOS系统的平板感兴趣度保持平缓,为16%。
  • Android平板市场今年预计呈爆炸性增长,加之最近三星Android系统的Galaxy的成功先例,57%的开发者认为价格是平板成功的最重要因素,其次是碎片最小化(占49%)和Android
    Honeycomb 操作系统的性能(占33%)。
  • 对苹果iPad 2的开发者最大愿望:增加全新摄像功能,USB连接功能和retina的改进显示效果。
  • iPhone相差5个百分点不到(iPhone为92%)。不过苹果仍然是开发者的头号开发对象,苹果目前有100亿应用可供下载。普通观点是:iPhone之后我会选择Android还是iPad?
  • 尽管平板炙手可热,联网电视却门可罗雀。由于Google延后了其Google
    TV的发布计划、电视网络阻止向联网电视提供内容、应用开发者更多地关注平板等种种原因,对开发联网电视移动应用的感兴趣度全面下降。Google
    TV的感兴趣度下滑11个百分点,至33%,Apple TV下滑10个百分点,至30%。开发者对其他类似选择,Yahoo
    TV,Boxee和Roku的感兴趣度也不大。
  • 由于Windows Phone
    7的发布好于预期,表示“非常感兴趣“的开发者上升8个百分点,占36%。调查对象表示Windows
    Phone用户界面的改善是感兴趣度提升的关键因素。
  • 亚马逊最新公布的Android Appstore显示出一定潜力。82%的开发者对在Android
    Market上发布应用表示了兴趣,其中37%对亚马逊Appstore表示兴趣,而Verizon
    VCAST这一比例为13%,GetJar为9%。
  • 有趣的是,开发者对Mac App Store和亚马逊最新的Android
    Appstore显示出几乎同样程度的兴趣(39%的开发者对Mac App Store感兴趣)。
2011:移动应用战略的竞赛

移动应用,设备,平台和手机性能触角延伸,促使大大小小的经营者竞相制定一个可持续的移动战略。这个季度, Appcelerator
和IDC引入一个新的“移动成熟度模型”,用来定义企业和消费者市场移动适应的三个演化阶段:“探索期”,“加速器”和“创新期”。

去年,多数被调查者(44%)称他们的移动战略处于“探索期”。开发一两个简单应用,特别是在iPhone上的应用,聚焦免费的类同应用是标准的做法。今年,55%的被调查者称他们在进入“加速期”。“加速期”的定义包括以下趋势和移动战略。

clip_image004

  • 平均每个调查对象称他们计划今年开发6.5个应用,该数量较去年上升了183%。
  • 更多经营者采取了多平台的方式。平均每个调查对象称其今年计划在至少4个平台上开发应用(例如:iPhone,iPad,,
    Android手机, Android平板),为2010年的两倍。
  • 云接入无处不在:87%的开发者称今年他们的应用将会与一个公共云或私有云联网,而去年只有64%的开发者表示开发云接入的应用。
  • 随时联网、个性化和情境有关:除了云服务,社交网络和地理位置服务在2011年将会爆炸式增长,决定了今年大多数移动体验。商用应用的感兴趣度呈上升趋势,PayPal击败苹果成为移动支付的首要选择。
  • 商业模式不断进化,移动应用体验用户更易卷入。开发者不再青睐免费类同应用,更少依赖0.99美元的应用销售收入,转向关注用户卷入模型,如售卖型和广告型,移动商务呼之欲出。
  • 外包转向内包:企业掌控自己的移动命运。81%的调查对象称他们自主开发应用,其中多数表示他们拥有整合的内包网络和移动开发团队。

总结这些趋势,任何人在制定移动战略上可以考虑维度:平台支持,用户体验,开发技能和技术架构。理解这些方面能使得企业的移动业务机遇最大化,同时最小化本报告所分析由设备扩展、不断复杂的移动设备,性能和操作系统带来的挑战。

调查结果

众多产品发布,新应用商店开张,假日纷至沓来,我们的首要焦点是如何理解这些事件影响了更广阔的移动领域。关于CES的新闻是如何影响应用开发的平台优先顺序的?开发者和经营者认为亚马逊或新的Mac
Store可行么?微软是否会“王者归来”?接下来是我们更深层研究这些趋势和其他一些趋势如何影响应用开发者观点。

iPhone之后,我是选择Android还是iPad

clip_image006

这个季度,Android手机与iPad的受欢迎度持平。我们在Appcelerator和IDC调查中经常问这个问题:“除了选择iPhone之外,我是选择开发Android应用还是iPad应用?”回答通常由商业目的的差异决定,但是该问题在这季度的调查中结果极为突出(顺便说一句:我们的通常推荐是,目的是纯市场份额和设计重用,考虑Android;目的是加强用户体验,考虑iPad)。

clip_image008

Windows Phone
7和黑莓手机在发布的新产品中赚取了丰厚利润。此外,相较webOS平板和MeeGo设备不佳表现,Windows Phone
7和黑莓手机在开发者意识占有率上保持平稳。

Android平板怎么样?

由于Android平板的加入,Android手机 vs.
iPad的局面变得更为复杂。对新Android设备的感兴趣度迅速飙升12个百分点,达到74%,显然预示着一场正在酝酿的平板争霸。黑莓同样进展喜人,其新设备感兴趣度几近翻了一倍。

clip_image010

Android平板显然是众多开发者的重心,让我们从开发者的角度来看全新移动设备的一些关键成功要素。令人惊奇的是,开发者认为最重要的成功要素的不是Android
Honeycomb,而是Google即将面世的专注于平板的操作系统:

clip_image012

碎片化从来都是开发者对Android最关注的问题,但是价格因素高于碎片化和硬件/软件性能,这个结果出人意料。我们将此结果主要归功于
Android的规模对更大领域的技术行业的影响。从三星到摩托罗拉,从HTC到LG再到东芝和其他众多品牌,如果你加上所有支持新设备的市场资本,从根本上来讲不同玩家真正不同的地方,最大最具遇影响力的变量(至少就近期来说)是价格。开发者盯着不到100美金的平板带来的诱人商机和大量用户机遇。

clip_image014

摄像头支持功能排首位并不令人惊讶,但是USB连接功能位居第二的位置有些意思..在iOS
4.3版本中即将支持Airplay,可能附加USB功能,两者的结合使得iPad
2更具功能扩展性。想象一下,iPad在零售商店里作为销售设备,在你的客厅是家庭娱乐和视频游戏的控制台。更好地支持第三方外围设备和内容流是iPad
在竞争中保持领先的主要因素。

联网电视:3个月前如此前途无量

clip_image016

上个季度,我们深入调查了Google和苹果即将面市的联网电视。人们对于在同样的操作系统下触及如此巨大的市场兴趣浓厚。3个月匆匆过去,事情开始转变。由于新问世的移动设备席卷而来,我们看到对于联网电视兴趣的下降。Google在开发工程上的一些延后,加之联网电视内容被拒,和电视遥控器50
多个按钮更加剧了这个局面。

新应用商店引起开发者兴趣

亚马逊和苹果在过去几个月里发布新的Android和Mac App
Store引起了不小的轰动。让我们在这里看看亚马逊Appstore与Google和其他的应用商店的比较。

clip_image018

下面是开发者对Mac App Store的兴趣调查结果。

clip_image020

这里有趣的是亚马逊河苹果新的Mac App Store对于开发者有同样的吸引力(高达30%),感兴趣度与Window Phone
7和黑莓差不多,但低于去年1月份iPad和去年后来的Android平板初期关注度。换句话说,我们把感兴趣度看做是乐观态度的投票。开发者的意思是:
“我很感兴趣,但并不足以感兴趣到放手一搏”。有趣的是,运营者的App
store(例如Verizon的)得到的关注度相对较低。虽然得益于归功于苹果100亿次的app下载量,但运营者需要比身经百战的苹果和亚马逊付出更多努力,向开发者表明他们的应用可以创造一个巨大的市场。

当务之急:加速你的移动应用战略

更多的应用,更多的设备,更多的操作系统,更多的性能。每年,苹果在iOS中新添大约1,000中新的功能,数以百计的新平板,手机和介于两者之间的设备进入到几十亿用户的手中。黑莓,Windows,亚马逊已经有了应用市场,甚至Mac也开拓了应用市场。那么接下来该做些什么?

本轮调查中,我们深入探究公司如何回应新机遇的爆炸性增长。我们询问了调查者一系列问题,关于他们去年在移动领域的表现和今年他们计划的改变。我们将分析分为5个部分。

建立战略,第一部分:从桌面互联网到移动云端接入

clip_image022

图表强调了3大主要趋势:

趋势一:快速创新

去年,经营者和开发者平均一家公司开发了2.3个应用。今年,这个数字为6.5,在应用开发上有183%的增长。开发生命周期变得至关重要。众多OS和硬件层面的创新不断涌现,应用生产也在不断增长,压缩应用开发问世时间和应用更新周期变得前所未有地关键。

趋势二:跨平台机遇

大大小小的公司都在增加其跨平台的应用,被调查的公司平均应用基于的移动设备的总数翻了一倍,从2个平台到4个平台(例如:iPhone,Android手机,iPad和Android平板)。正如上图显示,Android平板,黑莓手机,甚至是Windows
Phone 7平台上的应用数量也在上升。

趋势三:无处不在的云接入

随着我们进入了“后PC”时代,联网移动应用到云端服务应用的转变迅速。去年,64%的公司称他们将会开发基于云服务的应用。今年,这个数字跃升至
87%。更有趣的是这个增长不仅仅局限于私有云(例如后端网页服务)或是公共云(例如Facebook,Flickr,Youtube),两者服务都呈增长趋势。

这意味着什么?

随着迅速创新,应用生产,多设备支持的和云端进入的增加,所有地方的经营者都在转变他们的重心,从中心式网站架构到分布式的云接入应用模型。

clip_image024

这个转变意味着公司需要应对几大重要信息结构问题,包括:

  • 从中心式,基于浏览器的网站结构到连接至公共云和私有云多种设备和谐架构。
  • 随着信息转移到分散的开发力量从而引发的数据归属和安全问题。
  • 设备所有权从雇主负责转变为雇员负责,由此引发的设备管理变化。
  • 传统云逻辑发生转变:商业和应用逻辑现基于多种设备、数据联网和云逻辑的整合。
  • 应用生命周期管理和工具,内部系统及技术带来的改变
  • 中心化模型到去中心化模型带来了众多挑战,更重要的是安全传送面向客户新服务和数据,发展一个可重复的战略,将分布的设备连接到云端,接受全新,独特的移动商业模型。
建立战略,第二部分:随着应用本地化和社交网络化,服务的需求开始贪婪地增加

clip_image026

除了云端接入之外,使用用户地理位置设定相关情境,利用社交图谱增进应用接受度几乎无处不在。同样的,可迅速获得的特性和采用全新移动服务,例如应用售卖型,推送通知,和一些类似条码扫描的新奇的照相机使用方式,这些同样增长了公司提升应用复杂性的需要:随着手机新性能不断推出,需要寻找一个灵活的方法来将手机新性能融合到应用中去。

建立战略,第三部分:超越类同应用

云端、LBS和社交网络服务的需求增长同样也在改变商业模型。与售卖完全基于内容的应用相反,基于更深层用户卷入的应用提供了更多的价值。随着时间增长,用户使用次数增加,时间更长。同时,应用向持续对用户输送价值转变,为开发者对广告型和售卖型应用关注度迅速增加提供了基础。越来越多的开发者现在明确采取持续的强化价值传递作为长期战略,而价值传递反过来支持广告、售卖型应用和移动商务模型。最终,目的在于“品牌忠诚度/卷入”的免费应用的将会更少,因为免费应用无法顾及应用开发和支持费用。此外,对财务商业模型自始至终依赖初期应用购买也会减少。


建立战略,第四部分:外包转为内包

为了保持行业领先,越来越多的公司开始将应用开发转为内包。整合网页和移动的团队正在更多地对公司的移动战略负责,从而对于遍及各种网站,Facebook网页和移动设备的广告活动有完全的控制。

clip_image028

另一个促使公司转向内包开发的因素是飞速的创新步伐。由于应用的生命周期可以短于1年,应用更新的需求最短要在几天之内,众多公司应用的初始版本开发出来后,这些需求使得外包让人头疼不已。短期开发冲刺,内部的团队管理使得公司对应用的生命周期有完全的控制权,其对于保持竞争优势、减少复杂性、跟上设备和服务性能的不断多样化、满足飞速创新中的需求起到越来越重要的作用。

建立战略,第五部分:通过“移动成熟模型”加速发展

所有这些新动向,更多的应用,更多的平台,更多的服务,更多的商业模型,意味着建立和管理移动战略正在发生根本性的变化。为了读出这些趋势背后的意味,更规范地理解你的生意处于哪个时期,我们开发了“移动成熟模型”,展示了3个阶段的适应期:“开发期”、“加速期”和“创新期”。我们询问开发者和公司,确定了他们2010年处于的阶段和2011预期处于的阶段。而后确定了评价这些成熟期的4个维度。如下图所显示的,当下行业正在向“加速期”的转型。

clip_image030

平台

“我需要我的iPhone应用”是2010年最常见的话。不再是了。应用布置跨平台战略,例如平板战略成为必须。在第三阶段的创新期,公司考虑的是所有主要平台和设备的应用可能性。

用户

这个维度考虑了简单的基于内容的应用向更复杂,用户卷入的应用的转变。简单的应用主要专注娱乐和信息传送功能,而复杂应用使用地理位置、社交网络和云端服务的交互服务应用,例如移动商务。用户体验提升,应用的成熟度,用户预期,商业转型基于和内在的商业模型得到了提升。免费应用和单纯的依赖应用商店销售收入让位给广告型,售卖型应用和移动商用应用。

开发者

正如之前所示,开发外包到内包的转变趋势越来越明显。开始开发外包的权宜之计“为了更快完成一个应用的开发”很快转变为关于竞争优势,可持续长期移动战略以及应用迅速上市考量的战略讨论。

技术

为了满足日益增长的应用,新设备,经常性更新和用户深度卷入的需求,公司需要开发和补充可循环利用的组件,来降低费用,缩短上市时间,降低应用复杂性。举个例子,媒体公司需要考虑如何为每个自己开发的应用接入自己的内容图书馆,后台分析,视频流,社交网络链接,基于地理位置的提醒和广告系统。最终,这个促成了一个跨平台,充分整合的移动架构,包含了一个公司所有的应用。

总结思考

理解移动趋势和开发者的优先考量与移动市场发展具有同样重要的地位,而Appcelerator和IDC相信及时制定一个长期,灵活的移动战略更为重要。因为只有灵活的移动战略才可以应对移动市场提供的爆炸性机遇增长。在移动成熟度模型中提供的四个维度也提供了一个基础。基于模型,公司可以开始计划建设一个良好的移动结构,能经受时间的考验。

原文来源:http://www.appcelerator.com/company/survey-results/mobile-developer-report-january-2011/

本文转自:http://weiwuhui.com/4117.html

2011年最新企业offer(待遇)华丽丽登场

序号 1

 单位/企业 开心网
 待遇详情 小本,开发职位,8K

 
 序号 2
 单位/企业 华为
 待遇详情 一线城市硕士生8000 ;成都华为7500 软件研发

 上海华为拿到手收入:8000-1440-559=6001.0 ,住房公积金总额1120

 南京(全国)地区华为拿到手收入:7500-1425-486.26=5588.8 住房公积金总额1200

 网上点评: 一般

 序号 3
 单位/企业 中兴
 待遇详情 7500;中兴全国统一7300;上海,硬件工程师,待遇5750+400(饭贴)/月,年终奖不定(第一年可能只有5000左右,第二年1万左右,后面变化不大可能维持两万左右

 2011中兴开的待遇7300(包括了1200车补,400饭补、400公司交的公积金,总共2000不参与扣税),中兴的五险扣税基数按5300交,公积金自己交。上海中兴拿到手收入:7300-954-370=5976

 南京(全国)地区中兴拿到手收入:7300-1431-370=5499 住房公积金总额。848税前工资五险一金个税到手收入 7300-1431-370=5499 税前工资五险一金个税到手收入,7300-954-370 =5976 )

 网上点评: 中兴加班没有加班费

 序号 4
 单位/企业 有道
 待遇详情 22w
 
 序号 5
 单位/企业 baidu
 待遇详情 研发8-23w不等 前端开发16w

 
 序号 6
 单位/企业 新邮通
 待遇详情 7500
 网上点评: 福利基本没有,年终奖基本没有

 序号 7
 单位/企业 Yahoo
 待遇详情 15000/月
 网上点评: Yahoo!最有钱

 序号 8
 单位/企业 深圳茂业商厦
 待遇详情 培养期一年,期内工资2300

 
 序号 9
 单位/企业 阿里巴巴
 待遇详情 技术类1w起跳 非技术类才5k

 
 序号 10
 单位/企业 阿朗
 待遇详情 11w多
 
 序号 11
 单位/企业 腾讯
 待遇详情 比淘宝一年多一万

 
 序号 12
 单位/企业 杭州诺西
 待遇详情 7000+ LTE基站研发

 
 序号 13
 单位/企业 海尔
 待遇详情 硕士研发部门转正后5000;8万/year;工资2300,到手1800

 网上点评 不给力啊;工资最低了;8万是税前,税后啊?

 序号 14
 单位/企业 网易编辑
 待遇详情 转正估计乱七八糟到手也就5000来块钱吧

 
 序号 15
 单位/企业 金雅拓
 待遇详情 宣讲说是7000+好像;据说9K多,据说

 
 序号 16
 单位/企业 优衣库
 待遇详情 2300+300

 网上点评: 非常非常辛苦,节假日肯定加班

 序号 17
 单位/企业 威睿电通
 待遇详情 CDMA/GSM手机芯片,威盛的子公司,年薪大概11w,有期权,基本能解决户口;硕士,嵌入式开发:主要是基于linux和android平台的研发,7500k

 
 序号 18
 单位/企业 台湾联发科技多媒体芯片提供商/MTK

 待遇详情 TDSCDMA/GSM手机芯片,年薪大概12w;android软件开发工程师,BSP,每月7.3k+1k,年底双薪7.3k+1000,13个月,一年平均2个月奖金,每天30饭补。

 网上点评 加班多,比较累,50%概率解决户口;累,基本每天晚上9点下班,一周六天。50%户口,有加班费(一月最多36h)

 序号 19
 单位/企业 华讯网络
 待遇详情 顾问工程师 (7000+750)*15

 
 序号 20
 单位/企业 大唐联城
 待遇详情 终端产品工程师5000*15

 网上点评: 应该加班多

 序号 21
 单位/企业 鼎桥(北京)
 待遇详情 税前(7000+800)+加班+年终

 网上点评: 户口不保证,但说往年都能解决

 序号 22
 单位/企业 中电15所测评中心

 待遇详情 2500+800(房补)+绩效奖金+饭补,事业编制

 网上点评: 加班情况未知

 序号 23
 单位/企业 启明星辰(北京)

 待遇详情 linux+c,3个月试用期,薪水是7000+京户(13-14个月)

 网上点评: 比较轻松

 序号 24
 单位/企业 淘宝
 待遇详情 系统&运维工程师,待遇8k*15

 
 序号 25
 单位/企业 三星通信研究院

 待遇详情 广州,软件工程师,1)月薪 :6800元(税前)/ 月2)节日慰问金( 春节,国庆各1次):4760元(税前)/次3)奖金:根据公司经营情况及个人的评价结果发放4)按广州市标准购买社会保险和公积金及商业保险5)公司免费提供的上下班班车及工作午餐

 
 序号 26
 单位/企业 北京移动
 待遇详情 7.2w+奖金 税前,硕士

 
 序号 27
 单位/企业 和利时
 待遇详情 月薪6500,不承诺解决户口

 
 序号 28
 单位/企业 瑞斯康达
 待遇详情 光纤通信月薪7000或者7500

 
 序号 29
 单位/企业 恒润
 待遇详情 军事工业部
 网上点评: 工资是4000元,说是年薪能够达到8万以上

 序号 30
 单位/企业 航天207所
 待遇详情 电磁场与电磁波方向博士待遇8-10万;

 
 序号 31
 单位/企业 中电14所
 待遇详情 电磁场与电磁波方向博士年薪15万以上,购房补贴25万以上

 
 序号 32
 单位/企业 航天科工集团下一公司

 待遇详情 5000 补贴1000 +饭补15*30 /m ,购物卡+制衣 7000 /y,户口保证提供宿舍

 
 序号 33
 单位/企业 瑞斯康达
 待遇详情 天津和深圳户口 7500*(14到16个月);(7k+0.5k)*(14-16)

 
 序号 34
 单位/企业 曙光
 待遇详情 北京户口6200(基本)+20%绩效 12个月

 
 序号 35
 单位/企业 创新工厂
 待遇详情 软件开发(北京):8.5k*13

 网上点评: 据说工作很辛苦,会有更多锻炼机会吧

 序号 36
 单位/企业 深圳TP-LINK

 待遇详情 月薪 :6600元(税前)/月(注:试用期工资支付90%),奖金:差不多四个月工资,但第一年一个月不到。加班:不强制加班,所以加班比较少,但加班没工资的只购买社保和上下班车,没有其他福利了

 
 序号 37
 单位/企业 华北计算机所
 待遇详情 解决集体户口,事业编制,转正后五千,地点在北京(学历不详)

 
 序号 38
 单位/企业 南瑞继保
 待遇详情 (HR说的)税后15万以上

 网上点评: 收入名目很多,有些可能五年后才能拿到,好像还有内部房什么的。

 序号 39
 单位/企业 威盛
 待遇详情 8.5k+300,12个月,年底1~2个月奖金,给力的户口

 网上点评: 轻松,周末双休,环境好。发展不太看好,据说涨工资很慢。

 序号 40
 单位/企业 重庆农商行
 待遇详情 基本工资:900+岗位:900+车补500+绩效500左右减去要扣的一些=2000左右

 网上点评: 莫名奇妙的罚款很多

 序号 41
 单位/企业 中粮
 待遇详情 税后一个月4000左右(上下200),住房公积金一般600-700不等,本硕差距不大,公司提供两餐饭而已。

 网上点评: 非常非常的一般

 序号 42
 单位/企业 北京航天五院
 待遇详情 起薪8到10万(含补助和年终奖在内),工资涨幅不快,提供职工宿舍,北京户口,事业编,目前来看,排队7年左右可以分到房子(不保证一定能分到)

 
 序号 43
 单位/企业 西安兵器206研究所

 待遇详情 第一年5.5W,稳定后可能7~8W

 网上点评: 工资涨幅慢,福利还可以,工作可能轻松一些,在西安生活压力小

 序号 44
 单位/企业 百度
 详细待遇 1W~1.5W
 
 序号 45
 单位/企业 淘宝
 详细待遇 8K~1W
 
 序号 46
 单位/企业 腾讯
 详细待遇 1W~1.3W
 
 序号 47
 单位/企业 北京爱立信
 详细待遇 5900
 
 序号 48
 单位/企业 邮储
 详细待遇 硕士济南市区不到2500(包括购物卡福利在内的,不加只有1000多)

 网上点评: 比民工还少

 序号 49
 单位/企业 广东联通
 详细待遇 硕士基本工资4000+,本科3000+

 
 序号 50
 单位/企业 阳江联通
 详细待遇 税后1800左右

 
 序号 51
 单位/企业 广州移动
 详细待遇 4000*1.2/m

 
 序号 52
 单位/企业 上海电气锅炉厂化工容器

 详细待遇 研究生至少5.5万

 
 序号 53
 单位/企业 富士康
 详细待遇 研究生是4200-4700

 
 序号 54
 单位/企业 友达光电
 详细待遇 4300
 
 序号 55
 单位/企业 HP
 详细待遇 年薪11W(外包)

 
 序号 56
 单位/企业 平安
 详细待遇 分析岗(待遇不明,网上是6000-7999,开的是7500)

 
 序号 57
 单位/企业 opera
 详细待遇 数据分析,年薪13W,1到2年后20W

 
 序号 58
 单位/企业 上海华讯网络
 详细待遇 网络集成方案 深圳 接近9W,解决深圳户口,不包吃住

 
 序号 59
 单位/企业 东风日产
 详细待遇 技术中心(搞汽车研发的),第一年6W左右,有奖金,第二年7W,第三年8W,第四年11W,有宿舍,地点在花都

 
 序号 60
 单位/企业 星网视易
 详细待遇 软件研发(福州),9万

 
 序号 61
 单位/企业 联发科(见18)

 详细待遇 深圳,13万
 网上点评 加班比较多,而且会有那种通宵加班,当然发展也会很快

 序号 62
 单位/企业 北京爱立信(见47)

 详细待遇 基本工资6300(税前)

 
 序号 63
 单位/企业 方正北京总部
 详细待遇 5000+
 
 序号 64
 单位/企业 中国邮政储蓄银行邮储总行

 详细待遇 税后12万
 
 序号 65
 单位/企业 扬州海信科龙
 详细待遇 试用期6个月,每月2000,转正后2200

 
 序号 66
 单位/企业 海尔
 详细待遇 基本工资2500+,基本年薪4W +一些绩效工资

 
 序号 67
 单位/企业 迈瑞国内用服
 详细待遇 非一线城市,4000,发13个月;没有住房公积金 ;本科 一线城市6500 非一线 6000 研究生 8500 OR 8000 有五险一金

 
 序号 68
 单位/企业 光大银行
 详细待遇 广州月薪是4000-5000,然后转正后大致在8至10W

 
 序号 69
 单位/企业 中电集团南京某所

 详细待遇 年薪12W+,安家费20W

 
 序号 70
 单位/企业 航天五院501

 详细待遇 年薪8-10万,可能有福利房

 
 序号 71
 单位/企业 航天科技集团805所

 详细待遇 第一年每月到手五千左右的样子,福利奖金加起来第一年全部八万左右

 
 序号 72
 单位/企业 东南融通
 详细待遇 深圳,月薪5K
 
 序号 73
 单位/企业 中山联通
 详细待遇 年收入9-10万!?

 
 序号 74
 单位/企业 工行
 详细待遇 本科3200 硕士3800

 
 序号 75
 单位/企业 毕马威
 详细待遇 6200
 
 序号 76
 单位/企业 万千百货
 详细待遇 转正后,本科3000,硕士3600

 
 序号 77
 单位/企业 苏宁
 详细待遇 1750+400元房补

 
 序号 78
 单位/企业 中航物业
 详细待遇 试用期三个月,每个月2800左右,三个月转正后3000差不多4000的样子,没有住房公积金,只有住房补贴。税前的收入一年在5.5W到6W之间

 
 序号 79
 单位/企业 默沙东
 详细待遇 实习 3K+1.9K补助

 
 序号 80
 单位/企业 中行
 详细待遇 软开,第一年税前9.3W

 
 序号 81
 单位/企业 中科院遥感应用所

 详细待遇 转正前大概6k,转正后大概8k

 
 序号 82
 单位/企业 神州数码
 详细待遇 开发 7k 解决户口

 
 序号 83
 单位/企业 锐捷
 详细待遇 嵌入式软件工程师6300*15

 
 序号 84
 单位/企业 厦门国际银行待遇

 详细待遇 8-11w/y 试用期6个月

 
 序号 85(参照67)
 单位/企业 深圳迈瑞
 详细待遇 8500*13
 
 序号 86(参照45)
 单位/企业 杭州淘宝
 详细待遇 软件测试工资7K,奖金3-5个月

 
 序号 87
 单位/企业 宇龙通信
 详细待遇 12w年薪 实习7500

 
 序号 88
 单位/企业 平安证券
 详细待遇 重本 底薪1500/月

 
 序号 89
 单位/企业 光大证券
 详细待遇 重本 底薪1200/月

 
 序号 90
 单位/企业 中辉期货
 详细待遇 重本 底薪2000+

 
 序号 91
 单位/企业 携程
 详细待遇 (宣讲会)实习期2000,试用期3500,转正后4000,工作地点上海,不包吃住

 上海携程 基本收入工资 700元 提城:一般在700-1800元左右 餐贴:200元一个月 其他收入:年底一个月双薪

 
 序号 92
 单位/企业 瞬联
 详细待遇 8.6k
 
 序号 93
 单位/企业 tieto (叠托)详细待遇

 网上点评 :软件开发 海龟小硕 成都5500

 
 序号 94
 单位/企业 盛大
 详细待遇 上海游戏研发策划,小本,税前4k,基本工资;

 北京游戏策划 小硕 说是试用期4.5K;

 管培 硕士~ 管培轮岗期6个月 5500

 
 序号 95
 单位/企业 百度
 详细待遇 测试开发工程师 一个10K,一个12K

 
 序号 96
 单位/企业 迈瑞
 详细待遇 税前8.5k,年薪12w

 
 序号 97
 单位/企业 审协
 详细待遇 第一年进去才3k不到

 
 序号 98
 单位/企业 上海航空电器
 详细待遇 8W(传说)
 
 序号 99
 单位/企业 百度
 详细待遇 搜索研发部19K左右,没有户口,计算机小硕

 
 序号 100
 单位/企业 微软亚太研发集团

 详细待遇 base加奖金200K左右,有户口

 
 序号 101
 单位/企业 天津邮政
 详细待遇 金融管理岗两千多,公积金应该是15%,1:1交

 
 序号 102
 单位/企业 哈尔滨银行天津分行

 详细待遇 试用到转正基本两三千的样子,公积金15%,据说是按1:2交

 
 序号 103
 单位/企业 佳能信息技术(北京)有限公司

 详细待遇 税前17w+补充医疗

 
 序号 104
 单位/企业 理光软件研究所(北京)有限公司

 详细待遇 税前18w
 
 序号 105
 单位/企业 国信
 详细待遇 4.5K(税后)+加每日30元食补,业绩一般2K到9K

 
 序号 106
 单位/企业 中船重工701所(武汉)

 详细待遇 舰船总体设计
 宣讲会时说硕士(转正后)是基本工资1k5+绩效(各部门不同,约为基本工资1、2倍),估计转正后第一年是5、6W。

 
 序号 107
 单位/企业 东方汽轮机(德阳)

 详细待遇 4k多/月
 
 序号 108
 单位/企业 安徽电信
 详细待遇:本科实习一年,实习期800,研究生实习半年,也是800元;实习研究生1000,本科生700,每月会有补助200多

 
 序号 109
 单位/企业 广州交行
 详细待遇 税前4000本科

 
 序号 110
 单位/企业 卡夫上海
 详细待遇 4500
 
 序号 111
 单位/企业 蓝月亮
 详细待遇 2100+3金。加4%的提成

 网上点评 :每天工作都会长达10小时以上,很少有及时下班的

 
 序号 112
 单位/企业 大众
 详细待遇 工资+奖金 9.2万

 
 序号 113
 单位/企业 百事
 详细待遇 南京销售管理培训基本工资1.8K;江苏淮安,待遇是2500;

 
 序号 114
 单位/企业 中国移动深圳分公司

 详细待遇 技术类岗位工科小硕

 网上点评 :第一年6k+还有其他福利补贴绩效

 
 序号 115
 单位/企业 中国平安
 详细待遇: 理赔的刚进去的是2000-3000;四川寿险培训岗刚谈过待遇第一年2000 第二年2500到3000不定,不包括任何税费;上海平安的HR说基本工资是3000——5000,一般能拿到4000+

 
 序号 116
 单位/企业 南京县级电信
 详细待遇 第一年2400 税后1800

 
 序号 117
 单位/企业 大唐移动
 详细待遇 培训讲师,本科 工资4000、北京户口

 
 序号 118
 单位/企业 广发银行总行
 详细待遇 前三个月,每个月2k多,转正后,每个月可能有9K左右,

 第一年加上奖金什么的可能有10W左右
 
 序号 119
 单位/企业 葛洲坝地产
 详细待遇 1800一个月
 
 序号 120
 单位/企业 壳牌
 详细待遇 HR说今年的薪水是七八九本科7500,研究生8500 博士9500

 
 序号 121
 单位/企业 妮维雅
 详细待遇 烟台的,说是正前1600,正后2300

 
 序号 122
 单位/企业 大地保险
 详细待遇 据说6100*14 上海总部,管理岗位,小硕

 
 序号 123
 单位/企业 县级电信
 详细待遇 实习期间2400,扣完五险一金1800.转正之后3000左右

 
 序号 124
 单位/企业 武汉苏宁(见77)

 详细待遇 1850基本+300住房+150餐补=2300 第一年见习的工资

 南京2500,上海3200···实习第一年
 
 序号 125
 单位/企业 易方达
 详细待遇 200K;一进去安家费本科生2000,硕士4000 然后逢年过节4000

 
 序号 126
 单位/企业 中国银联
 详细待遇 税前12w 餐补 交通补 补充医疗、住房公积金

 
 序号 127
 单位/企业 大唐移动(见117)

 详细待遇 标算法 基本工资7-8k 14-16

 
 序号 128
 单位/企业 东风商用车技术中心

 详细待遇 本科第一年年薪29000,安家费5000

 
 序号 129
 单位/企业 阿朗
 详细待遇 自动化小硕,北京 用户数据管理研发,税前12w左右

 
 序号 130
 单位/企业 徐工集团
 详细待遇 见习期1年每个月2600,200住房补贴;转正后管理岗会到达5000

 
 序号 131
 单位/企业 厦门建发
 详细待遇 见习3000,提供住

 
 序号 132
 单位/企业 恒生银行
 详细待遇 MT,香港培训的第一个月是8000,包吃包住。然后每个月以2000的速度增加。在香港的半年到一年的时间结束后,回到大陆的分行。工资将近2万

 
 序号 133
 单位/企业 国电南自
 详细待遇 一年7-9万,税前

 
 序号 134
 单位/企业 安永
 详细待遇 SLP 6000税前

 
 序号 135
 单位/企业 爱立信
 详细待遇 北京 Core Network Consultant,大概总计11.2w,每月5900

 
 序号 136
 单位/企业 泛亚汽车技术中

 详细待遇 本硕博4500 5500 6500,发至少14月,一般16月

 
 序号 137
 单位/企业 卡夫
 详细待遇 北京 >4000

 
 序号 138
 单位/企业 四大
 详细待遇 一线城市统一标价 本科生6000*13,研究生6300*13

 
 序号 139
 单位/企业 安徽人保
 详细待遇 淮南分公司,本科,211的大学出来的的,签的是A类合同,就是总公司版本的合同。试用期六个月,好像没有公积金,月薪
1500,拿到手的有1080。转正后月薪2400,扣完五险一金后差不多有1800左右。这里是工资,然后每个月吃饭是在公司食堂吃,发饭票,包括早饭
和午饭,饭票价值160,吃饭这块基本不花钱。每个月交通补助50,手机费补助100,每年的医保范围内的费用可回加1000元。中秋节,我们昨天刚发了
2000元过节费,然后年终加春节是5000,其他节假日累计也有3000。每年还组织职工旅游。转正后的年薪是28800,加上福利待遇的,每年实际收
入有4万,公积金是单位帮我们交 450,我们自己交450也就是900。
 
 序号 140
 单位/企业 陕西人保
 详细待遇 小硕,一个月1423

 
 序号 141
 单位/企业 妮维雅
 详细待遇 sales 刚进公司是4k,半年后一般都有6K–8K.

 
 序号 142
 单位/企业 格力
 详细待遇 3k
 
 序号 143
 单位/企业 炬力
 详细待遇 5k
 
 序号 144
 单位/企业 山东联通
 详细待遇 本科进去七岗,工资一千七 ;研究生六岗全部都加上,区县的估计一个月2000多不到三千

 
 序号 145
 今年一些企业的offer(待遇)比较(已更新到148家)
 单位/企业 神舟
 详细待遇 3-4w
 网上点评: 最会吹牛
 
 序号 146
 单位/企业 苏宁
 详细待遇 上海 2450+500+250 基本工资+房帖+餐贴;南京 1900+400+200

 
 序号 147
 单位/企业 天津银行
 详细待遇 基本工资1200~1500,奖金一般是1000左右,300-500-1000不等的过节费

 
 序号 148
 单位/企业 工行绍兴分行
 详细待遇 第一年4—5W ,第二年7-8W

用Eclipse开发和调试Android应用程序(二)

二、 创建Android Eclipse工程

请参考小生的《Android SDK
2.3与Eclipse最新版开发环境搭建(五)》,博文地址:http://blog.sina.com.cn/s/blog_573860a90100ownd.html
or
http://blog.csdn.net/deaboway/archive/2011/01/30/6170449.aspx

三、 工程结构详细解析

1. 工程结构

在Eclipse的Java透视图中,可以看到工程的Package Explorer如下图:

clip_image002

具体包括:

src 文件夹 – 包含示例应用程序的包,即org.deaboway.test。

R.java – Android Developer Tools 自动创建这个文件,它提供访问 Android
应用程序的各种资源所需的常量。后面会详细讨论 R 类与资源之间的关系。

HelloAndroidWorld.java – 应用程序的主活动类的实现。

Referenced libraries – 包含 android.jar,这是 Android SDK 中的
Android 运行时类的 jar 文件。

res 文件夹– 包含应用程序的资源,包括:

· drawable – 图标:这个文件夹包含图形文件,比如图标和位图。

· layout – 布局文件:这个文件夹包含表示应用程序布局和视图的 XML 文件。

· values – 字符串:这个文件夹包含 strings.xml 文件。这是为应用程序实现字符串本地化的主要方法。

AndriodManifest.xml – 示例应用程序的部署描述符。

default.properties 和proguard.cfg
从2.3版本以后,android sdk
本身包含proguard,可以通过正常的编译方式也能实现代码混淆,我们可以看到android-sdk-windows\tools\下面多了一个proguard文件夹。防止反编译工具进行反编译,保证代码安全。

2. 主类分析

这个示例应用程序由一个Activity(活动)组成,即HelloAndroidWorld。正如前面提到的,HelloAndroidWorld类是在HelloAndroidWorld.java
文件中实现的。

package org.deaboway.test;

import android.app.Activity;

import android.os.Bundle;

import android.widget.TextView;

public class HelloAndroidWorld extends
Activity {

@Override

public void onCreate(Bundle savedInstanceState)
{

super.onCreate(savedInstanceState);

// TextView textView = new TextView(this);

// textView.setText(“Hello Android World!”);

// setContentView(textView);

setContentView(R.layout.main);

}

}

在这个源代码片段中,要注意几点:

  • HelloAndroidWorld 是一个普通的 Java 类,包含包和导入语句。
  • HelloAndroidWorld 扩展 android.app 包中的 Android 基类 Activity。
  • onCreate() 方法是这个活动的入口点,它接受一个 Bundle 类型的参数。Bundle 类本质上是 map 或
    hashmap 的包装器。在这个参数中传递构造活动所需的元素。这里暂时不讨论这个参数。
  • setContentView() 负责用 R.layout.main 参数创建主 UI。R.layout.main
    是应用程序资源中主布局的标识符。

3. R.java文件

R.java 文件是在构建时自动创建的,所以不要手工修改它,因为所有修改都会丢失。本实例的R.java文件内容如下:

package org.deaboway.test;

public final class R {

public static final class attr {

}

public static final class drawable
{

public static final int
icon=0x7f020000;

}

public static final class layout
{

public static final int
main=0x7f030000;

}

public static final class string
{

public static final int
app_name=0x7f040001;

public static final int
hello=0x7f040000;

}

}

R 类包含一些匿名子类,每个子类包含前面描述的各种资源的标识符。注意,这些类都是静态的。

请注意 R.layout.main 代表的元素。这个标识符代表由 main.xml 定义的布局。在活动的 onCreate
方法中可以使用这个值:setContentView(R.layout.main)。这就是在运行时把特定的活动(这里是HelloAndroidWorld)和特定的布局(主布局)联系在一起的方法。

4. main.xml文件

本示例应用程序包含一个活动和一个视图。应用程序包含一个名为 main.xml 的文件,它代表活动的主 UI 的视觉方面。

注意,在 main.xml 中没有指定在哪里使用这个布局。这意味着,如果需要的话,可以在多个活动中使用它。

<?xml version=“1.0”
encoding=“utf-8”?>

<LinearLayout
xmlns:android=“http://schemas.android.com/apk/res/android”

android:orientation=“vertical”

android:layout_width=“fill_parent”

android:layout_height=“fill_parent”

>

<TextView

android:layout_width=“fill_parent”

android:layout_height=“wrap_content”

android:text=“@string/hello”

/>

</LinearLayout>

这是最简单的布局,其中只有一个垂直的线性布局,这意味着所有元素排成一列。这里有一个 TextView
元素,它与其他开发环境中的标签类似。TextView 代表不可编辑的静态文本。

注意,每个视图元素(比如这个示例中的 LinearLayout 和 TextView)都有属于 Android
名称空间的属性。一些属性是所有视图元素都有的,比如 android:layout_width
和android:layout_height。这些属性可以采用的值是:

fill_parent – 使视图元素占满可用的空间。也可以认为这就是 “拉伸”。

wrap_content – 这个值让 Android 把元素一个接一个地排列,不进行拉伸。

5. AndroidManifest.xml文件

AndroidManifest.xml 文件是 Android
应用程序的部署描述符。这个文件列出应用程序中包含的所有Activity(活动)、ContentProvider(内容提供程序)、BroadcastReceiver(广播接收器)与Service(服务),以及应用程序支持的
IntentFilter。下面是这个示例应用程序的完整的 AndroidManifest.xml 文件。

<?xml version=“1.0”
encoding=“utf-8”?>

<manifest
xmlns:android=“http://schemas.android.com/apk/res/android”

package=“org.deaboway.test”

android:versionCode=“1”

android:versionName=“1.0”>

<application android:icon=“@drawable/icon”
android:label=“@string/app_name”>

<activity
android:name=“.HelloAndroidWorld”

android:label=“@string/app_name”>

<intent-filter>

<action
android:name=“android.intent.action.MAIN”
/>

<category
android:name=“android.intent.category.LAUNCHER”
/>

</intent-filter>

</activity>

</application>

</manifest>

  • 这里指定了源文件中的包名。采用与 Java
    源文件和导入语句相似的模式。<manifest> 标记的实际作用是
    “导入” 这个包中的类。在这个文件中,所有非完全限定的类都属于 package 属性指定的包。
  • <application>
    标记的一个属性引用了应用程序的一个资源。请注意 drawable 标识符前面的 @ 符号。这里的意思是,在应用程序资源的
    drawable 文件夹中寻找名为 “icon” 的资源。
  • <activity> 标记包含以下属性和值:
    • android:name表示实现这个活动的 Java 类。
    • android:label 是应用程序的名称。注意,它来自一个字符串资源。string.xml
      文件包含应用程序的本地化字符串。
    • <intent-filter> 表示应用程序中可用的
      IntentFilter。这是 Android 应用程序中最常见的 IntentFilter。这个过滤器的实际意思是,它实现 “主”
      操作(也就是入口点),而且它位于 OS 的启动器中。这意味着可以在 Android
      设备上像启动其他应用程序一样,从应用程序主列表中启动它。

四、 应用程序调试

要想检查正在运行的应用程序中发生了什么情况,就需要查看正在运行的 Dalvik VM。在 Eclipse 中,选择 Window
> Open Perspective > Other。在出现的对话框中选择
DDMS。这会在 Eclipse 中打开一个新的透视图,其中有许多有趣的窗口。

DDMS 为IDE和Emultor(or
GPhone)架起来了一座桥梁。Developer可以通过DDMS看到目标机器上运行的进程/线程状态:可以让Eclipse程序连接到开发机上运行;可以看进程的heap信息、logcat信息、进程分配内存情况;可以像目标机发送短信、发送地理位置信息以及打电话;可以像gdb一样attach
某一个进程调试。

下面简要介绍一下 DDMS 透视图中提供的资源:

1. Devices

Device 中罗列了Emulator中所有的进程,选项卡右上角那一排按钮分别为:Debug the selected
process调试进程、Update Heap更新进程堆栈信息、Dump HPROF file检查HPROF(Heap/CPU
Profiling Tool)文件、Cause GC调用垃圾回收、更新进程Update Threads、Start Method
Profiling开始方法分析、Stop Process停止某个进程,和Screen Capture抓取
Emulator目前的屏幕。当你选中某个进程,并按下调试进程按钮时,如果eclipse中有这个进程的代码,那就可以进行源代码级别的调试。有点像
gdb attach。图片抓取按钮可以把当前android的显示桌面抓到你的机器上,也是非常有用。

clip_image004

这里可以查看到所有与DDMS连接的终端的详细信息,以及每个终端正在运行的APP进程,每个进程最右边相对应的是与调试器链接的端口。因为Android是基于Linux内核开发的操作平台,同时也保留了Linux中特有的进程ID,它介于进程名和端口号之间。

DDMS监听第一个终端App进程的端口为8600,APP进程将分配8601,如果有更多终端或者更多APP进程将按照这个顺序依次类推。DDMS通过8700端口(”base
port”)接收所有终端的指令。

2. Emulator Control

通过这个面板的一些功能可以非常容易的使测试终端模拟真实手机所具备的一些交互功能,比如:接听电话,根据选项模拟各种不同网络情况,模拟接受SMS消息和发送虚拟地址坐标用于测试GPS功能等。

clip_image006

Telephony Status: 通过选项模拟语音质量以及信号连接模式。

Telephony Actions: 模拟电话接听和发送SMS到测试终端。

Location Control: 模拟地理坐标或者模拟动态的路线坐标变化并显示预设的地理标识,可以通过以下3种方式:

· Manual: 手动为终端发送二维经纬坐标。

· GPX: 通过GPX文件导入序列动态变化地理坐标,从而模拟行进中GPS变化的数值。

· KML: 通过KML文件导入独特的地理标识,并以动态形式根据变化的地理坐标显示在测试终端。

如:在Emulator Control\Telephony Actions 中输入如上图内容“Android
中文”,单击发送后,在Android模拟器中打开Messaging,看到下面的短信:

clip_image008

3. 文件管理器

显示文件系统信息。File
Explorer非常有用:它可以把文件上传到Android、或者从Android上下载文件下来、也可以进行文件删除操作。选项卡右上角有上传、下载、删除三个按钮。一般情况下,File
Explorer会有如下三个目录:data、sdcard、system。

· data对应手机的RAM,会存放Android OS
运行时的Cache等临时数据(/data/dalvik-cache目录);没有root权限时apk程序安装在/data/app中(只是存放apk
文件本身);/data/data中存放Android中所有程序(系统apk+第三方apk)的详细目录信息。

· mnt是mount,挂装的意思,mnt目录下的 sdcard对应sd卡。

· system对应手机的ROM,OS以及系统自带apk程序等存放在这里。

用户应用程序部署在 /data/app 目录中,而 Android 内置的应用程序部署在 /system/app
目录中。

clip_image010

4. Threads、Heap、Allocation Tracker

Threads视图列出当前进程的所有线程。

Heap视图展示一些堆的状态,在垃圾回收其间更新。当选定一个虚拟机时, VM
Heap视图不能显示数据,可以点击右边面包上的带有绿色的”Show heap updates”按钮,然后在点击”Cause GC
“实施垃圾回收更新堆的状态。

在Allocation Tracker视图里,我们可以跟踪每个选中的虚拟机的内存分配情况。点击”Start
Tracking”后点击”Get Allocations “就可以看到。

例如,为了查看Garbage Collection信息:点击 [Start Tracking]按钮
-> 保持程序运行一段时间后 ->点击[Get Allocations]
按钮,凭借得到的Allocations信息可以通过Line Number准确找到哪里的代码出现了问题。

clip_image012

5. LogCat

LogCat 是一个日志文件,它记录 VM 中发生的活动。应用程序可以通过 Log.i(tag,message);
在这个日志文件中添加自己的日志项,其中的 tag 和 message 都是 Java 字符串。Log
类属于android.util.Log 包。

clip_image014

6. Console

Android输出的信息,加载程序等信息。

clip_image016