`
zhonglunshun
  • 浏览: 138792 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

安卓面试易考题(三)

阅读更多

 

安卓面试易考题(三)

 

面试题一:请描述一下Intent  Intent Filter

    我们可以把intent理解成一个动作,这个动作包含数据和额外的附加信息:

Action: 动作    Intent.ation_view 

Data: 数据uri   uri  mime

Category : 而外的附加信息

而这个动作是一句一些匹配规则匹配的,匹配规则可以在清单文件注册,也能在代码中注册。

清单文件中:

 

<intent-filter >
 <action android:name="android.intent.action.MAIN" />
 <action android:name="cn.itcast.action" />
……
 </intent-filter>

 

 

代码中:

如果我们在启动一个 Activity 时使用这样的 Intent 对象:

 

Intent intent =new Intent();
 intent.setAction("cn.itcast.action");

 

 

Intent filter: 可以理解为邮局或者是一个信笺的分拣系统,根据filter指定的内容来匹配。

 

面试题二:intent传递数据可传递哪些数据类型?

1. 一般的基本数据类型

 Intent .putextra()  intent.getStringextra();

2.  数据的uri,

 intent.setData()  intent.getData();

 

 

面试题三:说说ActivityIntentService是什么关系?

    他们是系统不同的组件,默认情况下是没有什么关系的。这种问题,就讲下activity,讲一下service,说一下 通过intent去激活组件,传递数据.

说自己项目中有这样一个网络更新的功能,显示界面就用的activity, 后台有个service每隔半小时都去访问下服务器获取更新的数据

开启服务用的是intent来开启

 

面试题四:请描述一下Broadcast Receiver

    有很多广播接收者 ,系统已经实现了.广播分两种 :

有序广播:同步的

(根据优先级发广播,优先级高的可以把广播中止,这样优先级低的九阶和艘不到广播了,我们开发发短信的应用就用到了这个,因为级别是可以设定的,women把自己写的应用级别设定比系统短信应用级别高的话就可以屏蔽系统短信蹦出来),配置优先级可以这样配置:

指定接收者的广播 .  是不可以被拦截掉的 

<intent-filter android:priority="1000">
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>

 

 

 

无序广播:异步的

广播的应用场景很多,用于接收系统的广播通知系统会有很多sd卡挂载,手机重启,广播通知,低电量,来短信等,一个apk的安装成功。

 

面试题五:manifest和代码中如何注册和使 用 broadcast receiver

    在清单里面注册就送定义一个receiver,然后指定它的intentFilter。例如:

<intent-filter android:priority="1000">
           <action android:name="android.intent.action.NEW_OUTGOING_CALL"/>       
         </intent-filter>
        </receiver>
        <receiver android:name=".SmsReceiver">
            <intent-filter android:priority="1000">
                <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
            </intent-filter>
        </receiver>
        <receiver android:name=".BootCompleteReceiver">
            <intent-filter >
                <action android:name="android.intent.action.BOOT_COMPLETED" />    
                </intent-filter>
        </receiver>

 

 

在代码里面注册就registerReceiver(receiverfilter);

如果代码中注册的代码没有执行,那这个receiver就不能接受到广播,同样,如果没有在清单文件配置也会收不到。

 

面试题六:请介绍下ContentProvider是如何实现数据共享的?

    通过ContentProvider把自己的数据通过uri的形式共享出去,android  系统下 不同程序 数据默认是不能共享访问 ,要想访问,我们可以通过实现一个类去继承ContentProvider,然后复写里面的一些方法

   

 public class PersonContentProvider extends ContentProvider{
    public boolean onCreate(){
        //..
    }
query(Uri, String[], String, String[], String)
insert(Uri, ContentValues)
update(Uri, ContentValues, String, String[])
delete(Uri, String, String[])
}
content:// 代表contentprovider

 

 

 

面试题七:介绍一下Android下的数据存储?

    有好几种方式

1.存文件文件  写文件需要权限.   访问sd卡需要sdcard权限。 

默认文件存在/data/data/包名/files 内存里面

2.数据库 sqlite

3.存在SharedPreference里面,在<data>/<data>/包名/shared_preps下,其实打开后能看到就是用的xml形式存储的

4.保存到网络上

    网络  socket tcp 面向连接 

http  httpurlconnection 

Android httpclient  post get

ftp的网络  file transport protoco

 

 

面试题八:为什么要用ContentProvider?它和sql的实现上有什么差别?

    好处一:屏蔽数据存储的细节,对用户透明,用户只需要关心操作数据的uri就可以了,对应的参数 .

    好处二:不同app之间共享,操作数据。

 

面试题九:Android下的常用布局?

FrameLayout(帧布局),LinearLayout (线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局)

FrameLayout

 从屏幕的左上角开始布局,叠加显示实际应用 播放器的暂停按钮.

LinearLayout

线性布局,这个东西,从外框上可以理解为一个div,他首先是一个一个从上往下罗列在屏幕上。每一个LinearLayout里面又可分为垂直布局

android:orientation="vertical")和水平布局(android:orientation="horizontal"

)。当垂直布局时,每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每一个元素依次向右排列。

 

面试题十:谈谈UI中, PaddingMargin有什么区别?

    Padding 是文字对边框之间的距离margin是控件与控件之间的距离。

 

面试题十一:在单线程模型中MessageHandlerMessage QueueLooper之间的关系?

 

handler在主线程被创建的时候,会有一个messageQueue消息队列,然后就有一个Loopper轮询器调用prepare方法查询队列里面的数据,当受到子线程调用handler发送过来消息时,lpooer就查询到消息了,于是加入消息队列交给handler来处理。

子线程里面 显示土司

Looper.parepare()会在子线程里面创建一个looper,然后就能发消息了,但是当Looper.loop被调用的时候,下面的代码就不执行了,也就是在之后你就是写了发消息的指令也不会发出去。原因是当前子线程里面已经有了一个looper了,它会把消息发给子线程的looper

Looper.parepare();
Toast.makexxxxx.show();
Looper.loop();

 

 

 

 

 

 

0
0
分享到:
评论

相关推荐

    阿里巴巴Android面试题集(答案解析)1

    阿里巴巴的Android面试题集主要涵盖了计算机基础、数据结构与算法、Java编程、Android技术以及一些扩展领域的知识。以下是对这些知识点的详细解析: **第一章 计算机基础面试题** 这部分通常包括网络、操作系统和...

    Android面试题 答案精编第三版

    《Android面试题 答案精编第三版》是一本专为Android开发者准备的面试指南,旨在帮助读者全面掌握Android领域的核心知识点,并在面试中表现出色,顺利拿到理想的offer。这本书包含了众多面试中常见的问题,涵盖了从...

    Android70道面试题汇总面试不再愁.pdf

    Android面试题汇总 本文将对 Android 相关的面试题进行总结和解释,涵盖了 Android 开发中的多个方面,包括内存回收、异常处理、Math函数、Activity 生命周期、Intent 传递数据、SAX 解析 XML 文件、自定义 Style、...

    联想Android面试题.pdf

    Android 面试题知识点总结 根据提供的文件信息,我们可以总结出以下知识点: 1. Activity 生命周期: * onCreate(Bundle savedInstanceState):创建 activity 时调用,用于初始化 activity。 * onStart():...

    安卓考试及面试题

    这份"安卓考试及面试题"的资料集将涵盖一系列关键知识点,帮助开发者和初学者强化基础,提升技能。以下是对这些主题的详细阐述: 一、安卓系统架构 了解安卓系统的分层结构是基础,包括Linux内核层、硬件抽象层...

    Android面试题(详细答案).doc

     13.android 中下列属于Intent的作用的是(c)  A、实现应用程序间的数据共享  B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失  C、可以实现界面间的切换,可以...

    android基础面试考试

    android基础知识,android期末考试试题,android面试.

    百度Android工程师职位面试考题.rar

    百度Android工程师职位面试考题

    面试前必做的题和认证考试题

    在准备面试和认证考试的过程中,理解并掌握相关知识点至关重要。面试和认证考试是评估个人技能、知识和经验的重要方式,对于求职者或寻求职业发展的人来说,这些都是通向成功的关键步骤。 首先,我们要明白面试通常...

    Android高薪面试题集50道

    android 系统架构? 答:1)应用程序层 java 语言 应用程序开发 2)应用程序框架层 java 语言 OS 定制 framework 层开发 3)系统运行库层 C C++ 实现 so 库 4)Linux 内核层

    Java精选面试题,题库非常全面,累计 20000+ 道面试题

    2022年面试题,Java基础面试题、JVM面试题、并发编程与线程面试题、设计模式面试题、SpringBoot面试题、SpringCloud面试题、MyBatis面试题、Redis面试题等。包括Java基础、Java集合、Java并发、JVM、Java WEB、设计...

    Android面试试题集合.rar

    安卓(Android)是一种操作系统,由谷歌公司开发和维护。下面是安卓的历史概述: - 2003年,安卓项目在美国创立,旨在开发基于Linux的智能手机操作系统。 - 2005年,谷歌公司收购了安卓公司,并开始对移动设备市场...

    Android面试必备笔试题.pdf

    【Android数据存储方式】 ...以上是Android面试中常见的一些知识点,涵盖了数据存储、架构模式、线程通信、组件交互以及UI性能优化等多个方面。理解和掌握这些知识点对于Android开发者来说至关重要。

    Android面试题经典.pdf

    在Android面试中,涵盖的知识点广泛且深入,包括Android系统架构、进程管理、内存管理、实时操作系统、短信机制、动画实现、线程通信、设计模式以及应用开发实践等多个方面。以下是对这些知识点的详细说明: 1. **...

    Android 面试资料

    这份"Android面试资料"集合了经典面试考题,旨在帮助你全面准备各种Android面试,确保你在面试中无懈可击,战无不胜。以下是对每个文件内容的详细解读: 1. **Android基础面试题.docx**:这个文档可能包含了Android...

    PCCW电讯盈科面试题

    通过对"PCCW Solutions 初级开发人员面试考题V1.8"的分析,我们可以深入理解该公司对于初级开发人员的技术要求和能力评估。 首先,面试题目通常包括基础编程知识的考察,如Java、Python、C++等常见编程语言的基本...

    Android面试题原版.pdf

    在Android面试中,涉及的知识点广泛,涵盖Java基础、Android核心概念以及编程实践。以下是基于给定内容的一些关键知识点的详细解释: 1. **流的分类**: Java的`java.io`包中的流按功能可分为输入流和输出流,字节...

    SCJP模拟题104道 考你的java知识 对你面试有帮助

    这些题目涵盖了Java编程语言的基础和核心概念,是准备SCJP(Sun Certified Programmer for the Java 2 Platform)考试或提升Java面试技巧的重要资源。下面将详细解释每个问题涉及的知识点: 1. 第一题考察类型转换...

    2019Android Framework 高频面试题总结.pdf

    了解Android Framework的实现机制和工作原理对于深入研究Android系统以及准备相关的技术面试都非常重要。 AMS(Activity Manager Service)是Android系统中的核心组件之一,它的主要作用是管理Android应用程序的...

    亚控科技比试题面试题集5

    亚控科技是一家专注于自动化软件开发和智能控制系统解决方案的公司,其面试题集是评估和筛选潜在员工技术能力的重要工具。这份“亚控科技比试题面试题集5”可能包含了多种IT领域的知识,包括但不限于编程语言、...

Global site tag (gtag.js) - Google Analytics