安卓搜房系统的设计与实现

来源 :科学与财富 | 被引量 : 0次 | 上传用户:lalalan
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  1.1 课题主要任务目标和意义
  随着手机的普及,手机软件已经和我们平时的生活息息相关,本系统就是以手机上搜房系统为课题,其主要目标是:实现基于手机客戶端的房产信息的搜索,将一些房产的信息如价格、年份、面积大小、地理位置等在手机屏幕上显示出来。
  在整个系统设计实现过程中,主要涉及的开发工具是Eclipse,采用的数据库是SQLite,开发语言是Java。
  2.1 系统整体简化流程图
  整个系统分为主界面输入模块和结果显示模块,输入模块主要负责对检索房产所需必要信息的输入,并将这些数据传递到结果显示模块,而显示模块则是对传过来的数据通过对数据库的检索将最终得到的数据显示出来。这个系统的总体设计流程如图3-1,先初始化一些数据在String.xml文件中,在程序运行后,读取下拉菜单、单选按钮和文本框中所填入
  的内容,将这些内容通过后台传到结果页面,在结果页面中调用数据检索功能,在数据库中将符合成绩的内容显示出来。
  2.2 系统代码设计思想
  在主页面的Activity中,初始化Spinner下拉菜单中的数据,数据存放在String.xml文件中。然后为Spinner设置监听器,通过监听器来实现下拉菜单选项的选择。同时还要为搜索按钮设置监听器,当按下按钮后,系统将Spinner、EditText等控件中的信息通过Intent传到结果页面。
  在结果页面的Activity中的Oncreate()里调用HouseDatabaseAdapter数据库并对其初始化,然后再调用显示数据的方法showhouseinfo()来将数据显示给用户。
  在HouseDatabaseAdapter中通过继承SQLiteOpenHelper来创建表并初始化表的数据,而表的一些列名则单独放在HouseDatabase.java文件中。具体流程见图2-1。
  3.1 主界面输入模块实现
  在这Main.xml页面中,通过线性布局,添加了LinearLayout、Tabhost、Textview、EditText、Button、Spinner、RadioGroup控件,通过这些控件实现页面的整体排布,同时通过HousingSearch.java来进行后台处理,最终将该页面上输入的数据传递到结果显示模块。
  在Main.xml页面中本人采用的是LinearLayout布局,即线性布局。线性布局就是将物体(容器内的子组件)按照直线进行摆放的一种方式,这种布局和J2SE平台的流布局比较类似,或者像古典小说中的“一字长蛇阵”的阵势。
  3.2 输入模块后台代码实现
  在HousingSearch.java中主要功能就是对收入的数据读取并将其传递到显示界面。下面列举一些主要控件的实现和一些重要的方法。
  1. Spinner监听
  Android中的下拉列表组件(Spinner)和其他平台中的组合框有些类似,可以显示出当前的选项,并允许用户通过一个下拉列表修改当前的选项,所以它占用宝贵的屏幕资源较少。
  2. Button监听
  Button上面显示搜索作为标记,用户可以通过单击Button组件执行一些预定义的操作。点击Button后可以触发OnClickListener事件监听器,从而来实现Button的具体功能。
  4.1 显示模块实现
  显示界面主要是通过调用User.xml布局文件将得到的数据显示在ListView上,运行结果如图4-1所示:
  这个页面做的比较简单主要的就是ListView控件的使用。android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。.
  根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter。该系统中采用的是第三个适配器。
  4.2 显示模块后台代码实现
  在Result.java文件中主要是一个showhouseinfo()方法来实现数据的显示。在这个方法中首先是将通过Intent传过来的数据读取出来。在这里也要先创建一个Intent对象,再通过getStringExtra()方法来将传过来的数据读出来并赋值给三个变量。然后调用gethouse()方法来调用数据库,如下所示:
  public Cursor gethouse(String a,String b) {
  String sql="SELECT "+House.House_ID +" AS _id"+", " +House.House_City+", " +House.House_Size+", "+House.House_Year+","+House.House_Price +" FROM "+ House.House_TABLE_NAME + " where " + House.House_City + "= + a + and " + House.House_Year + "= + b + " ;
  Log.i("selectSql", sql);
  Cursor cursor = db.rawQuery(sql, null);
  return cursor;
  }
  其中sql语句是对数据库中数据的筛选并返回。
  数据库则是在HouseDataAdapter.java中创建的,具体如下:
  public void onCreate(SQLiteDatabase db) {   String sql="CREATE TABLE " + House.House_TABLE_NAME + "("
  + House.House_ID + " integer primary key,"
  + House.House_City + " varchar,"
  + House.House_Size + " varchar,"
  + House.House_Year + " varchar,"
  + House.House_Price + " varchar"
  +");";
  Log.i("createSql", sql);
  db.execSQL(sql);
  其中House.House_City等是在HousDatabase.java中創建的表名等。
  最后通过SimpleCursorAdapter来实现最终的结果显示,具体见下:
  if (cursor != null) {
  startManagingCursor(cursor);
  String[] from = new String[] { //HouseDatabase.House.House_ID,
  HouseDatabase.House.House_City,
  HouseDatabase.House.House_Size,
  HouseDatabase.House.House_Year,
  HouseDatabase.House.House_Price,
  };
  int[] to = new int[] { R.id.txt1, R.id.txt2, R.id.txt3,R.id.txt4
  };
  SimpleCursorAdapter notes = new SimpleCursorAdapter(this,
  R.layout.user, cursor, from, to);
  listview.setAdapter(notes);
  }
  if(!cursor.moveToNext())
  txt.setText("没有你所需要的数据");
  }
  5.1 课题总结
  这里基于研究工作进行总结,该系统适用于Android平台下的各种手机,实现了通过过输入一些关键房产信息,进行查询,最后通过可视化的角度将结果输出在手机界面上的功能。
