设计要点:
1 SharedPreferences操作:数据存储与读出,删除功能
2 监听多按键
/* 布局文件 */ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".DataControlActivity" > <TextView android:id="@+id/ID_flower" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/flowers_list" /> <EditText android:id="@+id/ID_edit_query" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@id/ID_flower" android:inputType="text" /> <EditText android:id="@+id/ID_input" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@id/ID_edit_query" android:inputType="text" /> <Button android:id="@+id/ID_add_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/ID_input" android:layout_alignParentLeft="true" android:text="@string/add" /> <Button android:id="@+id/ID_delete_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/ID_add_button" android:layout_alignBottom="@+id/ID_add_button" android:layout_toRightOf="@+id/ID_add_button" android:text="@string/delete" /> <Button android:id="@+id/ID_query_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/ID_delete_button" android:layout_alignBottom="@+id/ID_delete_button" android:layout_toRightOf="@+id/ID_delete_button" android:text="@string/query" /> </RelativeLayout>
/* MainActivity */ package com.example.dataconrolpackage; import android.os.Bundle; import android.app.Activity; import android.content.SharedPreferences; import android.view.View; import android.widget.Button; import android.widget.EditText; public class DataControlActivity extends Activity { protected Button buttonAdd,buttonDelete; private final int CLICK_ADD = 1; private final int CLICK_DELETE = 2; private final int CLICK_QUERY = 3; private SharedPreferences spData; private SharedPreferences.Editor spEditor; private EditText m_EditInput,m_EditQuery; private int m_nCount = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.data_control_layout); m_EditInput = (EditText)findViewById(R.id.ID_input); m_EditQuery = (EditText)findViewById(R.id.ID_edit_query); BindButtonListenerWithId(buttonAdd,R.id.ID_add_button,CLICK_ADD); BindButtonListenerWithId(buttonDelete,R.id.ID_delete_button,CLICK_DELETE); BindButtonListenerWithId(buttonDelete,R.id.ID_query_button,CLICK_QUERY); spData = this.getSharedPreferences("flowers", MODE_PRIVATE); spEditor = spData.edit(); } private void BindButtonListenerWithId(Button button,int nID,int nTagID) { button = (Button)findViewById(nID); button.setOnClickListener(new ClickButtonListener()); button.setTag(nTagID); } private final class ClickButtonListener implements View.OnClickListener { @Override public void onClick(View view) { int tag = (Integer) view.getTag(); switch(tag) { case CLICK_ADD: { m_nCount++; spEditor.putString( "" + m_nCount, m_EditInput.getText().toString()); spEditor.commit(); m_EditInput.setText(""); }break; case CLICK_DELETE: spEditor.remove(m_EditQuery.getText().toString()); spEditor.commit(); break; case CLICK_QUERY: setTitle(spData.getString(m_EditQuery.getText().toString(), "未查到字符串")); break; } } } }