Thanks to visit codestin.com
Credit goes to github.com

Skip to content

15年中心考核移动端答案 #1

@karl-tech

Description

@karl-tech

15年中心考核移动端答案

1.

Class Demo {
    private Demo() {}
    private static Demo mDemo = null;
    public static Demo getInstance(){
        if (mDemo == null)
            mDemo = new Demo();
        return mDemo;
    }
}
Class Demo {
    private Demo() {}
    private static Demo mDemo = new Demo();
    public static Demo getInstance() {
        return mDemo;
    }
}

2.

  • 在startActivity时通过在Intent方法中put数据来传参,然后在新的Activity中getIntent().get来得到传来的参数。
  • 通过startActivityForResult来接收Activity执行完毕返回的数据。
  • 通过接口回调来让两个Activity传输数据。详情看第八题。
  • 通过中间类来传输数据。比如,可以在Class C类中保存个public变量,使ActivityA和ActivityB都可以访问。

3.

onCreate()-> onStart() -> onResume() -> onPause() -> opStop() -> onDestory()

  • onCreate() 当Activity被首次创建时,会调用onCreate方法。

  • onStart() 当Activity已经初始化完毕并将View绘制完毕后,可以随时将其展示在屏幕上。这种状态就是onStart。

  • onResume() 当Activity界面展示到屏幕上时,会调用这个方法。

  • onPause() 当Activity从前台切换到后台时,会首先调用onPause方法,然后不出意外的话很快就会再调用onStop方法。上述意外情况是,当Activity的界面并没有被下一个要启动的Activity界面完全遮挡住,即用户依旧可以看见部分界面,则不会继续执行onStop。

  • onStop() 当Activity切换到后台后,会执行onStop方法,这时Activity已经完全在屏幕上不可见。在这个状态下,系统可能会随时回收掉这个Activity占用的内存。

  • onDestory() 一般的Activity不会执行到这一步,如果系统资源够用的话。两种情况除外:1、这个Activity是通过finish()手动停止的。2、系统资源出现紧缺。

    为了加快下一次Activity启动的速度,Android系统不会刻意结束任何Activity。

4.

  • File存储。即将数据存储到文件中。文件中数据的组织方式完全由自己决定。一些情况下,会将数据转成JSON字符串的形式存放于文件中。但对于File而言,系统对其的IO操作非常占用资源,且File操作比较底层,读写数据比较麻烦,不适合存储结构化数据。
  • SharesPreference。存储的是简单的键值对,优点便捷,缺点只能存储小数据。
  • SQLite。数据库,存储结构化数据。优点就是适合存储结构化数据。缺点就是对非结构化数据不友好。
  • ContentProvider。系统中的相册、媒体库、短信等都是以这种方式存储的,优缺点很明显,只适合存储媒体数据及适合将数据共享。
  • 网络存储。借助服务器存储数据。优缺点大家自己分析下。

5.

  • Android - Linux
  • iOS - Unix

6.

Android:
startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse("tel:13200000000")));

7.

大家百度一下。好处就是视图代码分离,解耦。

8.

主要作用就是用于回调,特别是异步回调。常见的OnClickListener就是异步回调监听器。当系统监听到用户触摸事件后,就会回调监听器种的onClick方法,进而让Activity去处理这个事件。
代码详见按钮监听器。

9.

java基础。百度一下。

10.

public static int num = 1;

11.

百度一下。这个其实了解下就好。

12.

  • dp是密度相关的尺寸,与屏幕大小无关,与屏幕密度有关。
  • sp一般用于文字。
  • px就是像素,10px就是10像素点。

13.这个也自己百度。

14.

这一题考察大家基本的编程能力。很多人都用链表来实现,也有用顺序表实现的。这题没什么技术含量,我就不放答案了。

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions