• 今日十问(二)


    1、什么是适配器?
     适配器是一个连接数据和AdapterView的桥梁,通过它能有效地实现数据与Adapter的分离设置,使Adapter与数据的绑定更加简便,修改更加方便。
    2、常用的适配器有哪些?
     BaseAdapter、SimpleAdapter、Arrayadapter;CursorAdapter、SimpleCursorAdapter;PagerAdapter、FragmentPagerAdapter等。
    3、一个适配器控件通过一个适配器展示数据的步骤:
     <1>查找控件;
     <2>生成数据源;
     <3>构造适配器对象;
     <4>把数据和适配器产生联系;
     <5>把适配器和控件绑定;   控件.setAdapter(适配器);
    4、接手一份别人写的代码,怎样快速知道程序当前的界面是哪个活动?
     <1>首先创建一个BaseActivity继承自Activity,再重写onCreate()方法。在onCreate()方法中获取当前实例的类名,并通过Log打印出来(Log.i("BaseActivity",getClass().getSimpleName();));
     <2>让BaseActivity成为项目中所有活动的父类;
     <3>运行程序,在LogCat中观察相应信息。
    5、活动的启动模式一共有四种,可以在AndroidManifest.xml中通过给<activity>标签指定android:launchMode属性来选择启动模式:
     <1>standard
      活动默认的启动模式,在不进行显式指定的情况下,所有活动都会自动使用这种启动模式;
     <2>singleTop
      当活动的启动模式指定为singleTop,在启动活动时如果发现返回栈的栈顶已经是该活动,则认为可以直接使用它,不会再创建新的活动实例;
     <3>singleTask
      当活动的启动模式指定为singleTask,每次启动该模式活动时系统首先会在返回栈中检查是否存在该活动的实例,如果发现已经存在则直接使用该实例,并把在这个活动之上的所有活动统统出栈,如果没有发现就会创建一个新的活动实例;
     <4>singleInstance
      当活动的启动模式指定为singleInstance,会启用一个新的返回栈来管理这个活动。
    6、什么是Intent?
     Intent是Android程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。Intent一般可以用于启动活动、启动服务、以及发送广播等场景。
     Intent的用法大致可分为两种:
      <1>显式Intent:
      Intent(Context packageContext,Class<?>cls)这个构造函数可以接收两个参数,第一个参数Context要求提供一个启动活动的上下文,第二个参数Class则是指定想要启动的目标活动,通过此构造函数可以构建出Intent的“意图”。
      Activity类中的startActivity()方法专门用于启动活动,它可以接受一个Intent参数,传入到startActivity()方法中就可以启动目标活动了。
      <2>隐式Intent:
      通过在<activity>标签下配置<intent-filter>的内容,可以指明当前活动能够响应的action和category。只有<action>和<category>中的内容同时 能够匹配上Intent中指定的action和category时,这个活动才能响应该Intent。
    7、<data>标签中主要可以配置以下内容:
     <1>android:scheme
      用于指定数据的协议部分,如http部分。
     <2>android:host
      用于指定数据的主机名部分,如www.baidu.com部分。
     <3>android:port
      用于指定数据的端口部分,一般紧随在主机名之后。
     <4>android:path
      用于指定主机名和端口之后的部分,如一段网址中跟在域名之后的内容。
     <5>android:mimeType
      用于指定可以处理的数据类型,允许使用通配符的方式进行指定。
    8、Intent中提供了一系列putExtra()方法的重载,可以把传递的数据暂存在Intent中,启动了另一个活动后,只需要把这些数据再从Intent中取出就可以了。
       Activity中还有一个startActivityForResult()方法也是用于启动活动的,这个方法期望在活动销毁的时候能够返回一个结果给上一个活动。此方法接收两个参数,第一个参数还是Intent,第二个参数是请求码,用于在之后的回调中判断数据的来源。
       OnActivityResult()方法带有三个参数,第一个参数requestCode,就是在启动活动时传入的请求码;第二个参数resultCode,就是在返回数据时传入的处理结果;第三个参数data,就是携带者返回数据的Intent。
    9、每个活动在其生命周期中最多可能会有四种状态:
     <1>运行状态
      当一个活动位于返回栈的栈顶时,此时活动就处于运行状态;
     <2>暂停状态
      当一个活动不再处于栈顶位置,但仍然可见时,此时活动进入了暂停状态;
     <3>停止状态
      当一个活动不再处于栈顶位置,并且完全不可见的时候,就进入了停止状态;
     <4>销毁状态
      当一个活动从返回栈中移除后就变成了销毁状态。
    10、可以将活动分为三中生存期:
     <1>完整生存期
      活动在onCreate()方法和onDestroy()方法之间所经历的,就是完整生存期;
     <2>可见生存期
      活动在onStare()方法和onStop()方法之间所经历的,就是可见生存期;
     <3>前台生存期
      活动在onResume()方法和onPause()方法之间所经历的,就是前台生存周期。

  • 相关阅读:
    mysql增加索引、删除索引、查看索引
    微信小程序跳转页面时参数过长导致参数丢失
    微信小程序:使用wx.request()请求后台接收不到参数
    微信小程序跳转web-vie时提示appId无法读取:Cannot read property 'appId' of undefined
    tomcat正常运行一段时间后,突然访问不了项目了
    注解@Async解决异步调用问题
    Linux之acl库的安装与使用(限制Linux某用户的访问权限)
    HashMap和Hashtable的详细区别
    如何处理MySQL经常出现CPU占用率达到99%
    IntelliJ IDEA 提交代码时出现:Code analysis failed with exception: com.intellij.psi......
  • 原文地址:https://www.cnblogs.com/android-blogs/p/5683744.html
Copyright © 2020-2023  润新知