基于Java怎样实现一个简单的单词本Android App
导读:本文共4420.5字符,通常情况下阅读需要15分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 布局设计单词本主界面<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://s... ...
音频解说
目录
(为您整理了一些要点),点击可以直达。布局设计
单词本主界面
<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns: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"><EditTextandroid: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"/><EditTextandroid: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"/><RelativeLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:layout_alignParentBottom="true"android:layout_margin="5dp"><ListViewandroid: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"/><LinearLayoutandroid:layout_height="50dp"android:layout_width="match_parent"android:id="@+id/lineLayout"android:layout_alignParentBottom="true"android:orientation="horizontal"android:gravity="center_horizontal"><Buttonandroid:layout_width="100dp"android:layout_height="50dp"android:id="@+id/add_btn"android:text="添加"/><Buttonandroid:layout_width="100dp"android:layout_height="50dp"android:layout_centerHorizontal="true"android:id="@+id/shanchu_btn"android:layout_gravity="center_vertical"android:text="删除"/><Buttonandroid:layout_width="100dp"android:layout_height="50dp"android:id="@+id/quxiao_btn"android:layout_gravity="right"android:text="取消"/></LinearLayout></RelativeLayout></LinearLayout>
代码
AddDanciActivity.java
单词本主界面的Activity
importandroidx.appcompat.app.AppCompatActivity;importandroid.content.ContentValues;importandroid.database.Cursor;importandroid.database.sqlite.SQLiteDatabase;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.ListView;importandroid.widget.SimpleAdapter;importandroid.widget.Toast;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.Map;publicclassAddDanciActivityextendsAppCompatActivity{privateEditTextwordedit;privateEditTextyisiedit;privateButtonadd_btn;privateButtonquxiao_btn;privateButtonshanchu_btn;privateListViewlistview;privateDBOpenHelperdbOpenHelper;//声明@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_add_danci);dbOpenHelper=newDBOpenHelper(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(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){Toast.makeText(AddDanciActivity.this,"返回单词本主界面",Toast.LENGTH_SHORT).show();finish();}});shanchu_btn.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){Stringword=wordedit.getText().toString();Stringys=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(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){Stringword=wordedit.getText().toString();Stringys=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();}}});}//插入数据的方法privatevoidinsertData(SQLiteDatabasesqLiteDatabase,Stringword,Stringys){ContentValuesvalues=newContentValues();values.put("word",word);//保存单词values.put("detail",ys);sqLiteDatabase.insert("tb_dict",null,values);//执行插入操作renew();}privatevoiddeleteData(SQLiteDatabasesqLiteDatabase,Stringword){ContentValuesvalues=newContentValues();String[]args={String.valueOf(word)};sqLiteDatabase.delete("tb_dict","word=?",args);//执行删除操作renew();}@OverrideprotectedvoidonDestroy(){super.onDestroy();if(dbOpenHelper!=null){dbOpenHelper.close();//关闭}}publicvoidrenew(){Cursorcursor=dbOpenHelper.getReadableDatabase().query("tb_dict",null,null,null,null,null,null);ArrayList<Map<String,String>>resultList=newArrayList<Map<String,String>>();while(cursor.moveToNext()){Map<String,String>map=newHashMap<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{SimpleAdaptersimpleAdapter=newSimpleAdapter(AddDanciActivity.this,resultList,R.layout.item,newString[]{"word","interpret"},newint[]{R.id.textView,R.id.textView2});listview.setAdapter(simpleAdapter);}}@OverrideprotectedvoidonStart(){super.onStart();renew();}}
DBOpenHelper.java
用到的是SQLite数据库,Android自带了一种轻量级数据库,使用非常方便。
importandroid.content.Context;importandroid.database.sqlite.SQLiteDatabase;importandroid.database.sqlite.SQLiteOpenHelper;importandroid.util.Log;importandroidx.annotation.Nullable;publicclassDBOpenHelperextendsSQLiteOpenHelper{finalStringCREATE_TABLE_SQL="createtabletb_dict(_idintegerprimarykeyautoincrement,word,detail)";//定义创建表的publicDBOpenHelper(@NullableContextcontext,@NullableStringname,@NullableSQLiteDatabase.CursorFactoryfactory,intversion){super(context,name,null,version);}@OverridepublicvoidonCreate(SQLiteDatabasedb){db.execSQL(CREATE_TABLE_SQL);//创建单词的数据表}@OverridepublicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){Log.i("词典","--版本更新"+oldVersion+"-->"+newVersion);}}
效果图
Java的特点有哪些
Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。2.Java具有简单性、面向对象、分布式、安全性、平台独立与可移植性、动态性等特点。3.使用Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:
基于Java怎样实现一个简单的单词本Android App的详细内容,希望对您有所帮助,信息来源于网络。