1.ln -s /root/.android/ /home/super/.android/
2.linux SDK解决无法更新
Andriod SDK Manager-Settings
Server:ubuntu.buct.edu.cn Port:80
Server:mirrors.neusoft.edu.cn Port:80
3.Android Device Chooser中显示Target unknown
(a) 查看设备的vendor ID:
ubuntu@ubuntu:~$ lsusb
Bus 001 Device 004: ID 0bb4:0cfe High Tech Computer Corp
很容易根据名字认出来手机是哪个,我的手机对应的ID是0bb4。
(b)添加手机设备到usb列表中
(c)sudo chmod a+r /etc/udev/rules.d/51-android.rules
输入:SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
(d)sudo chmod a+r /etc/udev/rules.d/51-android.rules
(e)sudo service udev reload
(f)press MENU, select Applications > Development, then enable USB debugging
4.如何区别fill_parent 和 wrap_content
(a)wrap_content:表示大小刚好足够显示当前控件里的内容
(b)fill_parent : Android中fill_parent和match_parent(从Android2.2)是一样的。
设置布局/控件为fill_parent将强制性让它布满整个屏幕或填满父控件的空白。
5.关于Eclipse创建Android项目时,会多出一个appcompat_v7的问题
(a)修改下最低的sdk版本和最大的sdk,都在4.x就行了
(b)右键点击你的工程名,Bulid Path->Configure Build Path->Andriod,然后在选择一个较低的版本。
6.配置SDK文件
(a)配置环境变量
sudo gedit ~/.profile
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_04
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:/home/cmm/android-sdk-linux/tools:/home/cmm/android-sdk-linux/platform-tools
export ANDROID_SDK_HOME=/home/cmm/avds
(b)source ~/.profile
7.Eclipse很卡的解决方法
(a)到preference下可以看到“Usage Data Collector"这个选项,disable掉。
(b) -vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms256M
-Xmx768M
-XX:PermSize=128M
-XX:MaxPermSize=256M
(c)修改 Project -> Building Automatically
8.Activity四种启动模式
(a)standard:模式启动模式,每次激活Activity时都会创建Activity,并放入任务栈中。
(b)singleTop:如果在任务的栈顶正好存在该Activity的实例, 就重用该实例,否者就会创建新的实例并放入栈顶(即使栈中已经存在该Activity实例,只要不在栈顶,都会创建实例)。
(c):singleTask:如果在栈中已经有该Activity的实例,就重用该实例(会调用实例的onNewIntent())。重用时,会让该实例回到栈顶,因此在它上面的实例将会被移除栈。如果栈中不存在该实例,将会创建新的实例放入栈中。
(d):singleInstance:在一个新栈中创建该Activity实例,并让多个应用共享改栈中的该Activity实例。一旦改模式的Activity的实例存在于某个栈中,任何应用再激活改Activity时都会重用该栈中的实例,其效果相当于多个应用程序共享一个应用,不管谁激活该Activity都会进入同一个应用中。
9.Android事件监听器
(a)匿名内部类作为事件监听器类?
bt_test=(Button) findViewById(R.id.bt_test);
bt_test.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
System.out.println("ceshianjianfangshi");
}
});
(b)(b)内部类作为监听器
bt_test=(Button) findViewById(R.id.bt_test);
MyButton listener= new MyButton();
button.setonClickListener(listener);
class MyButton implemnets OnClickListener{
public void onClick(View v){
System.out.println("内部类作为事件监听器");
}
}
10.TableLayout()
android:collapseColumns:将TableLayout里面指定的列隐藏,若有多列需要隐藏,请用逗号将需要隐藏的列序号隔开。
android:stretchColumns:设置指定的列为可伸展的列,以填满剩下的多余空白空间,若有多列需要设置为可伸展,请用逗号将需要伸展的列序号隔开。
android:shrinkColumns:设置指定的列为可收缩的列。当可收缩的列太宽(内容过多)不会被挤出屏幕。当需要设置多列为可收缩时,将列序号用逗号隔开。
列元素(Button)属性:(奇怪的是button 里面没有android:layout_column 和android:layout_span两个属性,写进去无反应,还不知道为什么)
android:layout_colum:设置该控件在TableRow中指定的列。
android:layout_span:设置该控件所跨越的列数。
11.Eclipse 显示行号
(a) Ctrl+F10 show line Numbers
12.显示Devices
(a)打开Eclipse,在菜单中“windows”---“show view”----选择“Devices”(有时候device在other→android里 才能找到)
(b)进入DDMS:通过菜单Windows→Open Perspective→DDMS或者对应的图标进入DDMS的界面。
4.发现 "home directory not ours"
(a)chown -R USER:USER ~USER
(b)chmod u+rwx ~USER
USER 换成用户名,重启,奏效