我在Android开发中遇到的问题

Android面试官,面试安卓开发十大问题 基本情况 本人普通本科,Android开发岗。 此文主要是秋招面试经验汇总,最终拿到了百度、腾讯的offer。 主要包括阿里三面,腾讯四面,百度三面,网易三面,美团一面。 学习知识汇总 1、Java se基础 1).Java基本数据类型与表达式,分支循环。 2).String和StringBuffer的使用、正则表达式。 3).面向对象的抽象,封装,继承,多态,类与对象,对象初始化和回收;构造函数、this关键字、方法和方法的参数传递过程、static关键字、内部类。 4).对象实例化过程、方法的覆盖、f 阅读详情

前段时间开始实习了,在工作中遇到了很多问题,因为没有老司机带路,
基本上到处踩坑,遇到了很多问题,有时间的话再在这里更新。

1.ListView的ViewHolder导致的数据混乱(其实是自己垃圾 = =)

问题描述:
ListView的Item有关注、点赞按钮。在获取数据初始化后,滑动ListView将Item移出屏幕,再返回之前被移出的关注、点赞按钮状态都一致变为了已关注与已点赞。

问题原因:

  1. ListView的Adapter中使用ViewHolder使得View模板复用
  2. ListView滑动会调用getView方法,对应赋值
  3. 关注与点赞按钮只写了已关注或已点赞的逻辑判断,没有反面情况的赋值处理

    解决办法:补上发面情况的赋值处理

    综上所述:导致了状态不能复位以致数据错乱。

2.事件拦截或处理返回导致的点击无效或不能触发问题
问题描述:
RelativeLayout设置点击事件无效,断点调试发现没有触发OnClick事件

问题原因:
RelativeLayout中的Item包含有获取焦点控件,例如:Button
没有将事件处理返回给RelativeLayout

解决方法:将Button的clickable设为false
Tips:遇到控件点击无反应,试着向事件拦截与处理返回方面想一想,有时候会有特别的收获。在开发过程中好像发现AbsListView的子类的事件处理方法好像都默认返回true,不会将事件处理丢给父类,这也导致过类似的问题。

3.RecyclerView的刷新问题

问题描述:
在项目中使用了RecyclerView然后调用了notiftDataSetChange()方法,然后发现数据没有更新。

问题原因:
我的RecyclerView是ListView的Item中的一部分,所以在这个时候,单独刷新RecyclerView是没用的,刷新完之后调用ListView的notiftDataSetChange()问题得到解决。

常规原因:Adapter中的数据源与实际更新的数据源引用的不是同一个数据。建议可以在Adapter中写一个update方法,在update方法中data.clear中的数据源,然后data.addAll(datas)。(data为Adapter中的数据源,datas为传递进来的数据)。

2016年11月15日21:53:01更新


4.在Receiver中startActivity报错

原因:在谷歌的 Android API Guides 中,特意提醒开发者不要在后台启动 activity,包括在 Service 和 BroadcastReceiver 中,这样的设计是为了避免在用户毫不知情的情况下突然中断用户正在进行的工作。百度上好像说Activity中重写了startActivity,其他的没有….

解决方法:给Intent设置setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

5.Activity之间传递Bitmap

6.EditText点击,弹出的软键盘覆盖EditText下方小部分布局

2016年11月17日


Unity3d 安卓开发问题总结 开发了半年基于Unity的安卓应用,项目也基本快完结了。在开发过程中遇到了很多坑,然而Unity的技术支持几乎都在英文论坛里。直接百度,真的很难解决问题。本篇对这半年的开发经历做一个总结,希望能帮助其他开发者。 https://forum.unity.com/这个是Unity的官方论坛,个人认为解决技术问题很好的途径,就是回复不是很稳定,看情况,然后网络访问也不是很稳定。下面就从我在上面的提问... 阅读详情

相关推荐

Android面试问题与参考答案——基于TCL安卓开发工程师职位要求

