最近几天Android开发遇到的问题

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

最近开发一个和NBA相关的软件,遇到了一些问题,在此做个记录,以备后查。


1. 网络问题

01-07 08:56:53.106: E/AndroidRuntime(676): FATAL EXCEPTION: main 

01-07 08:56:53.106: E/AndroidRuntime(676): android.os.NetworkOnMainThreadException 


据说Android版本在4.0之后,如果在UI主线程中处理http请求都会出现这个错误,所以,开一个新线程来访问http吧


2. UI显示问题

01-07 20:30:30.770: E/AndroidRuntime(16754): android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. 

UI显示与刷新只能在主UI线程中,放在子线程中会出现这个问题。


3. String为空

当定义的string 为 null的时候,不能用indexof判断,会报错


4. 解析网络的jsoup

对网络编程完全没概念,但是学jsoup解析倒是上手挺快,至少自己用的功能都摸索着实现了。


5. 关于layout

   android:layout_***       表明的是子控件在父控件中的相对位置

   android:gravity             表明子控件的内容在子控件中的相对位置


6. 关于屏幕适配

屏幕适配其实说穿了也就是决定,对于不同的设备,你的dp或sp到底设置多少?

在屏幕适配的过程中,其实有两个变量:

第1,屏幕的密度。

Dpi是映射到屏幕上的单位,与像素Pixel的关系如下:Dpi = k * Pixel

其中K是系数,根据屏幕不同,k也不同

ldpi :k = 0.75

mdpi :k = 1

hdpi :k = 1.5

xhdpi :k = 2

在编程的时候需要对这些有了解。

第2, 屏幕的大小。

 也是下了点功夫,上京东搜了所有热门品牌做了一个屏幕尺寸的统计,不是很全

主要的屏幕大小还是集中在480*800, 480*854, 540*960, 720 * 1280

关于屏幕密度和屏幕大小两者之间的关系,网上找到的图如下


适配路漫漫啊。。。


7. onclick和ontouch并发的问题

在listview上增加了左右滑动切换的功能才碰到的。

listview本身的点击采用onItemClickListener实现,左右滑动采用onTouch检测。

实现的时候没有怎么注意细节,后来调试的时候发现:左右滑动listviw时候,很容易就onclick了,也就是ontouch结束了还是触发了onclick

网上查到了一些信息,很有用:http://blog.csdn.net/daodaowolf/article/details/8247516

关键的是其中一句:

如果在Touch事件的down action的时候返回false,则表示这个组件不会吃掉这个down event,并且对touch的后续动作都不感兴趣。那么整个touch的动作,从一开始刚点击下去的时候,你就不会再被回调到了。


8. 关于sleep

sleep放在那里,就让哪里的线程sleep

如果放在子线程,那就是子线程中;

如果你放在了主线程中,那么整个UI主线程会停止,在sleep的过程中,UI会停止变化,一般不要在主线程中sleep


9. 编程的时候逻辑一定要清晰

最近在思考,是不是编程的时候基本上都可以按三条线来实现

一条是UI线:主要是UI显示,UI更新等等

一条是数据线:数据获取、存储、调用、更新等等

一条是命令线:主要是各种用户触发等等

一个流程包括三条线,这样逻辑会不会清楚一点?


10. 以前写程序,问题解决了从来不总结,之后遇到问题就回忆半天,很累,以后还是多记录一些吧


11. 欢迎球迷朋友们下载我的PalmNBA,下载链接 http://www.appchina.com/app/com.snaillabs.palmnba/


Unity安卓开发合规指南:用户同意前获取Android ID的避坑方案 在移动应用开发中,设备标识符(如Android ID)的合规收集是开发者必须掌握的基础技术。其原理在于,这类标识符能够跨会话追踪设备,涉及用户隐私。从技术价值看,正确管理标识符采集时机,不仅是满足Google Play政策的要求,更是遵循GDPR等全球数据隐私法规、保障用户权利的关键工程实践。在应用场景上,无论是游戏数据分析、广告归因还是用户行为追踪,都需建立在合法合规的数据收集基础上。本文聚焦Unity引擎中常见的Android ID获取雷区,深入剖析在用户同意隐私政策前调用SystemInfo.devi 阅读详情

相关推荐

TMS FMX UI Pack v3.7.5.8(2021年2月1日)完整源

  TMS FMX UI Pack v3.7.5.8 Source Code   TMS FMX UI软件包的主要特点:   格   策划人   丰富的编辑器   树视图   PDF库   页面控制   拼写检查   表格检视   工具列   备忘录   编辑   选择器和选择器   仪器仪表和多媒体   杂   TMS FMX UI Pack v3.7.5.8功能丰富且功能强大的网格零件   TTMSFMXGridFilterPanel   它具有用于扩展FMX的过滤器

