Android项目开发技术总结

一 对话框(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

英文博客:orietech.wordpress.com

新浪微博:欧瑞信息科技


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值