一 对话框(Dialog)
对话框通常有消息提示框、确定取消框、没有安全的提示语
1 消息框(确定或返回):
new Builder(MainActivity.this).setTitle("白社会").setIcon(R.drawable.logoico)
.setMessage("基于搜狐网的应用,所有数据均来自搜狐。/n当前版本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 数据库相关,语句是否正确,数据库是否打开忘关闭或关闭了又要用。
第三,要在项目开发中逐步提高重实践重思想,只是一味看书学习,到头来也是纸上谈兵,眼高手低。

更多相关文章

  1. Eclipse中解决自动补齐失效和完善Android自动补齐功能
  2. Android数据库更新并保留原来数据的实现
  3. Android系统源码数据库(mmssms.db)中几个表之间的关系.
  4. Android实现数据存储5种技术
  5. Android中数据库SQLite存储的基础知识
  6. No resource found that matches the given name (at 'thumb' wi
  7. Android(安卓)Hawk数据库 github开源项目
  8. [Accessibility] Missing contentDescription attribute on imag
  9. Android开源SlidingMenu的使用

随机推荐

  1. 整理Android的列表的一行布局
  2. android背景选择器selector用法、自定义B
  3. Android(安卓)工程在4.0基础上混淆
  4. Android: 模拟器system分区没有可用空间
  5. Android(安卓)为【apk】文件签名,增加修改
  6. 【Android(安卓)Studio】Android(安卓)St
  7. Oracle Android(安卓)Apps - 'Oracle Now
  8. Android之ListView中的分割线
  9. Android仿人人客户端(v5.7.1)——网络模块
  10. [置顶] Android中使用Movie显示gif动态图