1.在打开程序运行过程中,如果出现:Adb connection Error远程主机强迫关闭了一个现有的连接
解决方法:eclipse中的视图模式下选择DDMS窗口,小型照相机旁边有个下拉按钮,选择Reset adb就可以了。 也可以进行projrect-clean清一些运行程序
2.在main.xml中相当于View,即视图显示,可写各种控件,必须在整个大框架内部
2.1
(1)TextView
(2)EditView(编辑框,自带密码、电话、placeHolder、长度限制等)
(3)Button(最重要的一点,添加点击事件,在layout的XML中增加一个OnClick的属性,即:android:OnClick=“OnMySelfClick”,然后再.Java中写上处理函数,不需要写@Overread,直接写public void OnMySelfClick(View v){
处理方法,如Toast.makeText(MainActivity.this,”你点击了吗?”,Toast.LENGTH_LONG).show();
System.out.println(“你点击了吗?”)
})
2.2
(1)介绍: Intent的最常用的用途是绑定应用程序的组件,用来在Activity间的启动、停止、传输
(2)用法:
<1>启动一个特定的Activity
Intent intent =new Intent(CurrentActivity.this , OtherActivity.class)
startActivity(intent)
<2>启动一个未指明的Activity
Intent intent =new intent(Intent.ACTION_DIAL , Uri.parse(“tel:123456789”));
startActivity(intent)
<3>处理一个Activity的返回值(即Activity之间如何如何传递数据)
解释:Activity可以理解为一个线程,线程与线程之间通信要靠信道连接并传输数据,当主程序即主线程启动后,可以创建信道、线程,主线程通过信道把数据传递给其他线程,其他线程把运行后的数据再通过另外创建的信道传递过来
Public void onCreate(Bundle saveInstanceState){
super.onCreate(savedInstanceState);
listener=new OnClickListener(){
public void onClick(View v){
// 主线程ActivityMain中创建信道intent1(信道A),在信道中指定Activity1.class(线程A)
Intent intent1=new Intent(ActivityMain.this, Activity1.class);
// 在信道中存储数据
intent1.putExtra(“activityMain”,“数据来自ActivityMain”);
// 启动信道A中的线程A
startActivityForResult(intent1,REQUEST_CODE);
}
};
listener2=new OnClickListener(){
public void onClick(View v){
setTitle(“这是在ActivityMain”);
Intent intent2=new Intent(ActivityMain.this , Activity2.class);
startActivity(intent2) ;
}
};
setContentView(R.id.main);
button1=(Button)findViewById(R.id.button1);
button1.setOnClickListener(listener2);
setTitle(“ActivityMain”);
}
@Override
Protected void onActivityResult(int requestCode,int resultCode,intent data){
If(requestCode==REQUEST_CODE){
If(resultCode==RESULT_CANCELED)
setTitle(“取消”);
else if(resultCode==RESULT_OK){
String temp=null;
Bundle extras=data.getExtras();
If(extras!=null){
Temp=extras.getString(“store”);
}
setTitle(temp);
}
}
}
3.查看打印内容,在LogCat下面,如果看不到,则需要更改设置:绿色的“+”,Filter Name:sysout
by Log Tag:System.out,其余为空,点击OK即可查看
4.出现mainBtn.setOnClickListener(listener)这种错误,
解决方法:导入import android.view.View.OnClickListener即可
5.Activity跳转用StartActivity
6.putExtra:用来设定各种不同类型附加数据的,putExtra(A,B)键值对,将数据已键值对的形式放入Paraclable对象中,直接由Intent对象携带,适合少量数据
7.setData:将数据以数据流的方式传输,Intent接收后再单独接收Data部分,适合数据量较大的数据传输,如文件或图片等
8.@Overload:方法重载:一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数 不同,或者是参数的类型不同
(方法的返回类型和参数的名字不参与比较,也就是说,如果两个方法名字相同,即使类型不同,也必须保证参数不同)
class Area{
float getArea(float r){
return 3.14f*r*r;
}
double getArea(float x,int y){
return x*y;
}
float getArea(int x,float y){
return x*y;
}
float getArea(float x,float y,float z){
return x+y+z;
}
}
构造方法:一种特殊方法,名字必须与它所在的类的名字完全相同,而且没有类型,也可重载。当用类创建对象时,使用构造方法
class 梯形{
float 上底,下底,高;
梯形(){
上底=60;
下底=100;
高=20;
}
梯形(float x,float y,float z){
上底=x;
下底=y;
高=z;
}
}
@Override:重写,与继承有关的多态
9.static:修饰的变量是类变量,方法是静态方法或者类方法,不用static修饰的是实例变量。
实例方法可以调用该类中实例方法或类方法;类方法只能调用该类的类方法,不能调用实例方法。
this:表示某个对象,可以出现在实例方法或者构造方法中,不可以出现在类方法中。