安卓记事本

时间:2018-05-28 09:35:46
【文件属性】:

文件名称:安卓记事本

文件大小:2.53MB

文件格式:ZIP

更新时间:2018-05-28 09:35:46

安卓记事本

/* * 这个类主要包括五个点击事件,分别为 * 1,ListView的长按点击事件,用来AlertDialog来判断是否删除数据。 * 2,ListView的点击事件,跳转到第二个界面,用来修改数据 * 4,menu里的退出事件,用来退出程序 * 5,menu里的新建事件,用来新建便签 * 6,对返回按钮监听退出程序 */ public class MainActivity extends Activity { // 定义帮助类 private MyOpenHelper notesDB; // 定义数据库类 private SQLiteDatabase dbReader;// 读取 // 定义组件 private ListView lv; private Button bt; private TextView tvBody; private TextView tvTitle; // 数据库表名称 private static final String TABLE_NAME = "data"; // 定义选项菜单 private static final int DB_ISNERT = 0x11; private static final int EXIT = 0x12; // 定义上下文菜单 private static final int DB_DELETE = 0x22; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bt = (Button) findViewById(R.id.button1); // 实例化数据库对象 notesDB = new MyOpenHelper(this); // 创建数据库 dbReader = notesDB.getWritableDatabase(); // 取出组件 lv = (ListView) findViewById(R.id.listView1); // 设置监听 // 注册ListView上下文菜单 this.registerForContextMenu(lv); // 一打开软件就进行数据库查询把数据库中的内容查询显示 queryData(); // 短按时跳到第二个界面进行查看,修改 lv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { // TODO Auto-generated method stub Cursor c = dbReader.query(TABLE_NAME, null, null, null, null, null, null); c.moveToPosition(position);// 移动光标到一个绝对的位置 Intent i = new Intent(MainActivity.this, SecondAtivity.class); String s = String.valueOf(id); i.putExtra(SecondAtivity.mRowId, s); i.putExtra(SecondAtivity.KEY_BODY, c.getString(c.getColumnIndex(SecondAtivity.KEY_BODY))); i.putExtra(SecondAtivity.KEY_TITLE, c.getString(c.getColumnIndex(SecondAtivity.KEY_TITLE))); // 把数据库中的内容传到SecondAtivity startActivityForResult(i, 1); } }); } /** * 填充ListView */ public void queryData() { // 游标 查询数据库 Cursor cursor = dbReader.query(TABLE_NAME, null, null, null, null, null, null); // 启动管理游标 this.startManagingCursor(cursor); // 游标适配器 SimpleCursorAdapter adapter = new SimpleCursorAdapter( // 错误 MainActivity.this, R.layout.adapter_listview, cursor, new String[] { "title", "time" }, new int[] { R.id.text1, R.id.text2 }); // 设置适配器 lv.setAdapter(adapter); } /** * 选项菜单 */ @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(0, DB_ISNERT, 0, "添加记录"); menu.add(0, EXIT, 0, "退出程序"); return super.onCreateOptionsMenu(menu); } /** * 选项菜单选择 */ @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case DB_ISNERT: // 跳转AddNotepad界面 Intent intent = new Intent(MainActivity.this, SecondAtivity.class); startActivityForResult(intent, 0); break; case EXIT: this.exitDialog(); break; } return super.onOptionsItemSelected(item); } public void exitDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle("退出系统").setMessage("确定退出系统吗?") .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { MainActivity.this.finish(); } }).setNegativeButton("取消", null).create(); builder.show(); } /** * Back键监听 */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { this.exitDialog(); } return false; } /** * 删除 */ public void deleteData(final long id) { AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle("删除内容").setMessage("确定删除吗?") .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // 删除数据 dbReader.delete(TABLE_NAME, "_id=?", new String[] { String.valueOf(id) }); // 删除后显示数据 queryData(); } }).setNegativeButton("取消", null).create(); builder.show(); } /** * 上下文菜单 */ @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { menu.setHeaderTitle("信息操作"); menu.add(0, DB_DELETE, 0, "删除"); super.onCreateContextMenu(menu, v, menuInfo); } /** * 上下文菜单选择 */ @Override public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()) { case DB_DELETE: // 取得选项信息 AdapterContextMenuInfo menuInfo = (AdapterContextMenuInfo) item .getMenuInfo(); // 传递ID this.deleteData(menuInfo.id); break; } return super.onContextItemSelected(item); } } /* *用来编辑日记 *主要包括一个方法,savaData用来保存数据; */ public class SecondAtivity extends Activity { public static final String KEY_TITLE = "title"; public static final String KEY_BODY = "body"; public static final String KEY_TIME = "time"; public static final String mRowId = "mrowid"; public String id; // 定义组件 private EditText editTitle; private EditText editBody; private Button butSave; MyOpenHelper myHelper; // 数据表名称 private static final String TABLE_NAME = "data"; // 定义数据库对象 private SQLiteDatabase dbwrite; private MyOpenHelper my; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); // 实例化数据库对象 my = new MyOpenHelper(this); // 创建数据库 dbwrite = my.getWritableDatabase(); // 取得组件 butSave = (Button) findViewById(R.id.button1); editTitle = (EditText) findViewById(R.id.editText1); editBody = (EditText) findViewById(R.id.editText2); // 每一个intent都会带一个Bundle型的extras数据。 Bundle extras = getIntent().getExtras(); if (extras != null) { String title = extras.getString(SecondAtivity.KEY_TITLE); String body = extras.getString(SecondAtivity.KEY_BODY); id = extras.getString(SecondAtivity.mRowId); ; if (title != null) { editTitle.setText(title); } if (body != null) { editBody.setText(body); } } butSave.setOnClickListener(new MyOnClickListener()); } /** * 保存按钮监听方法 */ public class MyOnClickListener implements OnClickListener { @Override public void onClick(View view) { // 取出值 String mTitle = editTitle.getText().toString(); String mBody = editBody.getText().toString(); SimpleDateFormat formatter = new SimpleDateFormat ("yyyy.MM.dd HH:mm:ss"); Date curDate = new Date(System.currentTimeMillis());//获取当前时间 String times = formatter.format(curDate); // 定义ContentValues ContentValues cValues = new ContentValues(); cValues.put(KEY_BODY, mBody); cValues.put(KEY_TITLE, mTitle); cValues.put(KEY_TIME, times); // 调用方法 savaData(cValues, id); // 返回MainActivity finish(); } } /** * 保存方法 */ // 如果数据表中的id为空 public void savaData(ContentValues values, String id) { // 如果数据表中的id为空 if (id == null) { dbwrite.insert(TABLE_NAME, null, values);// 出错 dbwrite.close(); } else { dbwrite.update(TABLE_NAME, values, "_id=?", new String[] { String.valueOf(id) }); dbwrite.close(); } } }


【文件预览】:
Notepad
----bin()
--------classes.dex(1.21MB)
--------res()
--------Notepad.apk(782KB)
--------R.txt(29KB)
--------dexedLibs()
--------classes()
--------resources.ap_(389KB)
--------AndroidManifest.xml(944B)
----res()
--------drawable-ldpi()
--------values-v11()
--------menu()
--------values-v14()
--------drawable-hdpi()
--------drawable-xhdpi()
--------drawable-xxhdpi()
--------values()
--------drawable-mdpi()
--------layout()
--------values-w820dp()
----proguard-project.txt(781B)
----ic_launcher-web.png(50KB)
----assets()
----gen()
--------android()
--------com()
----src()
--------com()
----.project(843B)
----.classpath(475B)
----project.properties(607B)
----AndroidManifest.xml(944B)
----libs()
--------android-support-v4.jar(607KB)

网友评论

相关文章