D、Db23
8. Service中如何实现更改Activity界面元素 ( B )
A、通过把当前activity对象传递给service对象
B、通过向Activity发送广播
C、通过Context对象更改Activity界面元素
D、可以在Service中,调用Activity的方法实现更改界面元素
9. 关于ContenValues类说法正确的是( A )
A、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的 名是String类型,而值都是基本类型
B、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的 名是任意类型,而值都是基本类型
C、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的 名,可以为空,而值都是String类型
D、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中 的名是String类型,而值也是String类型
10. 下面关于Android dvm的进程和Linux的进程,应用程序的进程说法正确的是( D )
A、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例.而每一个DVM都是在Linux 中的一个进程,所以说可以认为是同一个概念.
B、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例.而每一个DVM不一定都是在Linux 中的一个进程,所以说不是一个概念.
C、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例.而每一个DVM不一定都是在Linux 中的一个进程,所以说不是一个概念.
D、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例.而每一个DVM都是在Linux 中的一个进程,所以说可以认为是同一个概念.
11. 下列对SharedPreferences存、取文件的说法中不正确的是( C )
A、属于移动存储解决方案
B、sharePreferences处理的就是key-value对
C、读取xml文件的路径是/sdcard/shared_prefs/
D、数据的保存格式是xml
12. 使用AIDL 完成远程 service 方法调用下列说法不正确的是?( A )
A、aidl 对应的接口名称不能与 aidl 文件名相同
B、aidl 的文件的内容类似 java 代码
C、创建一个 Service,在服务的 onBind(Intent intent)方法中返回实现了 aidl 接口的对象
D、aidl 对应的接口的方法前面不能加访问权限修饰符
13. 关于JSON和XML说法,错误的是( B )
A、JSON的速度要远远快于XML
B、JSON对数据的描述性比XML好
C、JSON相对于XML来讲,数据的体积小
D、JSON和XML同样拥有丰富的解析手段
14. 下列不属于补间动画相关类的是( B )
A、TranslateAnimation
B、FrameAnimation
C、RotateAnimation
D、AlphaAnimation
15. 关于Handler的说法不正确的是( A )
A、它实现不同进程间通信的一种机制
B、它避免了在新线程中刷新UI的操作
C、它采用队列的方式来存储Message
D、它实现不同线程间通信的一种机制
1. java.io包中的____________和____________类主要用于对对象(Object)的读写。
答案:ObjectInputStream ObjectOutputSteam
2. android 中service的实现方法是:和_。
答案:startService ,bindService
3. 当启动一个Activity并且新的Activity执行完后需要返回到启动它的Activity来执行的回调函数是_______________。
答案:startActivityResult()
4. 程序运行的结果是:______________。
public class Example{
String str=new String(“good”);
char[]ch={‘a’,‘b’,‘c’};
public static void main(String args[]){
Example ex=new Example();
ex.change(ex.str,ex.ch);
System.out.print(ex.str+" and ");
Sytem.out.print(ex.ch);
}
public void change(String str,char ch[]){
str=“test ok”;
ch[0]=‘g’;
}
}
答案:good and gbc
1. 请简述下Android的数据存储方式。
答:共有五种数据存储方式。
1.SharedPreferences方式
2.文件存储方式
3.SQLite数据库方式
4.内容提供器(Content provider)方式
5. 网络存储方式
2. 请简述下ContentProvider是如何实现数据共享的。
答:创建一个属于你自己的Content provider或者将你的数据添加到一个已经存在的Content provider中,前提是有相同数据类型并且有写入Content provider的权限。
3. 什么是Intent,如何使用?
答: Android基本的设计理念是鼓励减少组件间的耦合,因此Android提供了Intent (意图) ,Intent提供了一种通用的消息系统,它允许在你的应用程序与其它的应用程序间传递Intent来执行动作和产生事件。使用Intent可以激活Android应用的三个核心组件:活动、服务和广播接收器。
通过startActivity() orstartActivityForResult()启动一个Activity;
通过 startService() 启动一个服务,或者通过bindService() 和后台服务交互;
通过广播方法(比如 sendBroadcast(),sendOrderedBroadcast(),sendStickyBroadcast())发给broadcast receivers
4. Activity、Service、BroadcastReceiver的作用。
答:Activity:Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它需要为保持各界面的状态,做很多持久化的事情,妥善管理生命周期以及一些跳转逻辑
Service:后台服务于Activity,封装有一个完整的功能逻辑实现,接受上层指令,完成相关的指令,定义好需要接受的Intent提供同步和异步的接口
BroadCast Receiver:接受一种或者多种Intent作触发事件,接受相关消息,做一些简单处理,转换成一条Notification,统一了Android的事件广播模型
5. 横竖屏切换时Activity的生命周期
答:切换时的生命周期跟清单文件里的配置有关系。
不设置Activity的android:configChanges时,切屏会重新调用各个生命周期默认首先销毁当前activity,然后重新加载
设置Activity android:configChanges="orientation|keyboardHidden|screenSize"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法。 通常在游戏开发, 屏幕的朝向都是写死的。
6. handler机制的原理
答:andriod提供了 Handler 和 Looper 来满足线程间的通信。Handler 先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(Message Exchange)。
1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue(消息队列)。
2)Handler: 你可以构造Handler对象来与Looper沟通,以便push新消息到Message Queue里;或者接收Looper从Message Queue取出)所送来的消息。
3) Message Queue(消息队列):用来存放线程放入的消息。
4)线程:UI thread 通常就是main thread,而Android启动程序时会替它建立一个Message Queue。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
![](https://img-blog.csdnimg.cn/img_convert/529ef01a6e3058b2da6aed93c587a034.jpeg)
学习宝典
对我们开发者来说,一定要打好基础,随时准备战斗。不论寒冬是否到来,都要把自己的技术做精做深。虽然目前移动端的招聘量确实变少了,但中高端的职位还是很多的,这说明行业只是变得成熟规范起来了。竞争越激烈,产品质量与留存就变得更加重要,我们进入了技术赋能业务的时代。
不论遇到什么困难,都不应该成为我们放弃的理由!
很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,对此我针对Android程序员,我这边给大家整理了一套学习宝典!包括不限于高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!
【Android核心高级技术PDF文档,BAT大厂面试真题解析】
【算法合集】
【延伸Android必备知识点】
【Android部分高级架构视频学习资源】
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
[外链图片转存中…(img-g03jGVh5-1713274377083)]
【算法合集】
[外链图片转存中…(img-ZTX3A0h9-1713274377084)]
【延伸Android必备知识点】
[外链图片转存中…(img-4lMSmd4L-1713274377086)]
【Android部分高级架构视频学习资源】
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!