大佬教程收集整理的这篇文章主要介绍了Android+SQLite数据库实现的生词记事本功能实例,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
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); //@L_772_14@提示信息 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(); //退出程序时@L_195_26@myDatabaseHelper里的sqliteDatabase if (dbHelper != null) { dbHelper.close(); } } }
<!--?xml version="1.0" encoding="utf-8"?--> <LinearLayout xmlns:android="http://@R_674_10906@mas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <EditText android:id="@+id/word" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@String/input"/> <EditText android:id="@+id/detail" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@String/input" android:lines="3"/> <Button android:id="@+id/insert" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@String/insert"/> <EditText android:id="@+id/key" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@String/record"/> <Button android:id="@+id/search" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@String/search"/> <ListView android:id="@+id/show" android:layout_width="fill_parent" android:layout_height="fill_parent"/> </LinearLayout>
package example.com.myapplication; import android.app.Activity; import android.content.Intent; import android.os.bundle; import android.widget.ListView; import android.widget.SimpleAdapter; import java.util.List; import java.util.Map; public class ResultActivity extends Activity { @Override public void onCreate(Bundle savedInstanceStatE) { super.onCreate(savedInstanceStatE); setContentView(R.layout.popup); ListView listView = (ListView)findViewById(R.id.show); Intent intent = geTintent(); //获取该intent所携带的数据 Bundle data = intent.getExtras(); //从Bundle数据包中取出数据 @SuppressWarnings("unchecked") List<Map<String,String>> list = (List<Map<String,String>>)data.getserializable("data"); //将List封装成SimpleAdapter SimpleAdapter adapter = new SimpleAdapter( ResultActivity.this,list,R.layout.ine,new String[]{"word","detail"},new int[]{R.id.my_title,R.id.my_content}); //填充ListView listView.setAdapter(adapter); } }
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://@R_674_10906@mas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/fragment"> <TextView android:id="@+id/my_title" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/my_content" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://@R_674_10906@mas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/fragment"> <TextView android:id="@+id/my_title" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/my_content" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
package example.com.myapplication; import android.content.Context; import android.database.sqlite.sqliteDatabase; import android.database.sqlite.sqliteOpenHelper; public class MyDatabaseHelper extends sqliteOpenHelper { final String create_tABLE_sql = "create table Dict(_id INTEGER PRIMary key autoincrement,detail)"; public MyDatabaseHelper(Context context,String name,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) { System.out.println("--------onupdate Called--------" + oldVersion + "--->" + newVersion); } }
以上是大佬教程为你收集整理的Android+SQLite数据库实现的生词记事本功能实例全部内容,希望文章能够帮你解决Android+SQLite数据库实现的生词记事本功能实例所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。