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

来源:互联网 发布:随机红包生成算法 编辑:程序博客网 时间:2024/05/09 21:33

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(){@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubSystem.out.println("nihao");//测试:向控制台输出内容                                 }}

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

bnt.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubIntent 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(){   @Override   public 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 跳转
@Override public 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