Android初级第二次小结

    xml注释:

创新互联公司是一家专注于网站设计、成都网站设计与策划设计,临武网站建设哪家好?创新互联公司做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:临武等地区。临武做网站价格咨询:18982081108

       

        不能再标签的属性内部注释,在标签之外。

    问题:

    在控制台中出现:

       You must restart adb and Eclipse

    关掉Eclipse以及模拟器并杀死adb.exe这个进程,重新启动

    Activity   界面

         四大组件之一

    三大要素:

       1、声明一个类继承Activity

       2、关联布局文件(setContentView())

       3、必须在清单文件中注册

           

                   android:name = 包名 + 类名/>

    在清单文件中配置入口界面

    

                   

                   

               

    界面跳转:

    //打开一个界面

    // Intent intent = new Intent();//意图 :界面之间沟通的桥梁

    // intent.setClass(MainActivity.this, SecondActivity.class);

       

        Intent intent = new Intent(MainActivity.this, SecondActivity.class);

        startActivity(intent);

    //关闭界面

        finish();

    A ----> B

      步骤:

      1、在A中:

      String string = mEditText.getText().toString().trim();

        Intent intent = new Intent(MainActivity.this, SecondActivity.class);

        intent.putExtra("text", string);

        intent.putExtra("int", 1);

        intent.putExtra("boolean", true);

        startActivity(intent);

     2、在B中,onCreat();

        //得到意图

      Intent intent = getIntent();

      //从意图或获取信息

      String text = intent.getStringExtra("text");

      int i = intent.getIntExtra("int", 0);

      boolean booleanExtra = intent.getBooleanExtra("boolean", false);

    A ----> B  ----> A

      1、在A中

           String str = mEditText.getText().toString();

      Intent intent = new Intent(this, SecondActivity.class);

      intent.putExtra("str", str);

      startActivityForResult(intent , 0);//开启一个界面并等待其返回消息

     2、B界面中返回消息

       Intent data = new Intent();

      data.putExtra("return", string);

      setResult(0, data );

      finish();

     3、A界面接收消息并处理

        重写onActivityResult()

           protected void onActivityResult(int requestCode, int resultCode, Intent data) {

         super.onActivityResult(requestCode, resultCode, data);

         if(data != null)

         {

          String stringExtra = data.getStringExtra("return");

          mTextView.setText(stringExtra);

         }

        }

    

    requestCode  请求码

              用于区分当前界面的不同的请求事件

        

    resultCode 结果码

               用于区分返回消息页面的不同返回事件

    注意:不要使用魔鬼数字

    

    Activity的生命周期

        Android初级第二次小结

    创建 --- 》  运行    

                       onCreat()   ----->  onStart()  ---->  onResume()

    运行 --->  销毁

                   onPause() --->  onStop() ---->  onDestroy()

    运行  ---->  暂停(可见不可操作的时候)

                   onPause()

            恢复运行状态:

                 onResume()

    运行 ---->  停止(不可见可不可操作)

              onPause() ---》 onStop()

             恢复运行:

                onRestart()  ---- 》 onStart()  ----》 onResume

    注意:   当Activity处于暂停或者停止状态时,如果更高优先级的进程需要内存的话,当前Activity有可能被杀死掉。

    内存:  掉电消失

    外存 :  理论上数据是可以永久保存

    一般在  onPause   onStop   onDestroy  保存数据(持久化) 

                 onCreat  onStart  onResume   去获取数据恢复到界面上     

    

    1、得到数据持久化保存的路径

         String path = "/mnt/sdcard/data.txt";

        //sdcard的路径

        String path = Environment.getExternalStorageDirectory() + "/data.txt";

    

    2、权限:

          需要用到系统服务的话,就要去申请权限

    

    //读写外部存储的权限(sdcard)

    

       

    

    3、保存数据(一般是在onStop())

    4、读取数据(一般在 onStart())

       FileInputStream  fis = null;

      try {

       fis = new FileInputStream(path);

       ByteArrayBuffer arrayBuffer = new ByteArrayBuffer(5000);

       int len = 0;

       byte[] buffer = new byte[1024];

       while(-1 != (len  = fis.read(buffer )))

       {

        arrayBuffer.append(buffer, 0, len);

       }

       String str = new String(arrayBuffer.toByteArray(),0,arrayBuffer.length());

       mEditText.setText(str);

      } catch (FileNotFoundException e) {

       e.printStackTrace();

      } catch (IOException e) {

       e.printStackTrace();

      }finally

      {

       if(fis != null)

       {

        try {

         fis.close();

        } catch (IOException e) {

         // TODO Auto-generated catch block

         e.printStackTrace();

        }

       }

      }

    


名称栏目:Android初级第二次小结
当前网址:http://hbruida.cn/article/pccsjj.html