一 对话框(Dialog) 对话框通常有消息提示框、确定取消框、没有安全的提示语 1 消息框(确定或返回): new Builder(MainActivity.this).setTitle("白社会").setIcon(R.drawable.logoico) .setMessage("基于搜狐网的应用,所有数据均来自搜狐。当前版本V1.0,版权所有?2010") .setNegativeButton("返回", new OnClickListener(){ public void onClick(DialogInterface dialog, int which) { } }).show(); break; 2 确定取消框(退出系统提示): new Builder(MainActivity.this).setTitle("提示").setMessage("是否退出?") .setPositiveButton("确定", new OnClickListener() { public void onClick(DialogInterface dialog, int which) { finish(); } }).setNegativeButton("取消", new OnClickListener() { public void onClick(DialogInterface dialog, int which) { } }).show(); 3 没有按钮的一句话消息提示() if (mother_blood.equals("")) { Toast.makeText(XueXing.this, "请选择妈妈的血型!", Toast.LENGTH_SHORT).show(); } else if (father_blood.equals("")) { Toast.makeText(XueXing.this, "请选择爸爸的血型!", Toast.LENGTH_SHORT).show(); 二 添加Menu菜单 1普通菜单(关于、帮助、退出) public boolean onCreateOptionsMenu(Menu menu) { menu.add(1, 1, 1, R.string.help).setIcon(android.R.drawable.ic_menu_help); menu.add(1, 2, 2, R.string.about).setIcon(android.R.drawable.ic_menu_info_details); menu.add(1, 3, 3, R.string.exit).setIcon(android.R.drawable.ic_menu_close_clear_cancel); return super.onCreateOptionsMenu(menu); } 2长按菜单(类似右键菜单) onCreate中注册菜单 registerForContextMenu(mylist); 另外两个函数要写 @Override public boolean onContextItemSelected(MenuItem item) { // TODO Auto-generated method stub switch(item.getItemId()){ case MENU_DETAIL: break; case MENU_SURE: break; } return super.onContextItemSelected(item); } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { // TODO Auto-generated method stub menu.add(0,MENU_DETAIL,0,"查看详细信息"); menu.add(0,MENU_SURE,0,"确认日期"); menu.setHeaderTitle("操作"); super.onCreateContextMenu(menu, v, menuInfo); } 三 传送数据到新意图,类似于mobile的 Form.show() 带参数传递,通过Intent和Bundle Intent intent = new Intent(); intent.setClass(YiMiao.this, YiMiaoDetail.class); Bundle bundle = new Bundle(); bundle.putString("YIMIAO_ID", id); intent.putExtras(bundle); startActivity(intent); 接受参数 ym_id=bundle.getString("YIMIAO_ID"); 另外,一种方法是不通过Bundle,setClass setString setInt 再通过this.getIntent().getDate() 取到参数 四 信息提醒 提醒形式:铃声 震动 闪灯 状态栏等 五 日志调试 import android.util.Log; Log.i("id:", id); 日志方便大家调试和跟踪程序。 Log.i(Verbose) 详细信息 Log.i(Debug) 调试信息 Log.i(Info) 通知信息 Log.i(Warn) 警告信息 Log.i(Error) 错误信息 六 SQLite数据库 1 SQLite OpenHelper DatabaseHelper 继承于 SQLiteOpenHelper 用来创建和管理数据库 onCreate和onUpgrade封装了创建和更新表的方法 2 增删改查CRUD 3 数据库如何部署到真机? 这个是好多开发者要遇到的实际问题,也是目前还没发现好的解决办法,至少我还没搜到如何解决部署安装。 结束语 借助一个项目学习开发android程序,吃苦头中有所总结和醒悟,特意总结下来,希望对己和他人有所助。 首先,应该学习android开发的基础知识,有所了解,方法属性如此之多,想要全记住没必要,重点是理解知识点,融会贯通。 比如,常用的知识点菜单、对话框、View视图、数据传送、SQLite数据库相关操纵等 第二,有些错误,通常是自己语法或基础知识点掌握不牢,应该加强理解和实践。 修改BUG思路: 1 规范命名,养成好习惯。检查string 和layout 中命名是否缺少,是否正确。 2 检查AndroidManifest.xml是否注册了activity 3 有关方法和属性是否使用得当。 4 数据库相关,语句是否正确,数据库是否打开忘关闭或关闭了又要用。 第三,要在项目开发中逐步提高重实践重思想,只是一味看书学习,到头来也是纸上谈兵,眼高手低。 更多信息请访问: www.orietech.com 新浪微博:欧瑞信息科技 |
Android项目开发技术总结
最新推荐文章于 2024-09-25 09:53:20 发布