q2315702359的博客 1055

安卓手机游戏开发制作!关于Android程序员近的状况,技术详细介绍

前言 今年的面试形势不容乐观,竞争愈发激烈,进大厂的难度又增加了。 但是,梦想还是要有的,万一实现了呢?这不就有一只幸运鹅。 我的一个朋友,几天前,他百年不见更新的朋友圈有了新动态,他居然晒了他的offer,配的文案就是这篇文章的标题:算法太TM重要了!刷完这些题,我终于拿到了梦寐以求的大厂offer! 下面有不少前来贺喜的朋友,就是发言酸溜溜的。 假如时光流转,你还会选择读计算机专业从事安卓开发吗? 俗话说只要专业选的好,天天过得像高考 不知道有多少同学和小编一样 当年选专业时填报了计算机专业 选择计算

左夜天 420

基于MQTT的安卓开发

制作一个简易的基于MQTT协议开发的安卓调试助手 由于考研的缘故,很久没有做项目了,近这几天忙着毕设,用了三天去踩了不少坑,分享一下。 1、Android Studio 导入MQTT库 网上导入MQTT库大致有两种办法 第一种办法:MQTT库文件放入项目的根目录中 MQTT库在GitHub的地址:https://github.com/eclipse/paho.mqtt.android.git 再...

weixin_43262746的博客 993

安卓ndk开发书籍,,2024年Android开发爆款推荐

