Android单词查找器
16lz
2021-01-23
三个布局文件: main.xml
<?xml version="1.0" encoding="utf-8"?>
line.xml
<?xml version="1.0" encoding="utf-8"?>
list.xml
<?xml version="1.0" encoding="utf-8"?>
ACTIVITY文件
首先是数据库类
package xuyan.sword.test;import java.util.List;import java.util.Map;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.widget.EditText;import android.widget.ListView;import android.widget.SimpleAdapter;public class ResultActivity extends Activity{ ListView listview;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.list);listview=(ListView)this.findViewById(R.id.listView1);Intent intent=getIntent();//获取intent的数据Bundle data=intent.getExtras();//从Bundle包中取出数据@SuppressWarnings("unchecked")List
package xuyan.sword.test;import java.util.ArrayList;import java.util.HashMap;import java.util.Map;import android.app.Activity;import android.content.Intent;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class SearchWordActivity extends Activity { /** Called when the activity is first created. */MyDataBaseHelper dbHelper;Button insert = null;Button search = null;@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);// 创建MyDatabaseHelper对象,指定数据库版本为1,此处使用相对路径即可,// 数据库文件自动会保存在程序的数据文件夹的databases目录下。dbHelper = new MyDataBaseHelper(this, "myDict.db3", 1);insert = (Button)findViewById(R.id.button1);search = (Button)findViewById(R.id.button2);insert.setOnClickListener(new OnClickListener(){public void onClick(View source){//获取用户输入String word = ((EditText)findViewById(R.id.editText1)).getText().toString();String detail = ((EditText)findViewById(R.id.editText2)).getText().toString();//插入生词记录insertData(dbHelper.getReadableDatabase() , word , detail);//显示提示信息Toast.makeText(SearchWordActivity.this, "添加生词成功!" , 8000).show();}});search.setOnClickListener(new OnClickListener(){public void onClick(View source){// 获取用户输入String key = ((EditText) findViewById(R.id.editText3)).getText().toString();// 执行查询Cursor cursor = dbHelper.getReadableDatabase().rawQuery("select * from dict where word like ? or detail like ?", new String[]{"%" + key + "%" , "%" + key + "%"});//创建一个Bundle对象Bundle data = new Bundle();data.putSerializable("data", converCursorToList(cursor));//创建一个IntentIntent intent = new Intent(SearchWordActivity.this, ResultActivity.class);intent.putExtras(data);//启动ActivitystartActivity(intent);}});}protected ArrayList>converCursorToList(Cursor cursor){ArrayList> result = new ArrayList>();//遍历Cursor结果集while(cursor.moveToNext()){//将结果集中的数据存入ArrayList中Map map = new HashMap();//取出查询记录中第2列、第3列的值map.put("word" , cursor.getString(1));map.put("detail" , cursor.getString(2));result.add(map);}return result;}private void insertData(SQLiteDatabase db, String word , String detail){//执行插入语句db.execSQL("insert into dict values(null , ? , ?)", new String[]{word , detail});}@Overridepublic void onDestroy(){super.onDestroy();//退出程序时关闭MyDatabaseHelper里的SQLiteDatabaseif (dbHelper != null){dbHelper.close();}}}
package xuyan.sword.test;import java.util.List;import java.util.Map;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.widget.EditText;import android.widget.ListView;import android.widget.SimpleAdapter;public class ResultActivity extends Activity{ ListView listview;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.list);listview=(ListView)this.findViewById(R.id.listView1);Intent intent=getIntent();//获取intent的数据Bundle data=intent.getExtras();//从Bundle包中取出数据@SuppressWarnings("unchecked")List> list=(List>)data.getSerializable("data");//将LIST封装成SIMPLEADAPTERSimpleAdapter adapter=new SimpleAdapter(ResultActivity.this, list, R.layout.line, new String[]{"word","detail"}, new int[]{R.id.word,R.id.detail});//填充LISTVIEWlistview.setAdapter(adapter);}}
更多相关文章
- android中Json数据保存方式
- [置顶] Android加载数据过程中的菊花显示
- android webview 中网页数据与js交互
- Android 解决 RecyclerView 嵌套 ScrollView 数据显示不全的问题
- 通过CMD 查看android APP数据库表
- android 利用socket 发送Json数据demo
- Android 简单数据库(增删改查)
- 关于Android/java的复杂对象的深拷贝和浅拷贝
- android中IO操作数据总结