TCL安卓开发工程师面试指南摘要:本文基于TCL安卓开发工程师岗位要求,提供结构化面试问题及参考答案。重点考察性能调优能力,包括工具使用(systrace/simperf)、Framework知识(AMS/WMS)、Linux机制(LMK/Cgroup)及MTK平台经验。问题涵盖性能问题分析、优化方案实施及团队协作,帮助评估候选人的实战能力。参考答案结合Android开发标准实践,适用于面试准备与评估。

郑伟强dev的专栏 1074

android 开发所遇到的小问题(自用)

1.设备无法旋转屏幕 (1)设备里面的旋转屏幕未开 (2)在AndroidManiFest.xml 设置里面设置了属性 android:screenOrientation="portrait" 2.显示布局与运行在模拟器上的布局不一致 (1)查看xml 的design 布局是否与模拟器相同 (2)可能误触导致部分布局改变 3.应用编译无问题,在模拟器上闪退 (1)可能重载的方法,没有找到相应的执行对象 4.android...

qq_59156408的博客 2178

Android课程实训报告

实现一个小型的Android的计算器软件的开发,该计算器通过0-9这10个数字按钮,“加”“减”“乘”“除”和“等于”55个运算按钮以及清空按钮实现操作,并通过一个文本框显示计算的结果。

Android实践中一些问题的总结

对于一个刚刚学习Android不久的我来说站在4.0以上做开发还是遇到了很多问题的,很久前就打算写下但是一直处于忙碌状态无暇顾及。 在周末今天简单的写一下给自己留个记号也希望能给像我一样刚学不久的人有所帮助, 只要网络请求就会报异常查看异常提示:Caused by:  android.os.NetworkOnMainThreadException 查了下原因上在4.0之后在主线程里

wyh09102010的专栏 723

手把手教你用ROS2 Humble给PX4无人机写个“画圆”程序:从C++代码到Gazebo仿真全流程

本文详细介绍了如何使用ROS2 Humble和PX4飞控实现无人机圆形轨迹控制,涵盖从环境配置、Gazebo仿真到C++代码实现的完整流程。通过实战教程,读者将掌握轨迹跟踪仿真的核心技术,包括ROS2与PX4的通信接口、圆形轨迹算法设计及Gazebo仿真调试技巧。

weixin_29056781的博客 257

Uni-App推送踩坑实录:从云函数URL化到后台推送失效,我都经历了什么

本文详细记录了Uni-App开发者在接入uni-push 2.0时遇到的推送失效问题,从云函数URL化到后台推送失效的完整排查过程。通过系统化分析和与官方沟通,最终找到解决方案,并分享了预防措施与最佳实践,帮助开发者避免类似问题。

weixin_42552716的博客 487

Android开发工作中遇到的重点和难点总结

1. Android N floating widget无法显示。统一管理一个window token解决了此问题。   2. Pop-up window在Android6.0上出现花屏。   3. 由于状态栏的影响,悬浮窗上下跳动   4.  Wi-Fi安全的数据可能会由第三方提供,或者云提供。因此需要设计可扩展性的接口。   5. 根据http/https的漏洞,设计检测流氓...

daojin505的专栏 1760

Cobalt Strike4.0安装包(内附中文版)

1.什么是 Cobalt Strike Cobalt Strike 是一个为对手模拟和红队行动而设计的平台,主要用于执行有目标的攻击和模拟高级威胁 者的后渗透行动。 Cobalt Strike已经不再使用MSF而是作为单独的平台使用,它分为客户端与服务端,服务端是一个,客户端可以有多个,可被团队进行分布式协团操作。集成了端口转发、扫描多模式端口Listener、Windows exe程序生成、W...

梦之序章的博客 2万+

Android面试题总结

国内一线互联网公司内部面试题库:https://github.com/JackyAndroid/AndroidInterview-Q-AAndroid 开发工程师面试指南:https://github.com/GeniusVJR/LearningNotes一个五年Android开发者百度、阿里、聚美、映客的面试心经:http://gdky005.com/2016/07/08/%E4%B8%80%E4