都说三年是程序员的一个坎,能否晋升或者提高自己的核心竞争力,这几年就十分关键。技术发展的这么快,从哪些方面开始学习,才能达到高级工程师水平,后进阶到Android架构师/技术专家?我总结了这 5大块;我搜集整理过这几年阿里,以及腾讯,字节跳动,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 PDF(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。Java语言与原理;大厂,小厂。Android面试先看你熟不熟悉Java语言高级UI与自定义view。

2301_76278775的博客 747

关于近几天碰到的小问题(汇总)

问题1:关于在scroolview中放置listview的问题(不管是listview还是expandablelistview)都会存在滑动冲突的问题,结果是listview显示不全 ,可以去重写 测量的方法,不过这里推荐的方式设置listview的headerview或者 底部的view可以达到相同的效果。 问题2:关于图片的背景和source的设定,这是两个完全不同的属性,效果会叠加,一般如

LeeCoding的博客 612

Android 获取近几天的日历日程

Android 获取近几天的日历日程

Choi晨的博客 2274

三星s10更新Android10,经历了三星s10的近一次升级,我对安卓对三星有了新的认知...

16 个回复ackerxeverything2020-01-07应用怎么迁到sd卡?不能迁的吧?【在yijingmaiche的大作中提到:】:前几天装了个内存卡,图新鲜把一些应用挪到了SD卡上,然后赶上安卓10的大升级,我随手就升了,升完了感觉不到任何大的改变,反而是大批的APP闪退,重装也不行,持续闪退,没有任何理由,问了一圈,怀疑可能是跟应用挪到SD卡有关系,于是恢复出厂设置,重装A...

weixin_33443597的博客 1407

apk开发框架!关于Android程序员近的状况,完整PDF

开头 近,程序员这个圈子可谓热闹非凡,前不久,一个神奇的开源项目996.ICU诞生,几天时间就有超过10w+ star 和 1w+ fork ,可谓是Github上star增长快的项目。996.icu将程序员996的严重加班情况带到了大众面前,马云、刘强东等互联网大佬也因为996发声被推到了舆论浪尖。 这事儿才消停几天,互联网圈又出现大瓜,今天下午,一个开源库go-common的开源库又引起了瓜友们的热议,才短短几个小时就达5000+ star 和 5000+ fork。过一会刷新一次就会涨几百个sta

Sunbuyi的博客 112

近进行Android移植以及NDK开发的编外心得

android是硬件,软件没前途。

郝玉杰的专栏 443

Android开发从零开始,,安卓开发面试题目

其实客户端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。然而Android架构学习进阶是一条漫长而艰苦的道路,不能靠一时激情,更不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。贵在坚持!《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可免费领取!贵在坚持!《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门。

weixin_42179304的博客 971

4年安卓开发总结

马上就要转行了,想把这几天的开发经验总结一下。除了游戏APP没做过,其他方面的APP都折腾过。每次面试都会问别人两个问题,谈谈你近做过的项目和讲一下你印象深刻的开发问题(如果回答就继续问他是如果解决的)。说实话这也是反过来问我自己这些年折腾了啥?我觉得这得从两方面说起,首选应该是技术。令我印象深刻的问题就是安卓的兼容,没错就是兼容。我认为所有安卓程序员不是在解决兼容的路上就是正在准备解决兼容

taojinsha的专栏 958

近对招聘Android开发人员的一些思考

公司要招聘Android开发人员,故面试了大概十来个人,因为是小公司,所以来的人大多是90后,比较年轻。90后大概二十三四岁吧,从简历上看都写了一到两年的工作经验。也因为是小公司,所以对工作经验这些没有太严格的要求,只要懂Android开发,会用基本组件,能做出常规的APP,就行了,人如果看起来聪明就更好了。PS:小公司并不是说给不起工资,但是大多数人就是喜欢大公司,这是一种无奈。 从面试了解到

ctcwri的专栏 9003

近很火的微信空白朋友圈发布教程!安卓、苹果通用!

各位小伙伴,晚上好啊!已经一个月没有更新了,这篇文章几天之前就要推送了,一直拖到现在,真是名副其实的“拖更王”。 微信作为我们手机的必备App,我们的工作生活完全离不开它,而关于微信功能以及使用技巧,更是一直受到大家欢迎,比如“透明头像”、“空白签名”、“个性签名居中”、“自定义地区”...等等各种! 今天,我们为大家分享一下近非常火的空白朋友圈。这个是系统的一个小Bug,并不是以前的那种透...

极客研习社 1753

iphone android 朋友圈,近很火的微信空白朋友圈发布教程!安卓、苹果通用!

原标题:近很火的微信空白朋友圈发布教程!安卓、苹果通用!各位小伙伴,晚上好啊!已经一个月没有更新了,这篇文章几天之前就要推送了,一直拖到现在,真是名副其实的“拖更王”。微信作为我们手机的必备App,我们的工作生活完全离不开它,而关于微信功能以及使用技巧,更是一直受到大家欢迎,比如“透明头像”、“空白签名”、“个性签名居中”、“自定义地区”...等等各种!今天,我们为大家分享一下近非常火的空白朋...

weixin_30888681的博客 703

近几天突然googlemap打不开了

近几天突然google map打不开了,原因,环境问题。以前每次都根据C盘的用户目录下的.android\debug.keystore创建指纹,然后创建apiKey,以前都成功的,不知怎么搞的,突然我的window\preferences\android\build中的default debug keystore的值和C盘下的debug.keystore不一样。导致生产的apiKey不一样。而我...

yfxuchao的专栏 828

Android面经:我在秋招中踩过的那些坑,这些问题一定要注意!,30岁以后搞Android已经没有前途

首先说明一下,这里说的总结不是针对秋招的,是已经毕业的。毕业生面试项目很重要,没有工作经验好有项目经验,否则找工作将会难上加难,所以,好在大学期间做一些项目,做项目时好做一些与网络交互有关的项目,因为,工作时做的项目几乎都是需要网络与后台交互的。现在有很多开放的API,可以用来做一些练手的项目,下面列出来一些我认为比较不错的API,希望可以帮到你。干货集中营的APIdiycode做项目时,在你把基础知识掌握后,建议用一些比较常用的库来进行开发,这样不仅能提高工作效率,还能够为以后工作积累经验。

2401_84153177的博客 997

Android开发实战!揭秘今年Android春招面试必问问题有哪些?成功收获美团,小米安卓offer

" 对于程序员来说,如果哪一天开始他停止了学习,那么他的职业生涯便开始宣告消亡。” 高薪的IT行业是众多年轻人的职业梦想,然而,一旦身入其中却发觉没有想像中那么美好。被称为IT蓝领的编程员,工作强度大,像个编码“机器”;技术更新换代快,饭碗不稳定。随着年龄的增长,尤其是工作2-5年的Android程序员该何去何从?就得看自己的眼光、胆识和机遇了! 前几天和我一个在阿里的朋友闲谈的时候,特意问了这位10年Android开发的“骨灰级”面试官,阿里巴巴面试都问哪些原理问题。特此整理出这篇文章,希望对大家的面.

fanzhang_vip0723的博客 166
上一篇: ubuntu下cocos2d配置及android工程创建
下一篇: Ubuntu下MPlayer的艰难配置过程
SnailLabs
博客等级 码龄14年 3粉丝 8原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值