`
过河卒
  • 浏览: 77793 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

初体验Android的两个小不爽

    博客分类:
  • Java
阅读更多

今天下午花了点时间来体验Android,本以为5分钟就可以完成的Helloworld,却用了将近1个半小时的时间,实在有些不爽。现在暂时记下一些不爽的地方,希望大家能指出问题在哪里?有什么更好的办法?

前面按照安装文档,下载sdk和eclipse plugin,安装配置安装文档一路顺风。马上新建工程,编写Helloworld代码,启动运行。想着应该大工告成,看的到效果收工了。谁知道问题出来了。

代码如下:

package person.pengjun.hello;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
 @Override     
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
TextView tv = new TextView(this);
tv.setText("过河卒, 每天进步1%");
setContentView(tv);
}
}

不爽1:HelloWorld需启动两次

在Eclipse的run菜单里面配置了Android Appliaction的运行配置,一切OK,启动工程。一切启动正常,按照文档的说发,我就应该能够看到屏幕中显示出来的“过河卒,每天进步1%”的字样了。而我实践看到的确实手机桌面,不解。在手机菜单里面找了好几遍也没有找到相应的启动选项。(PS:到时里面的API DEMO吸引我看了好久)。没办法,没看到效果。只好回头检查是否有错误。

发现Eclipse里面的启动信息如下:

[2007-11-19 18:10:52 - HelloAndroid] ------------------------------
[2007-11-19 18:10:52 - HelloAndroid] Android Launch!
[2007-11-19 18:10:52 - HelloAndroid] Launching: person.pengjun.hello.HelloAndroid
[2007-11-19 18:10:52 - HelloAndroid] Launching the emulator.

回想doc里面说的,启动会先启动emulator,之后才会启动application。

看到这里,我又Ctrl+F11再启动了一次Android Application,结果挺好。终于出现了,我希望看到的界面。

未命名2

启动信息如下:

[2007-11-19 18:12:30 - HelloAndroid] ------------------------------
[2007-11-19 18:12:30 - HelloAndroid] Android Launch!
[2007-11-19 18:12:31 - HelloAndroid] Launching: person.pengjun.hello.HelloAndroid
[2007-11-19 18:12:31 - HelloAndroid] Pushing HelloAndroid.apk to /data/app on the device
[2007-11-19 18:12:31 - HelloAndroid] Starting activity on device: person.pengjun.hello.HelloAndroid
[2007-11-19 18:12:33 - HelloAndroid] ActivityManager: Starting: Intent { comp={person.pengjun.hello/person.pengjun.hello.HelloAndroid} }

虽然这没有浪费我什么时间,但是文档里面居然一个字也没有提。不爽。




不爽2:修改居然不会自动更新

看到效果了,心里面也不免小兴奋一把。修改了“过河卒,每天进步1%”为“Android,I love you”以表庆祝。启动运行,问题还是依旧,看到的还就手机桌面,心里面不免暗暗叹息。再次Ctrl+F11,这回出来了。但是出来了的字符让我伤心,居然还是“过河卒,,每天进步1%”,这有点受不了了。尝试关闭程序再次尝试,问题依旧。于是想是不是和Web浏览器的缓存一样,那有记录下来了。于是查找一番,果然让我查到了,在手机桌面的Application里面出现了 我的AndroidApplication,启动依然是“过河卒,每天进步1%”。

没办法只好查文档了,折腾了一会,终于让我查到。

http://code.google.com/android/reference/emulator.html#controlling

里面有这样的记录:

Only the first emulator instance can preserve user data across sessions. It stores the user data in a file — by default, it stores the data in the file ~/.android/userdata.img (on Linux and Mac) or C:\Documents and Settings\<user></user>\Local Settings\Android\userdata.img (on Windows) in your development computer. You can control the storage (and loading) location of the user data file by using the -data option when starting the emulator 。

原来在这里C:\Documents and Settings\<user></user>\Local Settings\Android\userdata.img

去到这里,发现什么也没有。不甘心,查找了一下。原来它在C:\Documents and Settings\<user></user>\Local Settings\Application Data\Android\userdata.img 。找到它,毫不客气删除重运行AndroidApplication,终于见到“Android,I love you”。看来还是那句歌唱的好啊,“想说爱你不容易”。

找到问题经过多次尝试,仍然不会自动随修改更新,心里面很是不爽啊。每次修改只好删除,userdata.img再试,实在麻烦。不过暂时也没有更好的办法,只好如此。由于默认目录太偏,而且会影响所有的Android的运行,所以想了个替代的办法。在Eclipse的run菜单里面配置emulator的启动配置。在工程文件下面建一个data文件夹,把这个user data file 指定到这个位置上面。这样每个Application都配置的话相互直接也就不会影响了。配置如下图,

未命名3

不管配置的好,总之还是那个词,不爽。

上面是我今天初用Android遇到的问题,这可能和我机器的运行环境有关系。不知道大家是否也有遇到,不知道大家是否有更好好的处理办法? 请大家多多指点。


11月20日晨
早上换了台机器,重新解压了个eclipse,版本3.3.再次尝试HelloAndroid,居然上面的问题,一个也没有出现。这可能和系统的环境有关系。因为昨天的那台机器上面东西比较杂,也疏于打理。具体是什么方面的影响还不清楚,不过昨天机器的Eclipse是3.1的版本。
彭俊 2007-11-19 19:21 发表评论
分享到:
评论
18 楼 lordhong 2007-12-07  
最后一招,重装EMULATOR...
17 楼 zenius 2007-12-06  
第一个问题我也遇到了,可是第二次启动后,还是没有用。

16 楼 eoeac 2007-11-28  
第一个问题开始的时候遇到次,现在好像没做遇到

第二个问题感谢Quake Wang了
Quake Wang 写道
重新运行一下(模拟器不要关掉)就可以看到新的了。


要不我还不知道原来可以这样。。。
15 楼 bookong 2007-11-20  
有个问题,请教一下,怎么配置才能让模拟器访问网络?
14 楼 xiaoxiaodi5834 2007-11-20  
就是高度的时候运行模拟器的速度太慢了,模拟器总要自行检测一通才能再运行自己写的类。真是郁闷。。。
13 楼 timerri 2007-11-20  
android又不是last version,等等或许就会有。要真没有,就只有希望google开放它的虚拟机,自己动手改了。
12 楼 gigix 2007-11-20  
fins 写道
gigix 写道
我想找个办法编程控制这个模拟器,按几个钮啥的,至今未找到啊~~
不能自动化测试的程序,那开发起来是相当费劲的说~~


以前网游外挂里有一类叫 鼠标点击器 呵呵 是不是可以考虑配合使用一下啊

这个么,当然不是不行。我们自己也有Windows上的功能测试工具,点一点按钮肯定是有办法做的。不过最好是在模拟器OS的层面上提供scripting的接口,不然我要判断一个收到短信的事件就得费死了劲了。
11 楼 过河卒 2007-11-20  
fins 写道
这些问题有时候是有 但是lz说的解决方法不是最好的
要善用 adb shell


恩,谢谢,fins。我去看看adb shell

至于控制按键的那个,用按键精灵好了,可以宏编程。
当初为了支持舍友玩游戏,帮忙编辑过 , 听说他用的那挺爽
10 楼 fins 2007-11-20  
gigix 写道
我想找个办法编程控制这个模拟器,按几个钮啥的,至今未找到啊~~
不能自动化测试的程序,那开发起来是相当费劲的说~~


以前网游外挂里有一类叫 鼠标点击器 呵呵 是不是可以考虑配合使用一下啊
9 楼 fins 2007-11-20  
这些问题有时候是有 但是lz说的解决方法不是最好的
要善用 adb shell
8 楼 lordhong 2007-11-19  
第二个没遇过, 重新RUN基本都搞定了...
7 楼 gigix 2007-11-19  
Eastsun 写道
不知道什么时候出Netbeans的插件.
总不能为了玩Android而去装个eclipse吧...

copy一个makefile好了(还是ant脚本?忘了)
6 楼 Eastsun 2007-11-19  
不知道什么时候出Netbeans的插件.
总不能为了玩Android而去装个eclipse吧...
5 楼 gigix 2007-11-19  
我想找个办法编程控制这个模拟器,按几个钮啥的,至今未找到啊~~
不能自动化测试的程序,那开发起来是相当费劲的说~~
4 楼 QuakeWang 2007-11-19  
第一个问题我也有遇到,不过google了一下,就找到问题了,据说是eclipse plugin的bug

第二个问题我没有遇到,编译以后,重新运行一下(模拟器不要关掉)就可以看到新的了。
3 楼 过河卒 2007-11-19  
robbin 写道
现在的模拟器跑起来貌似比较费CPU,其他的倒还好。


跑起来对资源的占用到还好,问题是这些小问题很伤情绪,不知道各位有没有遇到。
2 楼 robbin 2007-11-19  
现在的模拟器跑起来貌似比较费CPU,其他的倒还好。
1 楼 ray_linn 2007-11-19  
真差劲的Emulator,比起Visual Studio里的,好象差距甚远.

相关推荐

    Android三种不同的加载进度条

    在Android开发中,为了提升用户体验,开发者经常需要使用到加载进度条来显示任务的执行进度,比如文件下载、网络请求等。本篇文章将详细讲解Android系统中的三种不同类型的加载进度条,并以`AnimRoundProcessDialog`...

    Android EditText实现扁平化的登录界面

    例如,`CircleImageView`用于显示登录图标,`TextView`展示应用名称,而两个`EditText`分别用于输入用户名和密码。 为了实现扁平化效果,我们需要注意以下几点: 1. **背景色**:整个界面的背景色可以通过`android...

    两套灰色低调图标,有源文件

    总结来说,这两套图标资源为IT从业者提供了丰富的设计素材,无论是在Android应用开发还是其他设计项目中,都可以利用这些灰色低调的图标提升界面的专业性和用户体验。源文件的提供更增加了设计的灵活性,使图标能更...

    抽屉式模式

    尽管这个组件在API 21后被弃用,但开发者们通常转而使用`android.support.v4.widget.DrawerLayout`或者`androidx.drawerlayout.widget.DrawerLayout`,这两个是Android Support Library和AndroidX库提供的支持组件。...

    在线视频播放

    在线视频播放技术是现代互联网应用中的重要组成部分,尤其在移动设备如Android平台上,它使得用户可以随时随地享受丰富的视听体验。3gp和MP4是两种常见的视频格式,它们各自具有不同的特性和应用场景。 3gp格式源自...

    androidSlindingMenu

    SlidingMenu通过监听用户的滑动手势,动态调整两个视图的位置,从而呈现出滑出或隐藏的动画效果。 3. **使用步骤** - **添加依赖**:首先,你需要在项目的build.gradle文件中添加SlidingMenu的依赖库。 - **初始...

    欧朋浏览器Opera 7.6.1 安卓官方正式版

    图标管理简单了,可以让我们更加知道自己需要的内容在什么位置,而不至于太多图标而混乱不堪,真是非常贴心易于使用的小功能。  二、发现频道:发现惊喜原来这么简单  大家应该探索频道,对于一些新奇好玩的东西...

    IPhone图标系列之六

    本文将深入探讨"IPhone图标系列之六"这一主题,以及它如何与iPhone和Android设备上的用户体验相融合。 首先,图标是用户界面(UI)的核心元素之一,它们不仅需要美观,还需要直观地传达功能。"IPhone图标系列之六...

    cm101h纯净版刷机包

    “cm101h纯净版刷机包”这一概念涉及到了两个主要方面:一是“cm101h”,二是“纯净版刷机包”。 - **cm101h**:这可能是某一型号设备(如智能手机)的代号或型号名称,特别是与Android系统相关的设备。由于缺乏...

    密码管家 - 最强大的密码管理助手

    实际上密码管家自身只请求了两个权限,开机启动权限(开机时自动运行)和存储卡读写权限(导出和导入),别的权限皆为嵌入的广告SDK所要求使用的。 【特别建议】 1. 无论是新用户还是老用户,请务必在成功安装了新版的...

    LAS_Demo:模仿 Last App Switcher

    LAS这个应用,它的功能很简单,就是通过一个浮动按钮实现在两个应用之间一键切换,但是非常实用,尤其是在边玩边聊天需要频繁切换应用的时候。所以可以看出,想开发一款受欢迎的应用,一定要注重用户体验,只要用户...

    手机同步的特征与简介_同步d触发器特征方程.docx

    而Symbian手机可以在诺基亚Ovi商店搜寻下载,也可下载jad和jar格式的两个安装文件至手机同一名目下安装即可。 手机同步的最新版本: 2.0升级日志: 1. 新增全同步:一键备份、一键恢复,数据迁移一键搞定。 2. 新增...

    PlanAR-master:班级

    2. **Android 开发**:由于标签指出使用 Java,结合描述中的 "不爽猫" 图片,可能表明 PlanAR 是一个 Android 应用。Android 开发需要用到 Android Studio IDE,以及对 Android SDK 和 Android 应用程序框架的理解。...

    密码管家 - 最强大的密码管理助手(2012年2月2日重新上传v2.5.0)

    实际上密码管家自身只请求了两个权限,开机启动权限(开机时自动运行)和存储卡读写权限(导出和导入),别的权限皆为嵌入的广告SDK所要求使用的。 【特别建议】 1. 无论是新用户还是老用户,请务必在成功安装了新版的...

    aoyou

    1. **跨平台**:傲游浏览器可在Windows、Mac OS、Linux以及移动设备上的Android和iOS系统上运行,提供一致的浏览体验。 2. **多标签管理**:支持多个网页同时打开,便于用户同时处理多项任务,提高工作效率。 3. *...

Global site tag (gtag.js) - Google Analytics