① android 页面布局时定义控件ID时@id/XX和@+id/xx 有什么区别
Android中的组件需要用一个int类型的值来表示,这个值也就是组件标签中的id属性值。id属性只能接受资源类型的值,也就是必须以@开头的值,例如,@id/abc、@+id/xyz等。
如果在@后面使用“+”,表示当修改完某个布局文件并保存后,系统会自动在R.java文件中生成相应的int类型变量。变量名就是“/”后面的值,例如,@+id/xyz会在R.java文件中生成int xyz = value,其中value是一个十六进制的数。如果xyz在R.java中已经存在同名的变量,就不再生成新的变量,而该组件会使用这个已存在的变量的值。
也就是说,如果使用@+id/name形式,当R.java中存在名为name变量时,则该组件会使用该变量的值作为标识。如果不存在该变量,则添加一个新的变量,并为该变量赋相应的值(不会重复)。
既然组件的id属性是一个资源id就可以,那么自然可以设置任何已经存在的资源id值,例如,@drawable/icon、@string/ok、@+string/you等。当然,也可以设置android系统中已存在的资源id,例如,楼主提出的@id/android:list,那么这个android是什么意思呢,实际上,这个android就是系统的R类(在R.java文件中)所在的package。我们可以在Java代码编辑区输入android.R.id.,就会列出相应的资源id,例如,也可以设置id属性值为@id/android:message。
android:layout_height="wrap_content"/>
还有另外一种方法查看系统中定义的id,进入\platforms\android-1.5\data\res\values目录,找到ids.xml文件,打开后,内容如下:
若在ids.xml中定义了ID,则在layout中可如下定义@id/price_edit,否则@+id/price_edit
② android 页面布局时定义控件ID
Button android:id="@+id/button1"
Button Btn=(Button)findViewById(R.id.button1);
Btn.setOnClickListener( new OnClickListener(){
public void onClick(View v)
{//你的事件处理代码
}
});
android里面控件的id向你那么定义的,我还是第一次见过
③ android 命名id是@id/***为什么报错不想用 @+id/.....这种,怎么办有什么特殊设置吗
@id/***是引用,@+id/***是增加...这东西不是你想用什么就用什么的...这是Android的规定
④ 如何为每部Android手机生成一个唯一的ID
这种方法是,以一些特定的信息为基础,生成设备的唯一标识。
首先,算法角度,常用的有UUID、摘要两种。这两种算法都是以特定的数据为基础,生成一个唯一的、固定长度的字符串。这里选择UUID。
其次,计算的基础数据,建议选择divice_id和android_id。原因是,1)这两个标识虽然不能抵抗wipe操作,但受用户的行为影响比较小;2)如果正常获取,都是唯一的;③如果不能正常获取,结果也是固定的,不会频繁变化。
再次,优先级的考虑。从这两个标识的缺点考虑。
1)device_id。
①不能标识非手机设备,例如Pad。
②权限问题,因为用户的反感。
③获取异常,厂商定制系统中存在的bug,致使返回结果为空,或者为一串“0”或“*”。
④对于双卡双待手机,会返回两个device_id。
2)android_id。
①Android2.3以前,系统Bug,导致不同的设备产生相同的结果:9774d56d682e549c。
②有些可能返回null。
③设备差异:对于CDMA设备,与device_id返回相同的值。
综合考虑,device_id不能标识某些pad,以及用户的权限问题,是我们不能接受的,所以优先使用android_id。对于android_id返回为null的情况,再考虑使用device_id。
最后,当android_id和device_id都返回异常的情况,我们可以随机生成一个UUID。
⑤ android怎么将自定义控件中子控件的id
点Priject,点Clean,就会自动生成R文件了 如果没有选bulid Automatically的话R文件不会即时更新的 你是编译报错还是运行报错?
⑥ Android自定义属性,format详解
1. reference:参考某一资源ID。
(1)属性定义:
(2)属性使用:
2. color:颜色值。
(1)属性定义:
(2)属性使用:
3. boolean:布尔值。
(1)属性定义:
(2)属性使用:
4. dimension:尺寸值。
(2)属性使用:
5. float:浮点值。
(1)属性定义:
(2)属性使用:
6. integer:整型值。
(1)属性定义:
(2)属性使用:
android:interpolator = "@anim/动画ID"
android:fromDegrees = "0"
android:toDegrees = "360"
android:pivotX = "200%"
android:pivotY = "300%"
android:ration = "5000"
android:repeatMode = "restart"
android:repeatCount = "infinite"
/>
⑦ 如何修改android aapt源码实现自定义package ID
反编译android代码并在eclipse中查看:apk反编译得到程序的源代码、片、XML配置、语言资源等文件下载上述工具中的apktool,解压得到3个文件:aapt.exe,apktool.bat,apktool.jar,将需要反编译的APK文件放到该目录下,打开命令行界面(运行-CMD),定位到apktool文件夹,输入以下命令:apktool.batd-ftest.apktest在改目录下会生成一个classes_dex2jar.jar的文件,然后打开工具jd-gui文件夹里的jd-gui.exe,之后用该工具打开之前生成的classes_dex2jar.jar文件,便可以看到源码了