其他文献
为了进一步提高“弧焊电源”课程实验教学的效果,本文叙述采用微计算机辅助的实验教学形式。一、实验设计 1.微机辅助“电弧静特性曲线测定”实验按实测数据在方格纸上描点
在线检测电气设备的电能消耗是节约用电的前题,可供企业及时对薄弱环节,采取相应措施,降低能耗,提高效益.本文介绍了电能消耗数据处理装置的工作原理、系统构成、硬件设计和
人口系统是一个带有分布参数的大系统。由于地理、经济、历史等原因所致,人口亲度分布不均且相差悬殊。仅通过其单一的控制—妇女平均生育率—对整个大系统进行控制往往难以
首先研究了用实验方法确定系统的单位门函整响应,并在杜氏变換和杜氏积分的基础上,导出了基于输入信号和输出响应的微机控制算法。 First of all, we study the whole respo
目的探讨采用不同起搏位点及不同起搏位点组合行犬心脏起搏时的血流动力学改变.方法选用健康杂种犬6只,随机进行右心耳(RAA)起搏、右心室心尖(RVA)起搏、右心室间隔(RVS)起搏
本文描述了一个基于IBM-PC/AT微型机的四参数核谱数据获取系统。每个参数作为一个子事件,其标码长度最大为12bits,2至4个子事件组成一个事件。采用顺序记录型DMA方式进行事件
氧化锆式氧分析器是60年代出现的一种测量含氧浓度的分析仪器,由于它具有结构简单、维护方便、反应速度快、测量范围广等优点,所以广泛地应用于电力、冶金、建材、轻工以及
澳大利亚昆士兰州自然资源部长Andrew Cripps称,澳大利亚反对从马来西亚进口菠萝,因为过去马来西亚出现过关于菠萝虫害的问题。澳大利亚与马来西亚气候条件相似,并有许多菠萝
随着科技的发展和生产实践日益增长的需要,国外越来越多的工业自动化仪表制造公司,把日益成熟、完善的电子计算机技术推广应用到自动化仪表上,开发出了新一代的智能型仪表,
鸡西矿业集团公司张辰煤矿西三采区3