前言 最近完成了移动编程课程的学习,加上其它安卓开发项目的经历,感觉收获颇为丰富。故在此总结整理安卓开发中比较常见的一些问题,技巧和指南。...项目新建 Android Studio新建项目时选择一个Activity模板作为默认MainActivity,先选择Empty Activity作为开始。...接着,Minimum SDK指的是本项目所支持的最小安卓SDK,点击“Help me choose”会出现如下界面帮助选择合适的安卓最小SDK版本: 图1 安卓API版本选择帮助界面 其中CUMULATIVE...本项目选择支持默认的安卓6.0及以上。...3.2 安卓项目文件及目录结构简介 安卓应用配置文件AndroidManifest.xml: 用于配置包名、应用权限、应用图标及名称、主题等基本信息,此外包括了应用的Activity相关配置,没有在此进行注册的
更重要的是,今天我就要把这些都展示给您,让您知道在开发安卓程序过程中是多么的爽快。 类型别名:让你的事件监听更具可读性 当然,类型别名是有很多用处的。...众所周知, RecyclerView 和 ListView 一样没有标准的处理单项视图点击事件的方式,所以我们必须动手自己写。...协程 在 Kotlin 1.1 中协程是一个令人振奋的新闻。尽管最后发布的依然是带有“实验性”的包,不过它已经功能齐全并且从今天开始你也可以开始在你的项目中使用了!...这里有几个例子: 第一个是你很可能希望看到的 Jetbrains 官方提供的库: kotlinx-coroutines-android ,这个库实现了协程在安卓中的使用。...其他一些对于安卓开发者来说很酷的事情 在这个版本中还有很多其他的改进,但是我想重点提出几个关于针对安卓开发的功能。
为安卓用户端接入LeanCloud数据及消息推送SDK 按照官方文档中对于Java SDK的说明,在Android Studio中使用Gradle引入LeanCloud的数据存储和消息推送的Java SDK...SDK和消息推送服务配置正常以后,可以正常收到如下推送: 在安卓实机上收到的来自树莓派的推送消息 传感器数据实体 传感器记录数据在云后端数据库中的实体如表所示: State表 列名 数据类型 说明...App详细设计 为了减少项目复杂度,本项目采用最简单的安卓开发模式:MVC。一个MainActivity和对应界面即可。...在MainActivity的layout中,使用SwipeRefreshLayout包裹RecyclerView以实现下拉加载的功能。...在MainActivity中为SwipeRefreshLayout添加下拉监听,下拉动作发生时执行服务器数据拉取动作。 点击右上角感叹号图标可以筛选有数据超过阈值的记录,再次下拉刷新可以取消筛选。
学习安卓下载了android studio 3.5,用的安卓版本是28,android9。...implementation 'com.android.support:recyclerview-v7:28.0.0-rc01' 就可以使用了 在layout中,使用 <android.support.v7...中,在project structure引入包的办法有链接的,请留一个!!!...在最近的实验中发现,可以在project structure中添加google未androidx设计的recycleview 做法: 点击File- project structure- All Dependencies...下的“+”号 – 选择Libratry Denpendeny- 输入“recyclerview”- search 就会有一个androidx.recyclerview 使用这个就可以了 总结 以上所述是小编给大家介绍的
✅简易的安卓天气app(一)——解析Json数据、数据类封装 ✅简易的安卓天气app(二)——适配器、每小时数据展示 简易的安卓天气app(三)——城市管理、数据库操作 ✅简易的安卓天气app(四)—...(源码见页尾✨) 本项目用到的天气api接口天气api 详细操作内容见第一篇-->简易的安卓天气app(一)——解析Json数据<-- 此接口当我们默认不拼接参数,直接访问会得到当前位置的温度Json...所以接下来就是进行安卓SQLite数据库的一些操作,把当前位置信息保存到数据库中(城市名,城市温度,更新时间) 待实现效果: 数据库成功插入当前位置数据信息(之前测试插入过几条的测试对照用数据):...来绑定控件,此时在城市管理页面要求点击某个城市,需要传值到MainActivity,并获取指定点击城市的天气信息 所以适配器中添加一个点击事件,首先在适配器中添加接口 public interface...AddViewHolder中绑定点击事件 class AddViewHolder extends RecyclerView.ViewHolder { TextView cityCity,
比如,当你在Apple Music中创建自己的播放列表时,如果不切换屏幕或者无尽的滚动一遍被选中的歌曲,你都不清楚自己选择了哪些歌曲。 如果我们想使用筛选功能事情就变得更糟糕了。...比如,如果你点击了一个未被选择的item,将发生以下事情: 被点击的item从未被选中的item列表中移除并被添加到包含了两个列表的容器中。 选中的item的位置是固定的。...选中列表按照被选择的先后顺序排列) 一个隐藏的item被添加到选中列表中。 对被点击的item执行过渡动画。 删除被点击的item并显示选中列表中隐藏的item。...这里是我在实现这个库的过程中,Kotlin的这些特性给我带来了方便: 1.扩展函数 Kotlin的扩展函数功能使得我们可以为现有的类添加新的函数,而不用修改原来的类。 就拿安卓的View来说。...不幸的是streams在安卓开发中还不能使用。 对我们的多选库来说,我们需要对除了指定id的child之外的所有子view使用透明度动画。
✅简易的安卓天气app(一)——解析Json数据、数据类封装 ✅简易的安卓天气app(二)——适配器、每小时数据展示 ✅简易的安卓天气app(三)——城市管理、数据库操作 简易的安卓天气app(四)—...,首先,我们已经在xml布局中运用了AutoCompleteTextView,会自动根据输入的一个字匹配传入的值,有就显示提示,如下,这个弹出提示框其实是可以自定义样式的,这里就用默认了。...后续会更新,适配器也是安卓提供的ArrayAdapter,传入的是全国所有市的String[]数组。...,只要把此类中已经封装好的全部城市集合传进去就行了,前面文章已经讲述过RecyclerView的用法,同时,也可以实现点击item跳转到主页获取天气的操作,前面文章也已经提到,不想过多赘述了; 若是嫌弃城市列表太多...,都显示在一个页面还得滑动屏幕一个个找; 那么,二级RecyclerView不妨考虑一下:先显示全部省,点击省时,弹出市; 亦或者Spinner、两个RecyclerView联动,等等方法;==(源码已给
安卓的app加固如何做? 安卓的混淆原理是什么? 谈谈你对安卓签名的理解 为什么WebView加载会慢呢? 如何优化自定义View FC(Force Close)什么时候会出现?...Android中IPC方式、各种方式优缺点? 讲讲AIDL?如何优化多模块都使用AIDL的情况? 为什么选择Binder? Binder机制的作用和原理?...启动一个程序,可以主界面点击图标进入,也可以从一个程序中跳转过去,二者有什么区别?...签名和校验的主要过程 keystore和证书格式 jarsigner和apksigner的区别 在签名时,除了要指定keystore文件和密码外,也要指定alias和key的密码,这是为什么呢?...安卓采用自动垃圾回收机制,请说下安卓内存管理的原理? 开放性问题:如何设计垃圾回收算法? Android中App是如何沙箱化的,为何要这么做? 一个图片在app中调用R.id后是如何找到的?
✅简易的安卓天气app(一)——解析Json数据、数据类封装 简易的安卓天气app(二)——适配器、每小时数据展示 ✅简易的安卓天气app(三)——城市管理、数据库操作 ✅简易的安卓天气app(四)—...展示一天中每个小时的天气,实现效果(若是想从当前时刻开始,获取小时温度,可自行实现,源码见页尾) 涉及内容 获取网络数据 数据实体类的封装 异步获取网络数据 Gson工具类解析Json 界面设计RecyclerView...适配器adatper 项目结构 界面设计 既然用到了RecyclerView,那么就离不开adapter,RecyclerView负责准备一个框框,adapter负责把什么数据传到框内,顾名思义适配器...layout_width="match_parent" android:layout_height="match_parent" /> id自定义名字,主要时在...LinearLayoutManager.HORIZONTAL, false); rlvHourWeather.setLayoutManager(layoutManager); 到此处就能完美展示每小时数据了,步骤在目录中
[1].本文接上文:RecyclerView基本使用 [2].RecyclerView把很多事都交给了我们,就连item的点击事件都没有 [3].在adapter中加载布局的时候,可以为item...添加事件 [4].没有点击效果,还要自己添加点击的选择器 [5].RecyclerView增删条目以及条目运动效果 ---- 一、点击事件 方式1.修改:FirstRvAdapter#onCreateViewHolder...1.FirstRvAdapter中监听点击事件 public FirstViewHolder onCreateViewHolder(final ViewGroup parent, int viewType...rv点击1.gif ---- 二、背景选择器 添加点击效果:可以自定义选择器 为item的背景添加:安卓自带波纹样式的选择器 //有边界 android:background="?...增加与删除.gif 本文由张风捷特烈原创,转载请注明 更多安卓技术欢迎访问:https://www.jianshu.com/c/004f3fe34c94 张风捷特烈个人网站,编程笔记请访问:http
安卓的app加固如何做? 安卓的混淆原理是什么? 谈谈你对安卓签名的理解 为什么WebView加载会慢呢? 如何优化自定义View FC(Force Close)什么时候会出现?...Android中IPC方式、各种方式优缺点? 讲讲AIDL?如何优化多模块都使用AIDL的情况? 为什么选择Binder? Binder机制的作用和原理?...启动一个程序,可以主界面点击图标进入,也可以从一个程序中跳转过去,二者有什么区别?...Android Apk V1 签名原理 说下安卓虚拟机和java虚拟机的原理和不同点?...安卓采用自动垃圾回收机制,请说下安卓内存管理的原理? 开放性问题:如何设计垃圾回收算法? Android中App是如何沙箱化的,为何要这么做? 一个图片在app中调用R.id后是如何找到的?
大安卓: 显示安卓的全部资讯。支持下拉刷新方便查看最新的资源。 电影(豆瓣) API是豆瓣提供的,因为限制了每个ip每分钟请求的次数,所以请酌情使用,由此带来的不便请见谅。...玩安卓: 显示玩安卓轮播图及最新内容。 段子: 显示内涵段子和糗事百科的段子内容。 书籍: 检索豆瓣心理学类的书籍并展示。...8、水波纹点击效果详细使用与适配。 9、RecyclerView下拉刷新上拉加载。 10、基于DataBinding的ViewHolder。...toolbar_click.gif 上图是在android 5.1系统下的效果图。在6.0上搜索的点击效果有些许改变,其他基本类似;5.0以下点击则都表现出一般选择器的效果。...对于2:不同按钮点击的水波纹效果 这里不是使用ripple属性了,而是使用系统自带的点击水波纹选择器,给要产生点击效果的控件设置: android:background="?
前面一篇总结了ListView,在这篇我们总结一些这个RecyclerView,我们就从最基本的开始,安卓团队是将RecyclerView定义在support库当中的,因此想要使用RecyclerView...这个控件,首先需要在项目的build.gradle中添加相应的依赖库才行。 ...下面是添加RecyclerView的相应库:(这里的v7:26.0.0-alphal按照自己相应的版本添加) image.png 添加完后记得点击一下 Sysnc Now 来同步一下... 它的基本的创建和添加到XML文件中我们就不在提了,这个比较简单,先看看要是想实现和前面我们写的ListView相同的效果,下面是最重要的适配器里面的代码,注释就是理解的思路,我们选择通篇复制...子项的最外层的布局,我们可以在它上面就点击事件 fruitView = view; // 这里就是获取两个控件
Material:在低版本Android系统中实现Material Design功能的函数库。...49.开源中国 http://www.oschina.net/code/list 50.爱开网(好多总结的源码) http://neast.cn/portal.php 51.EOE安卓开发社区...gid=180 52.安卓巴士 http://www.apkbus.com/ 53.问答类,可以找到解决问题(即使很偏的问题)的方案 http://stackoverflow.com/...from=timeline&isappinstalled=0 112.安卓中的Model-View-Presenter模式介绍 http://www.jcodecraeer.com/a/anzhuokaifa...帮助你在微信群聊抢红包时战无不胜, 附带详细文档 https://github.com/cundong/WeChatLuckyMoney 133.适用于Java和Android的快速、低内存占用的汉字转拼音库
String类型的数组,之后创建ArrayAdapter适配器,注意String,是一个泛型,后面的构造函数里的参数分别为上下文android.R.Layout.simple_list_item 1是安卓系统给的一个...ListView) findViewById(R.id.list _view); listView.setAdapter(adapter); } } 这是一个简单的例子,但是,我们知道第二个参数是安卓提供的一个...使用步骤: 1.在布局文件中使用RecyclerView,定义id,宽高与空间相同 2.准备RecyclerView的子项item布局,之后要在适配器类中使用,这里就不在赘述 3.定义个泛型类,如之前在...get方法获得 getItemCount 就是获得全部item的数量,这里item数量其实就是list中的项目,直接返回其的size就行了 4.准备数据,添加到适配器中 5.创建一个布局管理器LayoutManager...在RecycleAdapter中的onBindViewHolder方法中 ?
前言 公司正在开发一个商城项目,因为项目需要,做了一个仿拼多多的地址选择器,但是与拼多多实现方法有些出入,大体效果是差不多的。废话不多说,先上一张效果动图: ?...,我最主要靠TabLayout加RecyclerView实现这个效果,而拼多多个人猜测是TabLayout加RecyclerView加ViewPager,所以拼多多的RecyclerView是可以侧滑到上一个...SparseArray是谷歌专门为安卓打造的Map,优点是省内存,占用内存没HashMap大。之前我的做法是省级列表数据一个list,市级一个list。。。...这种写法,不但耦合度高,用户也不能自定义最大的地区级别是多少,而且在写法过程中少不了各种switch判断。...为什么不使用一个成员变量来记录当前选中的tab的position,然后在onTabSelected中更新该成员变量?
react-native上下文预加载优化 接下来具体介绍针对安卓端提出的安卓端react-native上下文预加载优化 使用React Native开发混合应用的过程中,我们第一次进入页面(React...安卓端打点后可以发现在ReactActivity的onCreate方法中,耗时最多的是 createRootView()和startReactApplication()这两个操作 对于安卓白屏的问题我们的优化方案是...:提前创建ReactRootView进行render,在runApplication之后直接将创建好的rootView挂载在React-Native view上去 这里是安卓react-native源码时序图...,同时还可以降低app运行的 crash率 项目开发过程中减少View层的嵌套,cpu优化 减少绘制,优化CPU listView性能优化,内存优化 我们在测量短视频项目启动时的内存变化量时发现了一个有趣的现象...因为短视频项目使用的是listView组件ListView 首次加载时都默认最多加载 initialListSize 个子项,所以能保证启动速度,但是在滑动的过程中会逐渐向 ListView 中添加子项
有鉴于此,博主整理了几个可供安卓程序员的技术转型发展方向,供大家参考。1、继续深耕Android的应用开发谷歌爸爸是安卓的爹,要想继续吃安卓这口饭,就要抱紧谷歌爸爸的大腿。...爸爸推出了Compose项目要重构安卓界面控件,咱们马上熬夜通宵拿下Compose,只为体验那般丝滑的吹嘘快感。...2、深入挖掘Android的底层框架首先下载谷歌爸爸提供的AOSP源码,国内各家手机厂商(遥遥领先除外)的安卓系统统统基于AOSP,甭管他什么砰的一声OS,别管他什么摸的一下OS,只要看它开机画面有没有...可是这些年Java也在不断迭代,光光大版本就有Java8、Java11、Java17三个,这几个大版本的众多新特性足够让安卓程序员喝几壶了的。...在学习研究FFmpeg等开源框架的时候,相信您已经逐渐掌握了C/C++编程,那么加把劲用上C++的桌面开发环境Qt,产业互联网正在向您招手啦。
image.png 这里简单说一下我的个人情况: 本人本硕985软件工程,17年毕业后在TP-Link做过接近一年的安卓开发,后来才辞职考研回母校继续提升自我。...所以在2月初决定把重心放在开发上,做自己喜欢的安卓,然后就开始投递简历了。 2月初的时候很多大厂都还没开始招聘暑假实习,我就在牛客网上找大厂的内推贴来看,当时字节跳动每天都有十几个内推贴,甚是疯狂!...第一个项目问到了设计模式中MVC和MVP的区别,ListView和RecyclerView的区别,如何用ListView实现RecyclerView等同的效果;第二个项目比较大,当时代码量有三千行左右,...面试复习路线 接下来分享的系统学习资源以详解各大互联网公司的 Android 常见面试题为主线,从面试的角度带你介绍必备知识点,以及该知识点在项目中的实际应用。...关于面试刷题,我个人也准备了一套系统的面试题,帮助你举一反三。 以上内容均免费分享给大家,需要完整版的朋友,点这里可以看到全部内容。或者点击 【这里】 查看获取方式。
issue #19 修复 定时任务启动延时显著 (试修) issue #21 修复 JavaScript 模块名被覆盖声明时导致存在依赖关系的内部模块无法正常使用的问题 issue #29 修复 高版本安卓系统点击快速设置面板中相关图标后面板可能无法自动收起的问题...(试修) issue #7 修复 高版本安卓系统可能出现部分页面与通知栏区域重叠的问题 修复 安卓 10 及以上系统无法正常运行有关设置画笔颜色的示例代码的问题 修复 示例代码 “ 音乐管理器 ”...文本编辑器设置字体大小时可用最大值受限的问题 修复 部分安卓系统脚本运行结束时日志中无法统计运行时长的问题 修复 使用悬浮窗菜单关闭悬浮窗后重启应用时悬浮窗依然开启的问题 修复 布局层次分析时长按列表项可能导致弹出菜单溢出下方屏幕的问题...修复 安卓 7.x 系统在夜间模式关闭时导航栏按钮难以辨识的问题 修复 http.post 等方法可能出现的请求未关闭异常 修复 colors.toString 方法在 Alpha 通道为 0...” 设置选项 (安卓 9 及以上) 优化 应用启动画面适配夜间模式 优化 应用图标增加数字标识以提升多个开源版本共存用户的使用体验 优化 主题色增加更多 Material Design Color
领取专属 10元无门槛券
手把手带您无忧上云