文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Android+SQLite数据库实现的生词记事本功能实例

2023-05-30 20:10

关注

本文实例讲述了Android+SQLite数据库实现的生词记事本功能。分享给大家供大家参考,具体如下:

主activity命名为

Dict:

代码如下:

package example.com.myapplication;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.widget.Button;import android.widget.EditText;import android.widget.Toast;import java.util.ArrayList;import java.util.HashMap;import java.util.Map;public class Dict extends Activity{  MyDatabaseHelper dbHelper;  Button insert = null;  Button search = null;  @Override  public void onCreate(Bundle savedInstanceState)  {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    // 创建MyDatabaseHelper对象,指定数据库版本为1,此处使用相对路径即可,    // 数据库文件自动会保存在程序的数据文件夹的databases目录下。    dbHelper = new MyDatabaseHelper(this        , "myDict.db3" , 1);    insert = (Button)findViewById(R.id.insert);    search = (Button)findViewById(R.id.search);    insert.setOnClickListener(new View.OnClickListener()    {      @Override      public void onClick(View source)      {        //获取用户输入        String word = ((EditText)findViewById(R.id.word))            .getText().toString();        String detail = ((EditText)findViewById(R.id.detail))            .getText().toString();        //插入生词记录        insertData(dbHelper.getReadableDatabase() , word , detail);        //显示提示信息        Toast.makeText(Dict.this, "添加生词成功!" , Toast.LENGTH_SHORT)            .show();      }    });    search.setOnClickListener(new View.OnClickListener()    {      @Override      public void onClick(View source)      {        // 获取用户输入        String key = ((EditText) findViewById(R.id.key)).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));        //创建一个Intent        Intent intent = new Intent(Dict.this            , ResultActivity.class);        intent.putExtras(data);        //启动Activity        startActivity(intent);      }    });  }  protected ArrayList<Map<String ,String>>  converCursorToList(Cursor cursor)  {    ArrayList<Map<String,String>> result =      new ArrayList<Map<String ,String>>();    //遍历Cursor结果集    while(cursor.moveToNext())    {      //将结果集中的数据存入ArrayList中      Map<String, String> map = new          HashMap<String,String>();      //取出查询记录中第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});  }  @Override  public void onDestroy()  {    super.onDestroy();    //退出程序时关闭MyDatabaseHelper里的SQLiteDatabase    if (dbHelper != null)    {      dbHelper.close();    }  }}

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 资料下载
  • 历年真题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