移动开发大作业————密码保险箱(添加,查找,显示全部编写add record模块的功能)

编写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);
		}
	}
}


猜你喜欢

转载自blog.csdn.net/asdaosidasu/article/details/53647795