编写add record模块的功能
Add record 布局设计
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/others">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/add_record_relativelayout01">
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:hint="@string/add_record_edittext01_hint"
android:layout_alignParentLeft="true"
android:id="@+id/add_record_edittext01"/>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/add_record_relativelayout02"
android:layout_below="@id/add_record_edittext01" >
<TextView
android:layout_width="80dip"
android:layout_height="wrap_content"
android:layout_below="@id/add_record_edittext01"
android:layout_alignParentLeft="true"
android:text="@string/add_record_textview01_account"
android:id="@+id/add_record_textview01" />
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/add_record_textview01"
android:layout_below="@id/add_record_edittext01"
android:layout_marginLeft="5dip"
android:hint="@string/add_record_edittext02_hint"
android:id="@+id/add_record_edittext02"/>"
</RelativeLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/add_record_relativelayout03"
android:layout_below="@id/add_record_relativelayout02" >
<TextView
android:layout_width="80dip"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:text="@string/add_record_textview02_password"
android:id="@+id/add_record_textview02" />
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/add_record_textview02"
android:layout_marginLeft="5dip"
android:hint="@string/add_record_edittext03_hint"
android:id="@+id/add_record_edittext03"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/add_record_relativelayout04"
android:layout_below="@id/add_record_relativelayout03" >
<TextView
android:layout_width="80dip"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:text="@string/add_record_textview03_reminds"
android:id="@+id/add_record_textview03" />
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minLines="2"
android:layout_toRightOf="@id/add_record_textview03"
android:layout_marginLeft="5dip"
android:hint="@string/add_record_edittext04_hint"
android:id="@+id/add_record_edittext04"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="30dip"
android:id="@+id/add_record_relativelayout05"
android:layout_below="@id/add_record_relativelayout04" >
<Button
android:layout_height="wrap_content"
android:layout_width="100dip"
android:layout_marginLeft="80dip"
android:id="@+id/add_record_add"
android:text="@string/add_record_button_add"/>
<Button
android:layout_height="wrap_content"
android:layout_width="100dip"
android:layout_toRightOf="@id/add_record_add"
android:id="@+id/add_record_back"
android:text="@string/add_record_button_back"
android:layout_marginLeft="10dip"/>
</RelativeLayout>
</RelativeLayout>
</LinearLayout>
编辑add record.java的内容
public class add_record extends Activity {
private Button add_record_buttonadd,add_record_buttonback;
private EditText add_record_edittext01,add_record_edittext02,add_record_edittext03,add_record_edittext04;
private Context context;
private int back=0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.add_record);
add_record_buttonadd=(Button) findViewById(R.id.add_record_add);
add_record_buttonback=(Button) findViewById(R.id.add_record_back);
add_record_edittext01=(EditText) findViewById(R.id.add_record_edittext01);
add_record_edittext02=(EditText) findViewById(R.id.add_record_edittext02);
add_record_edittext03=(EditText) findViewById(R.id.add_record_edittext03);
add_record_edittext04=(EditText) findViewById(R.id.add_record_edittext04);
base helperBase=new base(add_record.this, "information.db");
add_record_buttonadd.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
AddData();
}
});
add_record_buttonback.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent =new Intent();
intent.setClass(add_record.this,AndroidcaseActivity.class);
startActivity(intent);
add_record.this.finish();
}
});
}
public void AddData(){
base base01=new base(this.getBaseContext(),"information.db");
String user_keyword=add_record_edittext01.getText().toString();
String user_account=add_record_edittext02.getText().toString();
String user_password=add_record_edittext03.getText().toString();
String user_remind=add_record_edittext04.getText().toString();
if (user_keyword.equals("")||user_account.equals("")||user_password.equals("")) {
Toast.makeText(this, "input basic info!", Toast.LENGTH_SHORT).show();
return;
}
base01.add(user_keyword, user_account, user_password, user_remind);
Toast.makeText(this, "Add Successed!", Toast.LENGTH_SHORT).show();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {//back退出
if(keyCode == KeyEvent.KEYCODE_BACK){
back++;
switch (back) {
case 1:
Toast.makeText(add_record.this, "再按一次退出程序", Toast.LENGTH_LONG).show();
break;
case 2:
back = 0;//初始化back值
add_record.this.finish();
android.os.Process.killProcess(android.os.Process.myPid());//关闭进程
break;
}
return true;//设置成false让back失效 ,true表示 不失效
}
else{
return super.onKeyDown(keyCode, event);
}
}
}
Search record的页面布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/others">
<RelativeLayout
android:id="@+id/add_record_relativelayout01"
android:layout_width="468dp"
android:layout_height="750dp" >
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/search_relativelayout02">
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/search_textview01_search"
android:layout_alignParentLeft="true"
android:id="@+id/search_textview01"/>
<EditText
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_below="@id/search_textview01"
android:layout_alignParentLeft="true"
android:hint="@string/search_edittext01_hint"
android:id="@+id/search_edittext01"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/search_relativelayout02"
android:layout_marginTop="20dip"
android:id="@+id/search_relativelayout03">
<Button
android:layout_height="wrap_content"
android:layout_width="100dip"
android:layout_marginLeft="100dip"
android:id="@+id/search_button01"
android:text="@string/search_button01_search"/>
<Button
android:layout_height="wrap_content"
android:layout_width="100dip"
android:layout_toRightOf="@id/search_button01"
android:id="@+id/search_button02"
android:text="@string/search_button02_back"
android:layout_marginLeft="10dip"/>
</RelativeLayout>
</RelativeLayout>
</LinearLayout>
public class search_record extends Activity {
private Button button_search,button_back;
private int back=0;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.query);
button_search=(Button) findViewById(R.id.search_button01);
button_back=(Button) findViewById(R.id.search_button02);
final EditText searchText=(EditText) findViewById(R.id.search_edittext01);
button_search.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
Intent intent=new Intent();
Bundle bundle=new Bundle();
bundle.putString("searchkey", searchText.getText().toString());
intent.setClass(search_record.this, search_result.class);
intent.putExtras(bundle);
startActivity(intent);
search_record.this.finish();
}
});
button_back.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
Intent intent=new Intent();
intent.setClass(search_record.this, AndroidcaseActivity.class);
startActivity(intent);
search_record.this.finish();
}
});
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {//back退出
if(keyCode == KeyEvent.KEYCODE_BACK){
back++;
switch (back) {
case 1:
Toast.makeText(search_record.this, "再按一次退出程序", Toast.LENGTH_LONG).show();
break;
case 2:
back = 0;//初始化back值
search_record.this.finish();
android.os.Process.killProcess(android.os.Process.myPid());//关闭进程
break;
}
return true;//设置成false让back失效 ,true表示 不失效
}
else{
return super.onKeyDown(keyCode, event);
}
}
}
全部显示存储的密码
布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/others">
<RelativeLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/check_relativelayout00">
<Button
android:layout_height="35dip"
android:layout_width="60dip"
android:text="返回"
android:layout_alignParentLeft="true"
android:id="@+id/preview_item_back"/>"
<Button
android:layout_height="35dip"
android:layout_width="60dip"
android:text="首页"
android:layout_alignParentRight="true"
android:id="@+id/preview_item_index"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/preview_relativelayout01">"
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:id="@+id/preview_textview01"
android:text="the records are as follows:"/>
<ListView
android:id="@+id/preview_listview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/preview_textview01" />
</RelativeLayout>
</LinearLayout>
public class query extends Activity {
Intent intent;
ListView list;
String id,keyword,account,password,remind;//查询到的字段
Cursor cursor;
String indexID;
private Button backButton,indexbButton;
HashMap<String,Object> map;
base helper;
ArrayList<String> idList = new ArrayList<String>();
private int back = 0;//判断按几次back
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.preview);
list = (ListView)findViewById(R.id.preview_listview);//拿到ListView控件
list.setOnItemClickListener(new ListOnItem());//ListView点击监听器
list.setOnItemLongClickListener(new ListOnItemLong());
list.setOnCreateContextMenuListener(new ListOnCreate());//ListView长按监听器
helper = new base(query.this,"information.db");
SQLiteDatabase db = helper.getReadableDatabase();
cursor = db.query("information", new String[]{"ID","keyword","account","password","remind"}, null, null, null, null, "ID");//查询数据
ArrayList<HashMap<String,Object>> listItem = new ArrayList<HashMap<String,Object>>();//创建ListView
while(cursor.moveToNext()){ //判断下一个下标是否有内容
id = cursor.getString(cursor.getColumnIndex("ID"));//ID
keyword = cursor.getString(cursor.getColumnIndex("keyword"));
account = cursor.getString(cursor.getColumnIndex("account"));
password = cursor.getString(cursor.getColumnIndex("password"));
remind = cursor.getString(cursor.getColumnIndex("remind"));
idList.add(id);
backButton=(Button)findViewById(R.id.preview_item_back);
backButton.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
Intent intent=new Intent();
intent.setClass(query.this, search_record.class);
startActivity(intent);
query.this.finish();
}
});
indexbButton=(Button)findViewById(R.id.preview_item_index);
indexbButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent=new Intent();
intent.setClass(query.this, AndroidcaseActivity.class);
startActivity(intent);
query.this.finish();
}
});
map = new HashMap<String,Object>();
map.put("Itemkeyword", "检索关键字:"+keyword);
map.put("Itemaccount", "账号:"+account);
map.put("Itempassword","密码:"+ password);
map.put("Itemremind","备注:"+ remind);
listItem.add(map);
}
SimpleAdapter listAdapter = new SimpleAdapter(query.this,listItem, R.layout.preview_item,new String[]{"Itemkeyword","Itemaccount","Itempassword","Itemremind"},new int[]{R.id.check_textview01,R.id.check_textview02,R.id.check_textview03,R.id.check_textview04});
list.setAdapter(listAdapter);//添加到适配器并且显示
}
class appendButton implements OnClickListener{//添加按钮监听器
public void onClick(View v) {//点击按钮后跳到输入页面(Append.java)
intent = new Intent(query.this, add_record.class);
startActivity(intent);
query.this.finish();
}
}
class ListOnItem implements OnItemClickListener{//ListView点击监听器
public void onItemClick(AdapterView<?> adapterView, View v, int position,long arg3) {//index是list中被选中元素的下标,从0开始
indexID = idList.get(position);
// check();//点击打开
}
}
class ListOnItemLong implements OnItemLongClickListener{//ListView长按监听器
public boolean onItemLongClick(AdapterView<?> parent, View view,
int position, long id) {
indexID = idList.get(position);
return false;
}
}
class ListOnCreate implements OnCreateContextMenuListener{//ListView长按监听器弹出菜单
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
menu.setHeaderTitle("操作");
//menu.add(0,0,0,"打开");
menu.add(0,1,0,"删除");
//menu.add(0,2,0,"编辑");
}
}
public boolean onContextItemSelected(MenuItem item) {//长按弹出菜单响应函数
switch (item.getItemId()) {
/*case 0:
check();//长按菜单打开
break;*/
case 1://删除
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("delete from information where ID="+"'"+indexID+"'"+";");
intent = new Intent(query.this, query.class);
startActivity(intent);
query.this.finish();
/*case 2://编辑
intent = new Intent(query.this,update.class);
intent.putExtra("Index", indexID);
startActivity(intent);
query.this.finish();
break;*/
}
return super.onContextItemSelected(item);
}
/*public void check(){//查看、打开
intent = new Intent(query.this,check.class);
Bundle bundle=new Bundle();
bundle.putString("Index", indexID);
intent.putExtras(bundle);
startActivity(intent);
}*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {//back退出
if(keyCode == KeyEvent.KEYCODE_BACK){
back++;
switch (back) {
case 1:
Toast.makeText(query.this, "再按一次退出程序", Toast.LENGTH_LONG).show();
break;
case 2:
back = 0;//初始化back值
query.this.finish();
android.os.Process.killProcess(android.os.Process.myPid());//关闭进程
break;
}
return true;//设置成false让back失效 ,true表示 不失效
}
else{
return super.onKeyDown(keyCode, event);
}
}
}