大连实训之体验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 ){} 方法,此方法表示菜单项第一次生成的时候所要执行的内容,只执行一次。@Overridepublic 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
- 大连实训之体验android的开发过程(实现部分功能)
- 大连实训之体验android的开发过程
- 大连实训之基于MFC对数据库的基本操作(功能实现)
- #Android开发之kotlin实现(体验)
- Android开发,MapBox的使用及部分功能实现(一)----- 初始化、标记、定位、styleurl
- Android开发,MapBox的使用及部分功能实现(三)----- 重新理解MapBox
- android之照相、相册裁剪功能的实现过程
- Android之照相、相册裁剪功能的实现过程
- Android开发学习之设置Android壁纸的功能实现
- Android开发,MapBox的使用及部分功能实现(二)----- draw、layer、以及一些杂的知识点
- Android开发mapbox使用及部分功能实现
- Android开发学习之摇一摇功能的简单实现
- Android开发学习之闹钟功能的简单实现
- Android开发学习之分享功能的实现
- android开发笔记之联系人百家姓功能的实现
- Android开发之自动登录功能的实现
- Android开发记录七之文件下载的功能实现
- Android开发之TextView分页功能的实现
- Qt 软键盘[模拟]之键盘触发事件
- 怎样做点击窗口外部关闭窗口?
- RTP payload type
- MFC学习第十节:输出对话框(第四种方法)
- ubuntu13.04安装java-1.7-sun
- 大连实训之体验android的开发过程(实现部分功能)
- 稳压二极管应用
- 提高你的Java代码质量吧:不容忽视的四舍五入细节
- 关于SMP
- 挪威女子迪拜遭性侵害后反被判刑 称不后悔报案
- spring+mybatis+strus
- rdesktop的使用方法
- JS去除图片缓存
- POJ1113 wall 简单凸包