有事没事找点事的专栏 363

ZYNQ新手必看:你的PS端DDR和QSPI配置真的对了吗?从原理到实操的避雷指南

本文深入解析ZYNQ PS端外设配置的关键要点,特别是DDR匹配和QSPI时钟优化的实战技巧。通过详细案例和配置清单,帮助开发者避免常见错误,确保系统稳定性和启动可靠性。适合ZYNQ新手和需要优化最小系统的开发者参考。

weixin_28675839的博客 447

KUKA机器人在自动运行时,动作不流畅,每个点位都有停顿的解决办法

KUKA机器人在自动运行时,动作不流畅,每个点位都有停顿的解决办法

Robot_PLC_HMI_Automation 4582

android软件开发的问题,作为新手开发安卓App所遇到的问题及解决

1.前言最近和实验室的朋友一起做了一个项目,我主要负责安卓应用开发。开发中遇到了许多新手常见问题,下面就是这些问题和解决方案。2.正文App的主要功能是通过和服务器交互,获取服务器端的json文件,然后通过安卓UI组件动态显示出来。点击对应的按钮则向服务器发出对应请求。 做App时主要遇到了两个错误。第一就是直接在主线程中发送网络请求;第二就是在其他线程中修改UI组件。这两个错误其实是安卓开发的...

weixin_42375011的博客 1101

Pytorch实现EdgeCNN(基于PyTorch实现)

本专栏整理了《图神经网络代码实战》,内包含了不同图神经网络的相关代码实现(PyG以及自实现),理论与实践相结合,如GCN、GAT、GraphSAGE等经典图网络,每一个代码实例都附带有完整的代码。

优快云 精品推荐 1万+

IDEA中开发安卓程序时遇到的问题

IDEA中开发安卓程序时遇到的问题 flutter的环境配置真是让人头大,尤其是我没用Android studio做开发,而是用的IDEA做的,遇到的问题更多,接我上一篇博客用IDEA做安卓项目时adb端口冲突,如果这篇文章仍然没有解决虚拟机的问题,那就要考虑是不是Android SDK没有配置环境变量的问题了,win+R 然后cmd输入flutter doctor -v 如上图,打红叉的地方告诉我是没有配置Android SDK的环境变量,我们只要配置一下Android SDK的环境变量就可以了

欢迎留言技术探讨 670

镜头像差之五——场曲

什么是场曲? 场曲[curvature of field] 物面上所有的点经过系统后,最佳焦点位置不在同一平面上,若这些像点所成的面为曲面,则称为系统有场曲。 与物高二次方、入射光瞳口径一次方成正比的像差。若仅存在场曲,则所有物平面上的点都有相应的像点,但分布在一个球面上;若采用弯成此种形状的底片,则可获得处处清晰的像。此时在理想像平面上,像点呈现为圆斑。 第一张图是最简单也是最容易理解的场曲,也就是对焦点锐利,其余部分逐渐松散,但实际上大多现代镜头的场曲都呈现为图二的形态:对焦点与边缘锐度.

camerall 1万+

Vue.js + Element UI 实现会员管理系统:完整源码与详细教程|新手必看:用 Vue.js 和 Element UI 打造会员管理系统,完整代码解析|从零开始|后台管理系统|大学生期末大

总之,学习前端开发需要耐心和毅力,要保持对技术的热情和兴趣,不断学习和提升自己。通过实践项目、学习工具和框架、关注前端趋势等方式,你可以逐渐成为一名优秀的前端开发者。

南北极之间 1076

解决安卓开发“No Android devices detected.”问题

先检查是否安装了Android SDK Platform-Tools,如果显示未安装,则需要先安装,安装完成后要在系统环境变量中配置Path路径。点击右侧的Assistant,根据提示打开移动设备开发者模式并启用USB调试模式,然后发现我们未连接到移动设备的原因是ABD服务的原因。然后返回到第一步,点击右侧工具栏Assistant,依次到最后一步,就会显示连接成功了。

