android小項目—生詞本

來源:互聯網
上載者:User

1.首先寫出一個資料庫協助類,如下

package com.example.demonewword;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;public class MyDataBaseHelper extends SQLiteOpenHelper {public MyDataBaseHelper(Context context, String name, int version) {super(context, name, null, version);}@Overridepublic void onCreate(SQLiteDatabase db) {String sql = "CREATE TABLE dict(_id INTEGER PRIMARY KEY autoincrement ,word,detail)";db.execSQL(sql);}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}}

2.寫出布局檔案,由於這個程式側重練習方面的,所以布局比較簡單,如下

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <EditText        android:id="@+id/editText1"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:ems="10"        android:hint="請輸入單詞" >        <requestFocus />    </EditText>    <EditText        android:id="@+id/editText2"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:ems="10"        android:hint="請輸入單詞釋義" />    <Button        android:id="@+id/button1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="添加生詞" />    <EditText        android:id="@+id/editText3"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:ems="10"        android:hint="請輸入要尋找的單詞" />    <Button        android:id="@+id/button2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="尋找" />    <ListView        android:id="@+id/listView1"        android:layout_width="match_parent"        android:layout_height="wrap_content" >    </ListView></LinearLayout>

3.listview中還需要一個布局檔案,line.xml檔案如下

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <TextView        android:id="@+id/textView2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="Large Text"        android:textAppearance="?android:attr/textAppearanceLarge" />    <TextView        android:id="@+id/textView1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="Large Text"        android:textAppearance="?android:attr/textAppearanceLarge" /></LinearLayout>

4.程式主要java代碼如下

package com.example.demonewword;import java.util.ArrayList;import java.util.HashMap;import java.util.Map;import android.app.Activity;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.ListView;import android.widget.SimpleAdapter;import android.widget.Toast;public class MainActivity extends Activity {private EditText word;private EditText wordMean;private Button searchBut;private Button insertBut;private EditText input;private ListView listView;private MyDataBaseHelper dbHelper;private SQLiteDatabase sqlDB;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);word = (EditText) findViewById(R.id.editText1);wordMean = (EditText) findViewById(R.id.editText2);input = (EditText) findViewById(R.id.editText3);insertBut = (Button) findViewById(R.id.button1);searchBut = (Button) findViewById(R.id.button2);listView = (ListView) findViewById(R.id.listView1);dbHelper = new MyDataBaseHelper(MainActivity.this, "myDict.db3", 1);insertBut.setOnClickListener(new OnClickListener() {public void onClick(View v) {insertMethod();}});searchBut.setOnClickListener(new OnClickListener() {public void onClick(View v) {searchMethod();}});}// 插入單詞protected void insertMethod() {String strWord = word.getText().toString();String strMean = wordMean.getText().toString();// 插入生詞記錄sqlDB = dbHelper.getReadableDatabase();sqlDB.execSQL("INSERT INTO dict VALUES(NULL,?,?)", new String[] {strWord, strMean });Toast.makeText(getApplicationContext(), "插入成功", Toast.LENGTH_LONG).show();}// 尋找單詞protected void searchMethod() {String key = input.getText().toString();Cursor cursor = dbHelper.getReadableDatabase().rawQuery("SELECT * FROM dict WHERE word LIKE ? OR detail LIKE ?",new String[] { "%" + key + "%", "%" + key + "%" });ArrayList<Map<String, String>> result = new ArrayList<Map<String, String>>();while (cursor.moveToNext()) {Map<String, String> map = new HashMap<String, String>();map.put("word", cursor.getString(1));map.put("detail", cursor.getString(2));result.add(map);}SimpleAdapter simpleAdapter = new SimpleAdapter(getApplicationContext(), result, R.layout.line, new String[] {"word", "detail" }, new int[] { R.id.textView1,R.id.textView2 });listView.setAdapter(simpleAdapter);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.activity_main, menu);return true;}}

至此,程式可以完美運行,成功,一個簡單的單詞記事本就出來了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.