Android简答题

本文介绍了Android开发中关于ListView的手动和自动加载实现、图片错乱预防、抽象类与接口的区别、final、finally和finalize的作用,以及ToolBar、Menu、线程开启方式等面试常考知识点,帮助开发者准备面试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


第三章:

1.ListView 手动加载实现思路?

1.为ListView增加一个footView脚视图(ListView对象的addFootView方法)

2.脚视图是一个Button按钮,设置监听事件,调用加载更多数据的addMore方法

3.当手动滑到ListView底部时,可以看见Button按钮

4.点击Button按钮去加载更多数据

2.ListView 自动加载(分页加载)实现思路?

1.为ListView设置一个滚动监听器setOnScrollListener方法

2.传入一个OnScrollListener对象,重写两个方法onScroll方法、onScrollStateChanged方法

3.在onScroll方法中判断是否到达ListView底部(手机屏幕第一个可见子条目索引+屏幕可见子条目 个数==ListView集合中总的个数&&总个数>0)

4.在onScrollStateChanged方法中判断是否手指离开并且屏幕静止(SCROLL_STATE_IDLE),如果满足 该条件并且到达ListView底部,调用加载更多数据的addMore方法。

3.ListView在异步任务中加载图片如何防止图片错乱?

1.在Adapter的getView方法中通过异步加载图片前,给图片组件设置默认图片 (vh.imageView.setImageResource(R.mitmap.ic_luncher))。

2.将图片组件与对应网址绑定(vh.imageView.setTag(图片网址))。

3.在异步任务类的onPostExcute方法中,获取iamgeView保存的图片网址,与DoInBackground方法 中的图片网址进行比较。如果一致就加载图片,不一致不做任何操作。

4.简述抽象类和接口的区别?

1.抽象类使用abstract修饰,接口使用interface修饰。

2.抽象类中可以有成员变量和常量,接口中成员变量只能有常量。

3.抽象类中可以有静态代码块和静态方法,接口中不能有。

4.抽象类中可以有普通方法和抽象方法,接口中只能有抽象方法。

5.抽象类和接口中的抽象方法子类都必须实现。

5.简述final、finally、finalize()各自的作用?

Final:可以用来修饰类(不能被继承String),属性(常量),方法(不能重写)。

Finally:处理异常时和try...catch结合使用,用于释放资源。

Finalize:垃圾回收期调用的方法,用于回收垃圾对象(该对象没有任何引用)。


第四章:第五章:

1.简述ToolBar中的常用方法有哪些,各自的作用?

设置返回键:setNavigativeIcon

设置logo:setLogo

设置标题:setTitle (要在setSupportActionBar之前调用)

设置副标题:setSubTitle

设置菜单监听:setOnMenuItemClickListener

2.Menu的add方法的四个参数都是什么?作用是什么?

add(组id,item的id,优先级(int类型),标题)

组id:为item分组

item的id:为item添加唯一id

优先级(int类型):菜单的排列顺序,值越小越靠前,值一样看谁先添加

标题:item显示的文本内容

3.Android中的菜单都有哪些?各自有什么区别?

选项菜单:在右上角的ActionBar的位置显示,一般固定,点击menu菜单时第一次会调用onCreateOptionsMenu方法。

上下文菜单:为某个View组件注册一个长按是显示的一个菜单,每次点击View的时候都会调用onCreateContextMenu方法。

侧滑菜单:在右侧或者左侧滑出,需要结合Drawerlayout抽屉布局来使用,可以添加头布局和菜单布局。

4.Java中String类中常用的方法有哪些?

构造方法:

Byte[] bytes = {97,98,99,100,101,102,103,104,105,106};

String(byte[] bytes)

String(byte[] bytes,int startIndex,int count)

String(char[] chars)

String(char[] chars,int startIndex,int count)

方法:

转换:

转为字节数组:getBytes()

转为字符数组:toCharArray()

int类型转为String类型:String.valueOf(基本数据类型)

判断:

字符串是否为空:isEmpty()

以...结尾:endsWith(String)

以...开头:startsWith(String)

trim():去除首尾空格。

replace(“JAVA”,”M”):将字符串中所有JAVA替换为M

replaceAll(“\\d”,””):消除字符串中所有数字

indexOf(“ab”):获取ab在字符串中第一次出现的位置。

5.Java中开启线程有几种方式?分别如何实现?

常用的是两种:

继承Thread类:

class MyThread extends Thread{
    public void run(){
        //执行的代码...
    }
}

1.自定义类继承Thread类。

2.重写run方法,在run方法中写线程要执行的任务。

3.测试类:创建MyThread对象调用start()方法启动线程。

实现Runnable接口:

class MyRunnable implements Runnable{
    public void run(){

        //执行的代码...

    }
}

测试类:

MyRunnable myRunnable = new MyRunnable();

Thread thread = new Thread(myRunnable);

thread.start();

1.自定义类实现Runnable接口

2.在测试类中创建Runnable对象

3.将Runnable对象作为参数创建Thread对象

4.调用Thread对象的start()方法启动线程。

6.侧滑菜单的使用步骤?DrawerLayout的侧滑菜单显示隐藏监听?

使用步骤:

1.添加侧滑依赖

2.将Activity跟布局改为DrawerLayout

3.在DrawerLayout的第二个直接组件位置使用NavigationView侧滑菜单组件

显示与隐藏的监听:

调用DrawerLayout对象的addDrawerListener方法传入一个DrawerListener对象

在重写的onDrawOpened、onDrawClosed方法中监听菜单的显示与隐藏。

### HTML招聘面试题 #### 一、HTML基础概念 - **什么是DOCTYPE声明?** 文档类型声明(`<!DOCTYPE>`)通常位于HTML文档的第一行,告知浏览器应使用的解析模式。指定此声明后,浏览器将以标准模式解析文档;反之,则可能进入兼容模式,以模拟旧版浏览器行为[^2]。 - **SGML、HTML、XML以及XHTML之间的差异是什么?** | 名称 | 描述 | | --- | ---- | | SGML | 标准通用标记语言,作为定义电子文档结构的国际标准,是其他标记语言的基础。| | HTML | 超文本标记语言,主要用于描述网页如何展示给用户查看。| | XML | 可扩展标记语言,允许自定义标签,具有高度灵活性,适用于数据交换场景。| | XHTML | 类似于HTML但更加严格遵循XML规则,例如强制要求所有标签关闭且区分大小写等特性| #### 二、HTML5新增功能与变化 - **列举几个HTML5的新特性和被移除的元素:** HTML5引入了许多新的API和技术,如Canvas绘图、音频视频播放支持、本地存储机制等。与此同时,一些过时或者不再推荐使用的元素也被淘汰了,比如frame框架集、acronym缩略语标签等。 ```html <!-- 使用canvas绘制图形 --> <canvas id="myCanvas"></canvas> <script> const canvas = document.getElementById('myCanvas'); // 绘制逻辑... </script> <!-- 添加多媒体文件 --> <audio controls src="song.mp3">您的浏览器不支持audio元素。</audio> <video width="320" height="240" controls> <source src="movie.mp4" type="video/mp4"> 您的浏览器不支持video标签。 </video> ``` #### 三、实际项目中的应用案例 对于Android客户端开发工程师而言,在参与阿里巴巴集团及其旗下各子公司(如高德地图)、百度网讯科技有限公司、腾讯计算机系统有限公司以及其他互联网企业(如滴滴出行、美团点评网、网易游戏、去哪儿旅行App)校园招聘过程中遇到的技术问答环节里,关于前端页面布局设计方面的问题经常涉及到对HTML的理解程度测试[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值