ImageVerifierCode 换一换
格式:DOC , 页数:18 ,大小:899.50KB ,
资源ID:8130936      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-8130936.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(05-用户基本信息管理.doc)为本站会员(fmgc7290)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

05-用户基本信息管理.doc

1、1青 岛 理 工 大 学课程实验报告课程名称 嵌入式软件设计与开发 班级 软件 121 实验日期 2015.05.21姓名 陈鑫月 学号 201207171 实验成绩实验名称 用户基本信息管理实验目的及要求熟悉 Android 常用控件的综合使用方法 :实现模拟用户信息管理功能实验环境 Win7, Eclipse实验内容屏幕分为上下 2 部分:上面输入用户基本信息,下面列表列出输入的所有用户信息,每行显示一个用户的基本信息。(1) 上面输入用户信息,点击“增加”则将用户信息加入下面的列表中;(2) 点击列表中的一行,则选中该行,同时在上面显示该行对应的数据;(3) 先点击列表选中一行,然后点击

2、“删除” ,则删除该行信息,同时选中下一行;(4) 先点击列表选中一行,然后修改上面的信息,再点击“修改” ,则将修改后的信息更新到列表中;(5) 在上面的控件中输入要查询的姓名,然后点击“查询” ,则在下面的列表中选中对应的行。参考界面如下图:2算法描述及实验步骤1.编写一个 textview 的布局文件和一个其他控件的布局文件2.在.Java 文件中调用布局文件并定义所用的控件,编写实现所需功能的代码。调试过程及实验结果界面:增加:3删除 john:修改 alice:查找 alice:4总结 本次实验通过制作一个用户信息管理来锻炼我们对于各种控件的综合使用。所有的数据和资源要显示到 Lis

3、tView 上都须通过适配器来完成。通过本次实验,让我对所学的控件有了进一步的理解与认识,也了解了许多平时不是很清楚地控件使用方法。通过本次实验认识到了自身依然还有许多不足,许多东西都需要去进一步学习与认识。附录MainActivity.javapackage com.example.userinfomanagement;import android.os.Bundle;import android.app.Activity;import android.content.Context;import android.graphics.Color;import android.view.Layo

4、utInflater;import android.view.Menu;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.BaseAdapter;import android.widget.Button;import android.widget.CheckBox;import android.widget.EditText;import android.widget.ListView;import android.widg

5、et.RadioButton;5import android.widget.RadioGroup;import android.widget.TextView;import android.widget.AdapterView.OnItemClickListener;import android.widget.Toast;public class MainActivity extends Activity Button addbtn,deletebtn,modifybtn,searchbtn;EditText username,userage; /以下是获取用户具体信息的控件RadioGrou

6、p usersex;RadioButton male,female;RadioButton maleOrfemale;CheckBox favorite_reading,favorite_walking,favorite_Watchingmovie;private Userlist U_List=new Userlist(); / 存储所有用户信息的类 private UserInfo U_Info; / 存储具体用户的详细信息 private int listviewPosition =-1; /单击每一行 listview 获取改行的行数并保存private ListView listvi

7、ew=null;MyAdapter adapter ;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);listview=(ListView)findViewById(R.id.listViewShowInfo);addbtn=(Button) findViewById(R.id.add);deletebtn=(Button) findViewById(R.id.delete);m

8、odifybtn=(Button) findViewById(R.id.modify);searchbtn=(Button) findViewById(R.id.search); username=(EditText) findViewById(R.id.nametext);userage=(EditText) findViewById(R.id.agetext);usersex=(RadioGroup) findViewById(R.id.RadioGroup01);male = (RadioButton) findViewById(R.id.male);female = (RadioBut

9、ton) findViewById(R.id.female); favorite_reading=(CheckBox) findViewById(R.id.reading);favorite_walking=(CheckBox) findViewById(R.id.walking);favorite_Watchingmovie=(CheckBox) findViewById(R.id.Watchingmovie);adapter = new MyAdapter(this);listview.setAdapter(adapter); /加载 listview/为 ListView 添加点击行的监

