我的编程空间,编程开发者的网络收藏夹
学习永远不晚

基于Java怎样实现一个简单的单词本Android App

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

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

基于Java怎样实现一个简单的单词本Android App

这篇文章跟大家分析一下“基于Java怎样实现一个简单的单词本Android App”。内容详细易懂,对“基于Java怎样实现一个简单的单词本Android App”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“基于Java怎样实现一个简单的单词本Android App”的知识吧。

布局设计

单词本主界面

基于Java怎样实现一个简单的单词本Android App

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context=".AddDanciActivity">     <EditText        android:id="@+id/addword_edit"        android:layout_width="match_parent"        android:layout_height="60dp"        android:layout_marginTop="20dp"        android:hint="单词:"        android:textColor="@android:color/black"        android:textColorHint="#DCDCDC"        android:textSize="30dp" />     <EditText        android:id="@+id/fanyiword_edit"        android:layout_width="match_parent"        android:layout_height="60dp"        android:hint="解释:"        android:textColor="@android:color/black"        android:textColorHint="#DCDCDC"        android:textSize="30dp" />     <RelativeLayout        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_alignParentBottom = "true"        android:layout_margin="5dp">    <ListView        android:id="@+id/add_list"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:textColor="@android:color/black"        android:textColorHint="#DCDCDC"        android:textSize="30dp"        android:layout_above="@id/lineLayout"        />         <LinearLayout            android:layout_height="50dp"            android:layout_width="match_parent"            android:id="@+id/lineLayout"            android:layout_alignParentBottom="true"            android:orientation="horizontal"            android:gravity="center_horizontal"            >        <Button            android:layout_width="100dp"            android:layout_height="50dp"            android:id="@+id/add_btn"            android:text="添加" />        <Button            android:layout_width="100dp"            android:layout_height="50dp"            android:layout_centerHorizontal="true"            android:id="@+id/shanchu_btn"            android:layout_gravity="center_vertical"            android:text="删除" />        <Button            android:layout_width="100dp"            android:layout_height="50dp"            android:id="@+id/quxiao_btn"            android:layout_gravity="right"            android:text="取消" />        </LinearLayout>     </RelativeLayout> </LinearLayout>

代码

AddDanciActivity.java

        单词本主界面的Activity