m0_68154641的博客 2121

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

个人开发安卓遇到的一些问题收集【仅解决个人问题】

此偏文章为个人开发安卓时候,遇到的问题收集及个人的解决办法,若有人和我遇到了同样的问题能帮助到大家最好,无法帮助到或您有更好的解决办法,请留言给我,谢谢。个人遇到问题已解决部分:1、The graphics preview in the layout editor may not be accurate: - Path.isConvex is not supported. (Ignore for ...

shankezh的博客 5312

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

安卓开发常见面试问题总结

自己就之前的面试经历,以及其他比较常见的安卓开发面试的问题做的一些总结

qq_45254908的博客 1万+

安卓开发中常见的一些小问题

安卓开发中会遇到的一些问题 开发遇到的问题汇总 将一些遇到的问题及时的汇总到这里 便于以后查看。养成一个良好的习惯,可以是截图、文字、链接。写好日期及大致的原因。谨记,笃行。 2020.2.22 安卓intent打电话 https://blog.youkuaiyun.com/iteye_17881/article/details/82135854 Android studio连接模拟器 2.23 cmd无...

weixin_46633301的博客 214

Android开发从零开始安卓开发面试问题

整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。一共十个专题,包括了Android进阶所有学习资料,Android进阶视频,Flutter,java基础,kotlin,NDK模块,计算机网络,数据结构与算法,微信小程序,面试题解析,framework源码!这里,笔者分享一份从架构哲学的层面来剖析的视频及资料分享给大家梳理了多年的架构经验,筹备近6个月最新录制的,相信这份视频能给你带来不一样的启发、收获。

m0_61043185的博客 1084

安卓开发中小米手机android studio调试问题

安卓开发中,小米手机调试总会出现各种原因无法连接调试,下面个人自己总结了一下成功开启小米手机调试方法. 1、点击点击设置中MIUI版本,连续点击直至出现提示成功开启开发者调试模式为止。 2、进入更多设置中,找到开发者选项进入,打开USB调试和USB安装,同时关掉底部的“启用MIUI优化”。 3、进入跟多设置中,进入系统安全,打开“未知来源(允许安装来自未知来源的应用)”选项。 一般

ciganxian的专栏 2597

android开发经典难题,今年安卓开发中碰到的几个稀奇古怪的问题

1.SIGBUS和SIGSEGV首先是这两个名词的说明:SIGBUS(Bus error)意味着指针所对应的地址是有效地址,但总线不能正常使用该指针。通常是未对齐的数据访问所致。SIGSEGV(Segment fault)意味着指针所对应的地址是无效地址,没有物理内存对应该地址。有人一看,什么指针不指针的,对于大多数开发人员来说,不涉及NDK这方面的开发。所以可以想到的就是我们使用的so库。我这里...

weixin_39560207的博客 494

Android Studio开发安卓app TTS文字转语音功能 android11系统无法调用TTS问题记录

Android Studio开发安卓app TTS文字转语音功能 android11系统无法调用TTS问题记录

qq445829096的博客 1345

【安卓开发笔记】闪退问题

安卓笔记关于不设置指定属性闪退或崩溃问题

m0_60341511的博客 302

Android安卓系统手机日志抓取工具:快速定位开发中的问题

Android安卓系统手机日志抓取工具:快速定位开发中的问题 【下载地址】Android安卓系统手机日志抓取工具 这是一款专为Android开发者设计的日志抓取工具,能够高效捕获并保存手机系统日志,助力快速定位和解决开发中的问题。工具已打包成便携版,无需安装,双击即可使用,操作简单便捷。支持将日志直接保存到本地电脑,方便...

gitblog_06723的博客 697
上一篇: AsyncTask
下一篇: Android基础1
Earth_Programer
博客等级 码龄11年 18粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值