10、听器listview.setOnItemClickListener(myListener); addbtn.setOnClickListener(new View.OnClickListener() /添加Overridepublic void onClick(View v) / TODO Auto-generated method stubU_Info = new UserInfo(); /创建一个具体的用户类,用户存储当前输入的用户的信息 6U_Info.setName(username.getText().toString(); /获取用户名int radioButtonId =user

11、sex.getCheckedRadioButtonId(); /获取选中的 RadioButton 的实例的 IDmaleOrfemale = (RadioButton)MainActivity.this.findViewById(radioButtonId);U_Info.setSex(maleOrfemale.getText().toString(); /获取用户的性别 U_Info.setAge(userage.getText().toString(); /获取用户的性别 String favorites=“;if(favorite_reading.isChecked() favorit

12、es+=favorite_reading.getText().toString();if(favorite_walking.isChecked() favorites+=favorite_walking.getText().toString();if(favorite_Watchingmovie.isChecked() favorites+=favorite_Watchingmovie.getText().toString();U_Info.setFavorite(favorites); /获取用户的爱好U_List.adduserInfo(U_Info);listview.setAdapte

13、r(adapter); /加载 listview); deletebtn.setOnClickListener(new View.OnClickListener() /删除Overridepublic void onClick(View v) / TODO Auto-generated method stubif(U_List.getUserlist().size()-1!=0else if(listviewPosition=U_List.getUserlist().size()-1) U_List.getUserlist().remove(listviewPosition) ;listvie

14、wPosition-;else Toast.makeText(MainActivity.this, “您未选中任何项!“, Toast.LENGTH_SHORT).show();listview.setAdapter(adapter); /加载 listview7); modifybtn.setOnClickListener(new View.OnClickListener() /修改Overridepublic void onClick(View v) / TODO Auto-generated method stubif(listviewPosition!=0) U_Info = new

15、UserInfo(); /创建一个具体的用户类,用户存储当前输入的用户的信息 U_Info.setName(username.getText().toString(); /获取用户名int radioButtonId =usersex.getCheckedRadioButtonId(); /获取选中的 RadioButton 的实例的 IDmaleOrfemale = (RadioButton)MainActivity.this.findViewById(radioButtonId);U_Info.setSex(maleOrfemale.getText().toString(); /获取用户的

16、性别 U_Info.setAge(userage.getText().toString(); /获取用户的性别 String favorites=“;if(favorite_reading.isChecked() favorites+=favorite_reading.getText().toString();if(favorite_walking.isChecked() favorites+=favorite_walking.getText().toString();if(favorite_Watchingmovie.isChecked() favorites+=favorite_Watch

17、ingmovie.getText().toString();U_Info.setFavorite(favorites); /获取用户的爱好U_List.getUserlist().set(listviewPosition, U_Info);listview.setAdapter(adapter); /加载 listview else Toast.makeText(MainActivity.this, “这标题你也修改!“, Toast.LENGTH_SHORT).show(); );searchbtn.setOnClickListener(new View.OnClickListener()

18、/查询Overridepublic void onClick(View v) / TODO Auto-generated method stublistviewPosition =U_List.searchUser(username.getText().toString()-1;listview.setAdapter(adapter); /加载 listview);8/ListView 中一行对应的对象组合-容器类/使用 ViewHolder 可以减少 findViewById()的使用频率,方便数据访问public final class ViewHolderpublic TextView

19、nameInfo;public TextView sexInfo;public TextView ageInfo;public TextView favoriteInfo; /自定义的 Adapter 类/*Android 系统更新 ListView 时需要调用相关的 Adapter 的方法:* 1)更新前首先调用 getCount()获取需要更新的行数,然后更新过程逐行进行* 2)更新每行时,需要调用 getView()获取当前行对应的 View 对象,* Adapter 需要在 getView()方法中适时创建 View 对象,并对 View对象填充需要显示的内容* */public fi

20、nal class MyAdapter extends BaseAdapter/实例化布局对象-用于实例化每行的布局-View 对象private LayoutInflater mInflater;public MyAdapter(Context context)/ this.mInflater = getLayoutInflater();this.mInflater = LayoutInflater.from(context);/获取 ListView 的总行数Overridepublic int getCount() / TODO Auto-generated method stubret

21、urn U_List.getUserlist().size();Overridepublic Object getItem(int arg0) / TODO Auto-generated method stubreturn null;Overridepublic long getItemId(int position) / TODO Auto-generated method stubreturn 0;/获取指定的一行所对应的 View 对象-不存在的话则创建之/ position-当前要显示的数据的位置(行号)/ convertView-可利用的以前的 View 对象(上下滚动时,利用旧 V

22、iew 对象显示新内容),9/ 如果此项为空,则需要动态创建新的 View 对象/ parent-父控件(上层的 ListView)Overridepublic View getView(int position, View convertView, ViewGroup parent) / TODO Auto-generated method stub/本行对应的容器对象ViewHolder holder = null;/如果该行的 View 为空, 则动态创建新的 View/利用已有的 View 显示新数据,可以减少内存占用,优化响应速度if (convertView = null) /先创

23、建容器对象,以便后来向其中填充当前行中的控件对象holder=new ViewHolder(); /实例化 ListView 的一行, root 参数为空说明此 View 的父控件默认为为上层的 ListViewconvertView = mInflater.inflate(R.layout.itemforinfo, null);/获取内部的各个控件对象, 保存到容器对象中, 以后直接取来用即可-每个子控件对象只用一次 findViewById()holder.nameInfo = (TextView)convertView.findViewById(R.id.nameInfo);holder

24、.sexInfo = (TextView)convertView.findViewById(R.id.sexInfo);holder.ageInfo = (TextView)convertView.findViewById(R.id.ageInfo);holder.favoriteInfo =(TextView) convertView.findViewById(R.id.favoriteInfo);/设置容器对象为 ListView 当前行的 Tag-建立容器类对象与ListView 当前行的联系convertView.setTag(holder);else /如果该行的 View 已经存在

25、,则通过标记获取该行对应的对象holder = (ViewHolder)convertView.getTag(); /设置该行内的控件对象对应的属性,Adapter 的作用(ListListView)- 如果不用 ViewHolder 则需要频发使用 findViewByIDholder.nameInfo.setText(U_List.getUserlist().get(position).getName();holder.sexInfo.setText(U_List.getUserlist().get(position).getSex();10holder.ageInfo.setText(U

26、_List.getUserlist().get(position).getAge();holder.favoriteInfo.setText(U_List.getUserlist().get(position).getFavorite();if (listviewPosition = position / 显示选中信息在框中username.setText(U_List.getUserlist().get(listviewPosition).getName();userage.setText(U_List.getUserlist().get(listviewPosition).getAge()

27、;if(U_List.getUserlist().get(listviewPosition).getSex().equals(“女“) female.setChecked(true); else male.setChecked(true); boolean read=false,walk=false,watchingmovie=false;if(U_List.getUserlist().get(listviewPosition).getFavorite().contains(“读书“)read =true;if(U_List.getUserlist().get(listviewPosition

28、).getFavorite().contains(“散步“) walk =true;if(U_List.getUserlist().get(listviewPosition).getFavorite().contains(“看电影“) watchingmovie =true;favorite_reading.setChecked(read);favorite_walking.setChecked(walk);favorite_Watchingmovie.setChecked(watchingmovie); return convertView;/返回当前行对应的 View 对象/ListVie

29、w 点击行事件的监听函数-不同于之前按钮的监听,整个 ListView 用一个监听器OnItemClickListener myListener=new OnItemClickListener() Overridepublic void onItemClick(AdapterView arg0, View arg1, int arg2,long arg3) / TODO Auto-generated method stub/通过 View 对应的对象获取数据内容-先获取容器对象,再通过它访问其中各个控件的属性ViewHolder holder=(ViewHolder)arg1.getTag()

30、;listviewPosition = arg2;listview.setAdapter(adapter); /加载 listview11;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);return true;UserInfo.javapackage com.example.userinfomanagem

31、ent;import java.util.List;public class UserInfo private String name;private String sex;private String age;private String favorite;public String getName() return name;public void setName(String name) if(name.equals(“) this.name=“null“;else this.name = name;public String getSex() return sex;public voi

32、d setSex(String sex) if(sex.equals(“) this.sex=“null“;else this.sex = sex;public String getAge() 12return age;public void setAge(String age) if(age.equals(“) this.age=“null“;else this.age = age;public String getFavorite() return favorite;public void setFavorite(String favorite) if(favorite.equals(“)

33、 this.favorite=“null“;else this.favorite = favorite;Userlist.javapackage com.example.userinfomanagement;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class Userlist private List userlist;public Userlist() userlist = new ArrayList();UserInfo inituser = new UserInfo

34、();inituser.setName(“姓名“);inituser.setSex(“性别“);inituser.setAge(“年龄“);inituser.setFavorite(“爱好“);userlist.add(inituser);public List getUserlist() return userlist;13public void setUserlist(List userlist) this.userlist = userlist;public void adduserInfo(UserInfo userinfo) /添加用户信息userlist.add(userinfo);public int searchUser(String username) /查询用户信息Iterator iter = userlist.iterator();int position = 0;while(iter.hasNext() UserInfo user = new UserInfo();user = iter.next();position+;if(user.getName().equals(username) break;return position;Activity_main.xml141517Itemforinfo.xml18

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报