HappyIdiom之六(1)实现动物类列表的显示
来源:互联网 发布:龙神契约升阶数据 编辑:程序博客网 时间:2024/05/18 03:55
目标:实现动物类列表的显示
Step1:分析可知不同的类别具有共同的属性,可以抽出一个继承关系,父类是Idiom。
实现:在entity包下建立Idiom类
public class Idiom {private Integer id;private String idiom;// 成语private String spell;// 拼音private String explain;// 解释private String antonym;// 反义词private String homoionym;// 同义词private String derivation;// 来历private String examples;// 举例private String english;// 成语的英语解释public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getIdiom() {return idiom;}public void setIdiom(String idiom) {this.idiom = idiom;}public String getSpell() {return spell;}public void setSpell(String spell) {this.spell = spell;}public String getExplain() {return explain;}public void setExplain(String explain) {this.explain = explain;}public String getAntonym() {return antonym;}public void setAntonym(String antonym) {this.antonym = antonym;}public String getHomoionym() {return homoionym;}public void setHomoionym(String homoionym) {this.homoionym = homoionym;}public String getDerivation() {return derivation;}public void setDerivation(String derivation) {this.derivation = derivation;}public String getExamples() {return examples;}public void setExamples(String examples) {this.examples = examples;}public String getEnglish() {return english;}public void setEnglish(String english) {this.english = english;}public Idiom(String idiom, String spell, String explain,String antonym, String homoionym, String derivation,String examples, String english) {super();this.idiom = idiom;this.spell = spell;this.explain = explain;this.antonym = antonym;this.homoionym = homoionym;this.derivation = derivation;this.examples = examples;this.english = english;}@Overridepublic String toString() {return "Idiom [id=" + id + ", idiom=" + idiom + ", spell=" + spell+ ", explain=" + explain + ", antonym=" + antonym+ ", homoionym=" + homoionym + ", derivation=" + derivation+ ", examples=" + examples + ", english=" + english + "]";}}
在entity包下建立Animal类
public class Animal extends Idiom {public Animal(String idiom, String spell, String explain,String antonym, String homoionym, String derivation,String examples, String english) {super(idiom, spell, explain, antonym, homoionym, derivation, examples,english);}}
Step2:在dao包下建立IdiomDao类和AnimalDao类
public abstract class IdiomDao {private SQLiteDatabase sqLiteDatabase;public IdiomDao(Context context){DBHelper dbHelper=new DBHelper(context);sqLiteDatabase=dbHelper.openDatabase();}public abstract List<Idiom> getIdioms();public SQLiteDatabase getSqLiteDatabase() {return sqLiteDatabase;}}
public class AnimalDao extends IdiomDao {public AnimalDao(Context context) {super(context);}@Overridepublic List<Idiom> getIdioms() {SQLiteDatabase sqLiteDatabase=getSqLiteDatabase();List<Idiom> idioms=new ArrayList<Idiom>();Cursor cursor=sqLiteDatabase.rawQuery("select * from animal", null);while(cursor.moveToNext()){String an_idiom = cursor.getString(cursor.getColumnIndex("an_idiom"));String an_explain = cursor.getString(cursor.getColumnIndex("an_explain"));String an_spell = cursor.getString(cursor.getColumnIndex("an_spell"));String an_antonym = cursor.getString(cursor.getColumnIndex("an_antonym"));String an_homoionym = cursor.getString(cursor.getColumnIndex("an_homoionym"));String an_derivation = cursor.getString(cursor.getColumnIndex("an_derivation"));String an_examples = cursor.getString(cursor.getColumnIndex("an_examples"));String an_english = cursor.getString(cursor.getColumnIndex("an_english"));Idiom idiom = new Animal(an_idiom,an_spell,an_explain,an_antonym,an_homoionym,an_derivation,an_examples,an_english);idioms.add(idiom);}cursor.close();sqLiteDatabase.close();return idioms;}}
Step3:进行单元测试,确保可以从数据库中将动物类成语查询出来
public class IdiomDaoTest extends AndroidTestCase { public void testCreateDB(){ DBHelper dbHelper=new DBHelper(getContext()); dbHelper.openDatabase(); } public void testGetIdioms(){ IdiomDao idiomDao=new AnimalDao(getContext()); List<Idiom> idioms=idiomDao.getIdioms(); for(Idiom idiom:idioms){ System.out.println(idiom); } } }
Step4:定义Study_AnimalActivity类及其activity_study_animal.xml文件,每一列表项的布局study_animal_item.xml
public class Study_AnimalActivity extends ListActivity {private List<Map<String,Object>> data; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_study__animal); getData(); SimpleAdapter simpleAdapter=new SimpleAdapter(this,data,R.layout.study_animal_item,new String[]{"idiom"},new int[]{R.id.idiom}); setListAdapter(simpleAdapter); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_study__animal, menu); return true; } private void getData() { IdiomDao idiomDao=new AnimalDao(this); List<Idiom> idioms=idiomDao.getIdioms();data = new ArrayList<Map<String, Object>>();for (int i = 0; i < idioms.size(); i++) {Map<String, Object> map = new HashMap<String, Object>();map.put("idiom", idioms.get(i).getIdiom());data.add(map);}}}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="fill_parent"android:layout_height="fill_parent" android:background="@drawable/bg_animal"><ListView android:id="@id/android:list" android:layout_width="fill_parent"android:layout_height="fill_parent" android:drawSelectorOnTop="false"android:cacheColorHint="#00000000"android:scrollbars="vertical" android:layoutAnimation="@anim/list_animation_layout" /></LinearLayout>
<?xml version="1.0" encoding="utf-8"?><!-- 显示动物类别,listview中每条要显示的内容 --><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent" android:layout_height="fill_parent"android:paddingLeft="10dip" android:paddingRight="10dip"android:paddingTop="1dip" android:paddingBottom="1dip"><TextView android:id="@+id/idiom"android:layout_width="250dip" android:layout_height="wrap_content"android:textSize="25sp"android:gravity="left"android:textColor="#000000"android:layout_alignParentLeft="true" /><ImageButton android:id="@+id/save"android:layout_width="wrap_content" android:layout_height="wrap_content"android:focusable="false"android:src="@drawable/save"android:layout_toRightOf="@+id/idiom"android:layout_alignParentRight="true" /></RelativeLayout>
- HappyIdiom之六(1)实现动物类列表的显示
- HappyIdiom之六(2)点击动物类列表中的每一项以对话框的形式显示该成语的详细信息
- 乐学成语实现之四:显示所有动物类成语的列表
- 综合项目之乐学成语(显示所有动物类成语的列表)
- 个人完成案例之乐学成语(显示所有动物类成语的列表和每条成语的详细信息)
- 乐学成语——显示所有动物类成语的列表
- 乐学成语——显示所有动物类成语的列表
- 5.乐学成语-----------显示动物类成语列表
- 课后作业之动物类
- HappyIdiom之一闪屏实现
- HappyIdiom分析之闪屏效果的实现
- happyidiom部分功能的实现
- 第十二周项目1-1-长颈鹿类对动物类的继承(public继承)
- 第12周项目1--长颈鹿类对动物类的继承(1)
- 第十二周项目1-2-长颈鹿类对动物类的继承(private继承)
- 第十二周项目1-3-长颈鹿类对动物类的继承(保护继承)
- 第十二周 项目1 - 长颈鹿类对动物类的继承(public继承方式)
- 12-1 长颈鹿对动物类的继承(public继承)
- 本科应届生月薪5000元以上的职业
- 数据结构与算法 试题与答案
- 一种不会导致资源泄露的“终止”线程的方法
- loadView和viewDidLoad及initWithNibName/awakeFromNib/initWithCoder
- lemur学习
- HappyIdiom之六(1)实现动物类列表的显示
- JavaWEB开发的国际化
- VIM as Python IDE
- 为什么要用latex
- 学习struts2+json简单示例(适于初学json者)
- 股票交易-操作法制
- 迷宫的实现--c语言
- Unity-- 一些功能转载
- 解决ADO读取Excel,数据丢失、数据错误、数据乱码问题