当前位置:  编程技术>移动开发
本页文章导读:
    ▪invalid command-line parameter: SDK\tools/emulator-arm.exe        invalid command-line parameter: SDK\tools/emulator-arm.exe. 今天把SDK从revision 11升级至了最新的revision 12,却发现出现了问题。模拟器无法运行,在运行时提示: invalid command-line parameter: SDK\tools/emulator-arm.e.........
    ▪ 7.1.4 ScrollView组合案例详解        7.1.4 ScrollView结合案例详解 ScrollView是一个滚动条控件,当屏幕中内容很多时候需要使用滚动条。ScrollView类的继承图如下:java.lang.Object   ↳android.view.View    ↳android.view.ViewGroup    .........
    ▪ 深入了解Objective-c中@class的含义       深入理解Objective-c中@class的含义 在Objective-c中,当一个类需要引用另一个类,即建立复合关系的时候,需要在类的头文件中建立被引用类的指针。 如: Car.h 1 2 3 4 5 6 7 8 9 #import    @interfac.........

[1]invalid command-line parameter: SDK\tools/emulator-arm.exe
    来源: 互联网  发布时间: 2014-02-18
invalid command-line parameter: SDK\tools/emulator-arm.exe.

今天把SDK从revision 11升级至了最新的revision 12,却发现出现了问题。模拟器无法运行,在运行时提示:

invalid command-line parameter: SDK\tools/emulator-arm.exe. Hint: use '@foo' to launch a virtual device named 'foo'. please use -help for more information

也就是说似乎是由于参数错误导致无法启动模拟器。

在网上还看到了有人出现这样的错误信息:

invalid command-line parameter: Files\Android\android-sdk\tools/emulator-arm.exe. Hint: use '@foo' to launch a virtual device named 'foo'. please use -help for more information

经过一番折腾之后终于找到了问题所在。应该是路径的问题。路径参数之前还有内容,被忽略了。这应该是本次升级的一个Bug。SDK所在文件夹的名称中如果有空格就会导致问题的发生(我使用的是android SDK这一名称)。于是将文件夹重命名为android-SDK之后,问题解决。或者在eclipse-window-preference-android-sdk location 中 Program Files  改为 PROGRA~1

我采用了后一种,因为不想再安装一遍了。不过管用的。

1 楼 oyeal 2011-09-26  
  很管用
2 楼 zjl583577906 2011-10-13  
请教下,如果安装目录中中文,现在想重命名下,可是老是提示正在使用,可是不知道到底那个进程或者什么的还在运行。。。??、
3 楼 hbxflihua 2012-03-08  
zjl583577906 写道
请教下,如果安装目录中中文,现在想重命名下,可是老是提示正在使用,可是不知道到底那个进程或者什么的还在运行。。。??、

最直接到办法时重启后重命名!

    
[2] 7.1.4 ScrollView组合案例详解
    来源: 互联网  发布时间: 2014-02-18
7.1.4 ScrollView结合案例详解
ScrollView是一个滚动条控件,当屏幕中内容很多时候需要使用滚动条。ScrollView类的继承图如下:
java.lang.Object
   ↳android.view.View
   ↳android.view.ViewGroup
   ↳android.widget.FrameLayout
   ↳android.widget.ScrollView
android.widget.ScrollView继承了android.widget.FrameLayout框架布局类。ScrollView例子如图7-9所示滚动条例子。
 


图7-9 Scrollview
布局文件请参考代码清单7-10,完整代码请参考chapter7_1工程中scrollview_1.xml代码部分(chapter7_1/res/layout/scrollview_1.xml)。
【代码清单7-10】
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="match_parent" android:layout_height="wrap_content">
	<LinearLayout 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"
			android:textSize="20dip" />
		<TextView android:layout_width="fill_parent"
			android:layout_height="wrap_content" android:text="@string/content" />
	</LinearLayout>
</ScrollView>

ScrollView有很多属性管理它的样式,如果在xml中设置,可以在<ScrollView >标签内设置滚动条样式的属性:
• android:scrollbars="none",不显示滚动条,但能够滚动的;
• android:scrollbarSize,滚动条大小。
修改上面的例子添加这些属性xml布局文件代码如下:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:scrollbarSize="12dip"
    android:scrollbars="none"
    >
	<LinearLayout 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"
			android:textSize="20dip" />
		<TextView android:layout_width="fill_parent"
			android:layout_height="wrap_content" android:text="@string/content" />
	</LinearLayout>
