【网学网提醒】:网学会员编辑为广大网友搜集整理了:android学习笔记(一)绩等信息,祝愿广大网友取得需要的信息,参考学习。
第一章
第一节
Activity
每新建一个Activity,都必须在AndroidMainifest.xml
注册。
Intent
Intent对象包含的几组信息
1.Componentname
2.Action
3.Data
4.Category
5.Extras
6.Flags
Inent在两个Activity中传递消息,不一定要求这两个Activity在同一个应该程序内
举例:在一个Activirty中调用系统的短信功能
Uriname_uri=Uri.parse("smsto://tellnumber");//tellnumber代表要发送的对象如:Uriname_uri=Uri.parse("smsto://10086")
Intentname_intent=newIntent(Intent.ACTION_SENDTO,name_uri);//
name_intent.putExtra("sms_boy","TheSMStest");
//键值名为:sms_boy(猜想:此为系统的键值名,因为当系统短信这个Activity中得到Intent的键值名时,
//Intent的键值名应该是固定的,Stringvalue=name_intent.getStringExtra("sms_boy");"TheSMStest"表示的是短信内容
starActivity(name_intent);
Componentname
当当前Activity需要启动另外的Activity时,就要指定Componentname,Componentname中就要包含了指定跳转的信息
Action
跳转到另外Activity时需要做什么
Data
从一个Activity向另外的Activity传输的信息
Category
Extras
额外的键值对
设置键值对
Intentname_intent=newIntent();//生成一个Intent对象
name_intent.putExra("name_keyvalue","value")//这里设置一个键值对,键名为"name_keyvalue",值为"value"
获得键值对
Intentname_intent=getIntent();//调用getIntent()方法,取的传进来的Intent对象name_intent,
Stringvalue=name_intent.getStringExtra("name_keyvalue")//getStringExtra(),得到name_keyvalue的值
//这样就可以用value的具体值了。
Flags
第二章布局
包括RelativeLayout、LinearLayout、TableLayout。
第一节相对布局的方法说明
android:layout_width="fill_parent"
android:layout_height="wrap_content"//包围文字
android:padding="10px">//父控件内的所有控件距四周边框10个像素
//单位说明:px像素dip相对的像素
外置于给定id的上下左右
android:layout_above//将该控件的底部至于给定ID的控件之上
android:layout_below//将该控件的顶部至于给定ID的控件之
下
android:layout_toLeftOf//将该控件的右边缘和给定ID的控件的左边缘对齐
android:layout_toRightOf//将该控件的左边缘和给定ID的控件的右边缘对齐
内嵌于给定id的上下左右
android:layout_alignBaseline//该控件的baseline和给定ID的控件的baseline对齐
android:layout_alignBottom//将该控件的底部边缘与给定ID控件的底部边缘
android:layout_alignLeft//将该控件的左边缘与给定ID控件的左边缘对齐
android:layout_alignRight//将该控件的右边缘与给定ID控件的右边缘对齐
android:layout_alignTop//将给定控件的顶部边缘与给定ID控件的顶部对齐
android:alignParentBottom//如果该值为true,则将该控件的底部和父控件的底部对齐
android:layout_alignParentLeft//如果该值为true,则将该控件的左边与父控件的左边对齐
android:layout_alignParentRight//如果该值为true,则将该控件的右边与父控件的右边对齐
android:layout_alignParentTop//如果该值为true,则将空间的顶部与父控件的顶部对齐
android:layout_centerHorizontal//如果值为真,该控件将被至于水平方向的中央
android:layout_centerInParent//如果值为真,该控件将被至于父控件水平方向和垂直方向的中央
android:layout_centerVertical//如果值为真,该控件将被至于垂直方向的中央
android:layout_margin="..."//外边距
android:backgrounp="#aa0000"//定义控件背景色
android:backgrounp="@android:drawable/editbox_backgrounp"//定义背景色为系统默认
第二节线性布局
//线性布局encoding="utf-8"解码方式,适合中文
android:orientation="horizontal"//采用水平布局形式,相对的,还有垂直布局vertical
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
第三节表格布局
//线性布局encoding="utf-8"解码方式,适合中文
android:layout_width="fill_parent"
android:layout_height="fill_parent"
abdroid:stretchColumns="1">//使用第一列作为拉伸列。
//注意,java列是从第0列开始。拉伸是为了当控件不能填满父控件事,拉伸使其填满
//一个TableRow就是一行
android:text="..."
android:layout_gravity="right"
android:layout_padding="3dip"/>
android:text="..."
android:layout_layout="..."/>
第二章相关控件说明//使用时必须在Activity中进行声明。privateTextViewname=null;privateButtonname=null;privateRadioButtonname=null;等。
包括Button、TextView、EditText、RadioGroup、CheckBox、Taost
1.按钮
android:layout_...="..."//设置相关布局
android:layout_...="..."
android:layout_...="..."
android:text="..."//设置按钮显示的名称或者调用string里的说明,android:text="@string/id"
//或者调用.setText("...")方法设置内容
/>
Button监听器
建立监听器
classname_ButtonimplementsOnClickListener
{
publicvoidonClick(Viewv)
{
Intentname_intent=newIntent();//生成一个Intent对象
Intent.setClass(packageContext,cls);//packageContext指的是一个Activity对象(从哪个Activity跳转)
//cls(跳转到哪个Activity)
//name_Intent.setClass(name_activity.this,name01_activity.class).this指的是name_activity的对象
name_activity.this
.startActivity(name_intent);//starActivity(name-intent)开启另一个对象Activity,
//这里传进来的是一个Intent对象
}
}
捆绑监听器
name_button.setOnClickListener(newname_ButtonListener());
2.文本域
android:layout_...="..."//设置相关布局
android:text="..."//设置文本域内容当想显示的内容较多时,应该调用string,以此减少布局代码
//或者调用.setText("...")方法设置内容
/>
3.可编辑文本域
android:layout_...="..."//设置相关布局
/>
//得到EditText的值
stringname_edittextStr=name_edittext.getText().toString();
//强制类型转换转化成整形
intname_edittextInt=Integer.parseInt(name_edittextStr)
4.单选按钮及单选按钮组
android:id="@+id/..."
android:orientation="vertical"//决定单选按钮的排列方式,水平或者垂直
android:id="@+id/..."
android:layout_width="..."
android:text="@string/"..."
/>
单选按钮的监听器
//不是给单选Button设置单选按钮,而是给RadioGroup设置监听器
建立监听器:
name01_Group.setOnCheckedChangListener(newRadioGroup.OnCheckChangeListener)
{
//newRadioGroup中有个内部类OncheckChangedListener,有个oncheckChanged方法,当点击name01_Group的按钮时,
//都会触发name01_Group.setOnCheckedChangListener监听器,从而开始调用onCheckChanged方法
publicvoidonCheckedChanged(RadioGroupgroup,intcheckedId){
//调用onCheckChanged方法,会传入两个参数,一个是group哪一个组的对象被点击哪个一个组的对象就会传进来
//一个是checkedId(被点击的RadioButton的id就会传进来)
if(name_Button.getId==check
edId){
dothing;
}
}
}
5.多选按钮//先在Activity中进行声明privateCheckBoxname=null;
android:id="@+id/..."
android:layout_wigth="..."
android:layout_height="..."
android:text="@string/.."/>
android:id="@+id/..."
android:layout_wigth="..."
android:layout_height="..."
android:text="@string/.."/>
每个CheckBox都要设置监听器
name_Box.setOnChangeListener(newCompoundButton.OnCheckedChangedListener)
//
{
publicvoidonCheckChanged(CompoundButtonbuttonView,booleanisChecked)
//传进的是布尔值,是否选中,如果选中,则传入true,否则为false
{if(isChecked)
{
dosomething;
}
else
{
dosomething;
}
}
}
6.Toast消息提示框Toast.makeText(RadioText.this,"...",Toast.LENGTH_SHORT)
//RodioText.this是指Activity的对象Toast.LENGTH_SHORT是指消息的长短
7.Menu
//当点击MENU按钮时,调用该方法。
需要复写OnCreateOptionsMenu()方法
//当客户点击MENU按钮的时候,调用该方法
@Override
publicbooleanonCreateOptionsMenu(Menumenu){
menu.add(0,1,1,R.string.exit);//第一个参数,是菜单所处的组的名字,二当前菜单按钮的ID,三排序,四显示的内容
menu.add(GroupId,item,2,R.string.about);
returnsuper.onCreateOptionsMenu(menu);
}
//有几个menu.add,就有几个menuItem.
//当客户点击菜单当中的某一个选项时,会调用该方法
@Override
publicbooleanonOptionsItemSelected(MenuItemitem){
if(item.getItemId()==1){
finish();//该函数是结束该Activity
}
returnsuper.onOptionsItemSelected(item);
}