您的位置:首页 > 移动开发 > Android开发

大连实训之体验android的开发过程(实现部分功能)

2013-07-23 13:26 531 查看
android的开发过程:

第一步:开发UI界面。(activity_main.xml文件)

第二步:在JAVA文件中进行编程

以下主要是第二步

一、activity 间的跳转

在一个成熟的 android 系统中,存在多个 activity 。每个 activity 必须跟一个布局文件 .xml ;每一个 activity 都在 androidMainfest.xml 文件中注册; activity 间的跳转需要事件(常见事件是按钮点击事件,要产生按钮点击事件,分两步:产生按钮对象;产生按钮对象事件)的支持 oncreate 是一个重要的回调方法,在 activity 启动后执行。

1.产生按钮点击事件:

//1.创建一个按钮对象,要导入按钮对象所在的包。
private Button bnt;
//2.对对象实例化


bnt=(Button)findViewById(R.id.button2);
//3.创建对象 bnt 的单击事件。(参数要传递匿名内部类)
bnt.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
System.out.println("nihao");//测试:向控制台输出内容
}
}

2.实现跳转:要成功进行跳转,需要用到 Intent 这个对象,意图对象,制定了起点和终点。第一个参数是原来的类,起始点,以 .this 结束;第二个参数是要跳转到的类,终点,以 .class 结束;在此方法内写具体的事件,由一个 activity 转向另一个 activity

bnt.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent in=new Intent ( MainActivity.this,HuoActivity.class );
startActivity(in);
}
}

二、Intent:意图对象,是android中的神经系统,可以传递很多东西,不但能够实现activity的跳转,还可以实现打电话和发短信。

//创建按钮对象
private Button btn2;//打电话的按钮
private Button btn3;//发短信
//对象实例化
btn2=(Button)findViewById(R.id.btn2);
btn3 = (Button)findViewById(R.id.btn3);
//在oncreate方法中
btn2.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent in2 = new Intent();//创建意图对象
in2.setAction(Intent.ACTION_CALL);//

in2.setData(Uri.parse("tel:1862487578"));//指定电话号码
startActivity(in2);
}
});
btn3.setOnClickListener( new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent in3 = new Intent();//创建意图对象
in3.setAction(Intent.ACTION_SENDTO);//
in3.setData(Uri.parse("smsto:1862487578"));//指定收信人号码
in3.putExtra("sms_body", "Hello android sms");//指定短信内容
startActivity(in3);
}
});

三、取得输入框中的内容

//声明变量,需要导包
private EditText et1;//用户名
private EditText et2;//密码
//对象实例化
et1=(EditText)findViewById(R.id.editText1);
et2=(EditText)findViewById(R.id.editText2);
//得到数据(在实现 activity 跳转的代码中插入,并修改,使其完善)
String username = et1.getText().toString();
String pwd = et2.getText().toString();
bnt.setOnClickListener(new OnClickListener(){
@Overridepublic void onClick(View arg0) {
// TODO Auto-generated method stub

String username = et1.getText().toString(); String pwd = et2.getText().toString();if(username.equals("z3")&&pwd.equals("z3")){
Intent in=new Intent ( MainActivity.this,HuoActivity.class );//当用户名是z3并且密码是z3时才可以登录成功,进入第二个页面
startActivity(in);
}
}
};

四、listView控件实现过程:

ListView的实现依赖适配器,适配器依赖数据源(集合数组、数据库中的表等);

//获得 ListView 对象:
private ListView userlv;
//在oncreate方法中
userlv=(ListView)findViewById(R.id.userlistview);
//1.创建集合对象;


List list;
//2.初始化集合对象
list = new ArrayList();
//3.向集合对象中加入数据
list.add("Tom");
list.add("Anjulie");
list.add("Mike");
list.add("Jack");
list.add("Marry");
list.add("Rose");
//4.创建适配器对象
//参数1:表示当前适配器的宿主(必写)
//参数2:表示当前适配器的数据呈现形式,用简单列表的形式呈现数据
//参数3:表示数据源
ArrayAdapter<String> adapter =
new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list);
//5.:把数据库绑定到listview控件中
userlv.setAdapter(adapter);


五、创建菜单

一般的应用都有菜单导航功能,是由菜单实现的。在android中菜单对象是menu。

// menu 的实现过程不需要在 .xml 文件中做配置;菜单项以偏移量为计数单位(如:第一个菜单项是 Menu.FIRST , 其他的菜单项都是以 Menu.FIRST 为单位增加的);类型为全局静态整数
//1.定义菜单项
final static int menu_indext= Menu.FIRST;
final static int menu_content= Menu.FIRST+1;
final static int menu_final= Menu.FIRST+2;
//2.实现 onCreateOptionsMenu ( Menu menu ){} 方法,此方法表示菜单项第一次生成的时候所要执行的内容,只执行一次。

@Override

public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
//getMenuInflater().inflate(R.menu.main, menu);
menu.add(0, menu_indext, 0, "首页").setIcon(android.R.drawable.btn_star);
menu.add(0, menu_content, 1, "内容").setIcon(android.R.drawable.btn_star);
menu.add(0, menu_final,2, "尾页").setIcon(android.R.drawable.btn_star);
return true;
}

//3.实现 onOptionsItemSelected ( MenuItem item ){} 方法  此方法,每次选择某个菜单项时都会执行,主要用于判断用户点击哪个菜单项,从而做出对应的activity 跳转

@Overridepublic boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
//return super.onOptionsItemSelected(item);
switch ( item.getItemId() ){
case menu_indext :
System.out.println("你好");//测试语句,具体菜单实现功能,需将相应代码加入
return true;
case menu_content :
System.out.println("欢迎");//测试语句,具体菜单实现功能,需将相应代码加入

return true;
case menu_final :

System.out.println("欢迎");//测试语句,具体菜单实现功能,需将相应代码加入

return true;
}//switch
return false;
}//onOptionsItemSelected
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