学生管理系统-基于SQLite数据库的Android应用

学生管理系统-基于SQLite数据库的Android应用,第1张

概述public void onItemClick(AdapterView<?> arg0, View view, int position, long id) { Intent intent= new Intent(StudentsManagerActivity.this,sql.yxy.DetailActivity.class); intent.putExtra("cmd"
               
public voID onItemClick(AdapterVIEw<?> arg0,VIEw vIEw,int position,					long ID) {
				Intent intent= new Intent(StudentsManagerActivity.this,sql.yxy.DetailActivity.class);				intent.putExtra("cmd",0);		//0代表查询学生,1代表添加学生				intent.putExtra("ID",contactsID[position]);				startActivity(intent);
触发器为ListVIEw的Item的单机触发器,其实也可以使用选择触发器,下面还要说一说主界面用到的ListVIEw:
BaseAdapter myAdapter = new BaseAdapter(){		@OverrIDe		public int getCount() {			if(contactsname != null){		//如果姓名数组不为空				return contactsname.length;			}			else {				return 0;					//如果姓名数组为空则返回0			}		}		@OverrIDe		public Object getItem(int arg0) {			return null;		}		@OverrIDe		public long getItemID(int arg0) {			return 0;		}		@OverrIDe		public VIEw getVIEw(int position,VIEw convertVIEw,VIEwGroup parent) {			linearLayout ll = new linearLayout(StudentsManagerActivity.this);			ll.setorIEntation(linearLayout.HORIZONTAL);			TextVIEw tv = new TextVIEw(StudentsManagerActivity.this);			tv.setText(contactsname[position]);			tv.setTextSize(32);			tv.setTextcolor(color.GREEN);			tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));			tv.setGravity(Gravity.CENTER_VERTICAL);			TextVIEw tv2 = new TextVIEw(StudentsManagerActivity.this);			tv2.setText("["+contactsNo[position]+"]");			tv2.setTextSize(28);			tv2.setTextcolor(color.RED);			tv2.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));			tv2.setGravity(Gravity.BottOM|Gravity.RIGHT);	//设置TextVIEw控件在父容器中的位置			ll.addVIEw(tv);			ll.addVIEw(tv2); 			return ll;		}	};
为了能够动态生成列表的内容,要为ListVIEw准备内容适配器,并且需要重写适配器的几个方法,最主要的是getVIEw方法,这里面定义了每个Item的布局,和XML文件不同,这里面用到的是XML属性对应的各种方法,这时感觉像是写JAVA。。。
还有一个值得注意的地方就是对数据库进行 *** 作后主界面内容要更新:
protected voID onResume() {		getBasicInfo(myHelper);		myAdapter.notifyDataSetChanged();		super.onResume();	}

重写Activity的onResume()方法,你懂得。。。getBasicInfo()是自己定义的方法,notifyDataSetChanged()这个方法可以参考:http://blog.csdn.net/l_serein/article/details/6384969
//方法:获取所有学生的姓名    public voID getBasicInfo(MyOpenHelper helper){    	sqliteDatabase db = helper.getWritableDatabase();		//获取数据库连接    	Cursor c = db.query(table_name,new String[]{ID,name,NO},null,ID);    	int idindex = c.getColumnIndex(ID);    	int nameIndex = c.getColumnIndex(name);		//获得姓名列的列号    	int phoneIndex = c.getColumnIndex(NO);	//获得电话列的序号    	contactsname = new String[c.getCount()];			//创建存放姓名的String数组对象    	contactsID = new int[c.getCount()];			//创建存放ID的int数组对象    	contactsNo = new String[c.getCount()];	//创建存放的数组对象    	int i=0;			//声明一个计数器    	for(c.movetoFirst();!(c.isAfterLast());c.movetoNext()){    		contactsname[i] = c.getString(nameIndex);			//将姓名添加到String数组中    		contactsID[i] = c.getInt(idindex);    		contactsNo[i] = c.getString(phoneIndex);			//将固定电话添加到String数组中    		i++;    	}    	c.close();				//关闭Cursor对象    	db.close();				//关闭sqliteDatabase对象    }
总之这个程序有两个Activity,一个主界面一个显示学生信息,还有一个

MyOpenHelper类继承于sqliteOpenHelper类,还用到了菜单、滚动条、Imagebutton等控件。。。

总结

以上是内存溢出为你收集整理的学生管理系统-基于SQLite数据库的Android应用全部内容,希望文章能够帮你解决学生管理系统-基于SQLite数据库的Android应用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1176775.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存