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

  • 相关阅读:
    青蛙的约会
    欧拉函数
    Tarjan
    计算器的改良
    记忆化搜索
    火柴棒等式
    hdu6601 Keen On Everything But Triangle(主席树)
    P2774 方格取数(网络流)
    第四百二十七、八、九天 how can I 坚持
    第四百二十五、六天 how can I 坚持
  • 原文地址:https://www.cnblogs.com/wellsoho/p/1778934.html
Copyright © 2011-2022 走看看