import androidx.appcompat.app.AppCompatActivity;import android.content.ContentValues;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.ListView;import android.widget.SimpleAdapter;import android.widget.Toast;import java.util.ArrayList;import java.util.HashMap;import java.util.Map; public class AddDanciActivity extends AppCompatActivity {     private EditText wordedit;    private EditText yisiedit;    private Button add_btn;    private Button quxiao_btn;    private Button shanchu_btn;    private ListView listview;    private DBOpenHelper dbOpenHelper;//声明     @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_add_danci);        dbOpenHelper = new DBOpenHelper(AddDanciActivity.this, "db_dict", null, 1);//实例化,创建数据库        wordedit = (EditText) findViewById(R.id.addword_edit);        yisiedit = (EditText) findViewById(R.id.fanyiword_edit);        listview = (ListView) findViewById(R.id.add_list);        add_btn = (Button) findViewById(R.id.add_btn);        quxiao_btn = (Button) findViewById(R.id.quxiao_btn);        shanchu_btn = (Button) findViewById(R.id.shanchu_btn);        quxiao_btn.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Toast.makeText(AddDanciActivity.this, "返回单词本主界面", Toast.LENGTH_SHORT).show();                finish();            }        });         shanchu_btn.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                String word = wordedit.getText().toString();                String ys = yisiedit.getText().toString();                if (word.equals("")) {                    Toast.makeText(AddDanciActivity.this, "填写的单词为空", Toast.LENGTH_SHORT).show();                } else {                    deleteData(dbOpenHelper.getReadableDatabase(), word);                    Toast.makeText(AddDanciActivity.this, "删除成功", Toast.LENGTH_SHORT).show();                }            }        });         add_btn.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                String word = wordedit.getText().toString();                String ys = yisiedit.getText().toString();                if (word.equals("") || ys.equals("")) {                    Toast.makeText(AddDanciActivity.this, "填写的单词或解释为空", Toast.LENGTH_SHORT).show();                } else {                    insertData(dbOpenHelper.getReadableDatabase(), word, ys);//插入生词                    Toast.makeText(AddDanciActivity.this, "添加生词成功", Toast.LENGTH_SHORT).show();                    renew();                }            }        });    }     //插入数据的方法    private void insertData(SQLiteDatabase sqLiteDatabase, String word, String ys) {        ContentValues values = new ContentValues();        values.put("word", word);//保存单词        values.put("detail", ys);        sqLiteDatabase.insert("tb_dict", null, values);//执行插入操作        renew();    }     private void deleteData(SQLiteDatabase sqLiteDatabase, String word) {        ContentValues values = new ContentValues();        String[] args = {String.valueOf(word)};        sqLiteDatabase.delete("tb_dict", "word=?", args);//执行删除操作        renew();    }      @Override    protected void onDestroy() {        super.onDestroy();        if (dbOpenHelper != null) {            dbOpenHelper.close();//关闭        }    }     public void renew() {        Cursor cursor = dbOpenHelper.getReadableDatabase().query("tb_dict", null, null, null, null, null, null);        ArrayList<Map<String, String>> resultList = new ArrayList<Map<String, String>>();        while (cursor.moveToNext()) {            Map<String, String> map = new HashMap<String, String>();            map.put("word", cursor.getString(1));            map.put("interpret", cursor.getString(2));            resultList.add(map);        }         if (resultList == null || resultList.size() == 0) {            Toast.makeText(AddDanciActivity.this, "很遗憾,没有相关记录!", Toast.LENGTH_SHORT).show();        } else {            SimpleAdapter simpleAdapter = new SimpleAdapter(AddDanciActivity.this, resultList, R.layout.item, new String[]{"word", "interpret"            }, new int[]{R.id.textView, R.id.textView2});            listview.setAdapter(simpleAdapter);        }    }     @Override    protected void onStart() {        super.onStart();        renew();    }}

DBOpenHelper.java

用到的是SQLite数据库,Android自带了一种轻量级数据库,使用非常方便。

import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.util.Log;import androidx.annotation.Nullable; public class DBOpenHelper extends SQLiteOpenHelper {     final String CREATE_TABLE_SQL = "create table tb_dict (_id integer primary key autoincrement,word,detail)";//定义创建表的     public DBOpenHelper(@Nullable Context context, @Nullable String name, @Nullable SQLiteDatabase.CursorFactory factory, int version) {        super(context, name, null, version);    }     @Override    public void onCreate(SQLiteDatabase db) {        db.execSQL(CREATE_TABLE_SQL);//创建单词的数据表    }     @Override    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {        Log.i("词典", "--版本更新" + oldVersion + "-->" + newVersion);    }}

效果图

基于Java怎样实现一个简单的单词本Android App

Java的特点有哪些

Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。2.Java具有简单性、面向对象、分布式、安全性、平台独立与可移植性、动态性等特点。3.使用Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

关于基于Java怎样实现一个简单的单词本Android App就分享到这里啦,希望上述内容能够让大家有所提升。如果想要学习更多知识,请大家多多留意小编的更新。谢谢大家关注一下编程网网站!

免责声明:

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

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

基于Java怎样实现一个简单的单词本Android App

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

基于Java怎样实现一个简单的单词本Android App

这篇文章跟大家分析一下“基于Java怎样实现一个简单的单词本Android App”。内容详细易懂,对“基于Java怎样实现一个简单的单词本Android App”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮
2023-06-29

Android怎么实现一个简单的单词本

这篇文章主要介绍了Android怎么实现一个简单的单词本的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android怎么实现一个简单的单词本文章都会有所收获,下面我们一起来看看吧。本文基于Java实现了一个简单
2023-06-29

基于Java快速实现一个简单版的HashMap详解

这篇文章主要为大家详细介绍了如何利用Java简单实现一个底层数据结构为数组 + 链表的HashMap,不考虑链表长度超过8个时变为红黑树的情况,需要的可以参考一下
2023-02-08

基于Python怎样实现简单的定时器

基于Python怎样实现简单的定时器,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。所谓定时器,是指间隔特定时间执行特定任务的机制。几乎所有的编程语言,都有定时器
2023-06-22

基于C++实现一个简单的音乐系统

C++中的Beep函数是一个发出嗡鸣声的函数,本文将利用这个函数实现制作一个简单的声音系统。文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
2022-12-29

基于Python实现一个简单的银行转账操作

前言 在进行一个应用系统的开发过程中,从上到下一般需要四个构件:客户端-业务逻辑层-数据访问层-数据库,其中数据访问层是一个底层、核心的技术。而且在实际开发中,数据库的操作也就是说数据访问层都是嵌套在其他语言中的,其是编程的核心。本文面向的
2022-06-04

基于 Kotlin 实现一个简单的 TCP 自定义协议

想要成为一名优秀的Android开发,你需要一份完备的 知识体系,在这里,让我们一起成长为自己所想的那样~。
基于 Kotlin 实现一个简单的 TCP 自定义协议
2024-04-23

基于Python实现一个简单的学生管理系统

这篇文章主要为大家详细介绍了如何利用python实现简单的学生信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2022-12-31

使用java怎么实现一个英文文本单词翻译器

今天就跟大家聊聊有关使用java怎么实现一个英文文本单词翻译器,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。直接上代码:package fanyi;import java.io.Bu
2023-05-31

怎么用java实现一个简单的序列化

小编给大家分享一下怎么用java实现一个简单的序列化,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! package test;import Java.io.*;
2023-06-03

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录