</ScrollView>

                                      出自《Android开发案例驱动教程》第七章

    
[3] 深入了解Objective-c中@class的含义
    来源: 互联网  发布时间: 2014-02-18
深入理解Objective-c中@class的含义

在Objective-c中,当一个类需要引用另一个类,即建立复合关系的时候,需要在类的头文件中建立被引用类的指针。 如:

Car.h

1

2

3

4

5

6

7

8

9

#import 

 

@interface Car:NSObject

{

    Tire *tires[4];

    Engine *engine;

}

 

...

实现类我们先省略,如果你直接这么编译,编译器会报错,告诉你它不知道Tire和Engine是什么。

这时候有两个选择,一个是import这两个被引用类的头文件,另一个是使用@class声明Tire和Engine是类名。 二者的区别在于:

  • import会包含这个类的所有信息,包括实体变量和方法,而@class只是告诉编译器,其后面声明的名称是类的名称,至于这些类是如何定义的,暂时不用考虑,后面会再告诉你。
  • 在头文件中, 一般只需要知道被引用的类的名称就可以了。 不需要知道其内部的实体变量和方法,所以在头文件中一般使用@class来声明这个名称是类的名称。 而在实现类里面,因为会用到这个引用类的内部的实体变量和方法,所以需要使用#import来包含这个被引用类的头文件。
  • 在编译效率方面考虑,如果你有100个头文件都#import了同一个头文件,或者这些文件是依次引用的,如A–>B, B–>C, C–>D这样的引用关系。当最开始的那个头文件有变化的话,后面所有引用它的类都需要重新编译,如果你的类有很多的话,这将耗费大量的时间。而是用@class则不会。
  • 如果有循环依赖关系,如:A–>B, B–>A这样的相互依赖关系,如果使用#import来相互包含,那么就会出现编译错误,如果使用@class在两个类的头文件中相互声明,则不会有编译错误出现。
  • 所以,一般来说,@class是放在interface中的,只是为了在interface中引用这个类,把这个类作为一个类型来用的。 在实现这个接口的实现类中,如果需要引用这个类的实体变量或者方法之类的,还是需要import在@class中声明的类进来.

    如:
    a.h

    1

    2

    3

    4

    @class Rectangle;

    @interface A : NSObject {

    ...

    }

    a.m

    1

    2

    3

    #import Rectangle

    @implementation A

    ...


        
    最新技术文章:
    ▪Android开发之登录验证实例教程
    ▪Android开发之注册登录方法示例
    ▪Android获取手机SIM卡运营商信息的方法
    ▪Android实现将已发送的短信写入短信数据库的...
    ▪Android发送短信功能代码
    ▪Android根据电话号码获得联系人头像实例代码
    ▪Android中GPS定位的用法实例
    ▪Android实现退出时关闭所有Activity的方法
    ▪Android实现文件的分割和组装
    ▪Android录音应用实例教程
    ▪Android双击返回键退出程序的实现方法
    ▪Android实现侦听电池状态显示、电量及充电动...
    ▪Android获取当前已连接的wifi信号强度的方法
    ▪Android实现动态显示或隐藏密码输入框的内容
    ▪根据USER-AGENT判断手机类型并跳转到相应的app...
    ▪Android Touch事件分发过程详解
    ▪Android中实现为TextView添加多个可点击的文本
    ▪Android程序设计之AIDL实例详解
    ▪Android显式启动与隐式启动Activity的区别介绍
    ▪Android按钮单击事件的四种常用写法总结
    ▪Android消息处理机制Looper和Handler详解
    ▪Android实现Back功能代码片段总结
    ▪Android实用的代码片段 常用代码总结
    ▪Android实现弹出键盘的方法
    ▪Android中通过view方式获取当前Activity的屏幕截...
    ▪Android提高之自定义Menu(TabMenu)实现方法
    ▪Android提高之多方向抽屉实现方法
    ▪Android提高之MediaPlayer播放网络音频的实现方法...
    ▪Android提高之MediaPlayer播放网络视频的实现方法...
    ▪Android提高之手游转电视游戏的模拟操控
     


    站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3