• Android项目开发技术总结 by wellsoho


    一 对话框(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 数据库相关,语句是否正确,数据库是否打开忘关闭或关闭了又要用。
      第三,要在项目开发中逐步提高重实践重思想,只是一味看书学习,到头来也是纸上谈兵,眼高手低。

  • 相关阅读:
    POJ 2175 Evacuation Plan 费用流 负圈定理
    POJ 2983 Is the Information Reliable? 差分约束
    codeforces 420B Online Meeting
    POJ 3181 Dollar Dayz DP
    POJ Ant Counting DP
    POJ 1742 Coins DP 01背包
    中国儒学史
    产品思维30讲
    Java多线程编程核心技术
    编写高质量代码:改善Java程序的151个建议
  • 原文地址:https://www.cnblogs.com/wellsoho/p/1778934.html
Copyright © 2020-2023  润新知