Android学习
文章平均质量分 60
Android学习
悠自在
有能力做出成绩,要知道一切来之不易,心不猖狂。
没能力作出成绩,要懂得成长需要努力,心不焦虑。
展开
-
AndroidStudio每次构建项目都在download maven-metadata.xml问题
原因及解决方法:1、引用资源版本号不确定,每次构建都会通过资源库中下载maven-metadata.xml,然后得到最新发布版本号或最新版本号,才会根据这个版本号来下载对应的jar。例如:implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'修改为:implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:6.6.原创 2021-01-05 14:39:29 · 7099 阅读 · 1 评论 -
Android之网络状态变化监听
在BaseActivity中,接收网络状态变化广播。使用EventBus进行相应的提示通知。一、自定义NetBroadcastReceiver网络监听import org.greenrobot.eventbus.EventBus;/** * Created by zachary on 2020/04/10. * 全局网络状态监听 */public class NetBroadcastReceiver extends BroadcastReceiver { @Override原创 2020-09-03 14:46:39 · 1162 阅读 · 0 评论 -
Android之5.0至10.0大变化
Android 5.0新特性: MaterialDesign设计风格 支持64位ART虚拟机(5.0推出的ART虚拟机,在5.0之前都是Dalvik。他们的区别是:Dalvik,每次运行,字节码都需要通过即时编译器转换成机器码(JIT)。ART,第一次安装应用的时候,字节码就会预先编译成机器码(AOT)) 通知详情可以用户自己设计 Android 6.0新特性 动态权限管理 支持快速充电的切换 支持文件夹拖拽应用 相机新增专业模式 And原创 2020-06-30 17:12:13 · 658 阅读 · 0 评论 -
Android之设置WebView的UserAgent
设置WebView的UserAgent标记,便于WEB端统计分析、并且这样限制了H5在设置了指定的UserAgent的APP才可以浏览Url中内容。原创 2020-06-28 14:53:14 · 4057 阅读 · 0 评论 -
Android之集成微信支付
安卓实现微信支付,作为移动端相对来说还是比较简单的。为了保证安全性,校验任务应该放在后台处理。首先注册开发平台,获取集成的能力,申请你的 AppID。微信开放平台:资源下载1.在 build.gradle 文件中,添加如下依赖即可:dependencies { api 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'}2.在AndroidManifest.xml 清单配置文件中添加必要的权限:<us原创 2020-05-14 10:23:09 · 2611 阅读 · 1 评论 -
Android之视图绑定ViewBinding使用
问题:最近使用模块化开发一个新项目,但是Butterknife真是闹心,即使在我成功弄了R2,项目也正常运行之后还是发现很多问题。经常出现的R2爆红,必须重新构建之后才可以找到文件(强迫症表示不服); 又偶尔出现xml文件找不到的问题,之后莫名其妙的有可以找到了。我猜想可能和这个R2有关系,真心不好用。使用视图绑定ViewBinding的优点:简洁、编译安全、编译速度快。原理:...原创 2020-05-08 10:36:11 · 4849 阅读 · 0 评论 -
AndroidStudio常用快捷键
脱离Eclipse有一年了,开发安卓使用AndroidStudio,觉得对常用快捷键也知道不多。在此记录一下,挺方便开发的,可以提高不少效率。1. Ctrl+G同时按下Ctrl+G快捷键弹出快速定位框,在框中输入行数点击OK即可快速切换到对应的行数。2. Ctrl+E同时按下Ctrl+E快捷键,弹出最近打开文件列表,可以快速选择最近曾经打开的文件。3. Ctrl...原创 2018-11-22 15:37:40 · 219 阅读 · 0 评论 -
Android之延迟加载(LazyLoading)
定义:延迟加载也称为惰性加载,例如在长网页中延迟加载图像。用户滚动到它们之前,视口外的图像不会加载。这与图像预加载相反,在长网页上使用延迟加载将使网页加载更、可以帮助减少服务器负载。那么延迟加载有什么好处:首先它能提升用户的体验,试想一下,如果打开页面的时候就将页面上所有的图片全部获取加载,如果图片数量较大,对于用户来说简直就是灾难,会出现卡顿现象,影响用户体验。 有选择性地请求图片...原创 2018-11-22 15:25:33 · 2537 阅读 · 0 评论 -
Android之常用加密算法
今天记录一下,安卓常用的加密算法。并无干货,只是自己的对算法类别的学习,不知道是否可以应对接下来的移动支付。可逆加密和非可逆加密可逆加密根据其加密解密是否使用的同一个密钥而可以分为对称加密和非对称加密。对称加密:是指在加密和解密时使用的是同一个密钥。非对称加密:在加密和解密过程中使用不同的密钥,即公钥和私钥。公钥用于加密,所有人都可见,私钥用于解密,只有解密者持有。MD5MD5即...原创 2019-03-19 19:20:49 · 452 阅读 · 0 评论 -
Android之页面添加水印
先上个效果图:自定义类:import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.ColorFilter;import android.graphics.Paint;import android.gr...原创 2020-04-24 14:32:07 · 1994 阅读 · 0 评论 -
Android之获取移动网络运营商名称
原来的获取方法不好用了,适配安卓10.0设备,最新获取移动网络运营商名称方法。获取权限:android.permission.READ_PHONE_STATE工具类代码:/** * Created by zachary on 2020/04/02. * 获取设备信息 */public class DeviceUtil { /** * 获取网络运营商名...原创 2020-04-02 16:52:42 · 4674 阅读 · 4 评论 -
Android之RecyclerView隐藏item显示空白问题
需求要把recycleview的其中一个条目隐掉,把内容隐藏,出现空白区域,item高度不会改变。解决:把 item 的高度宽度设置为 0 来隐藏。 // 防止隐藏item出现空白 public void setVisibility(boolean isVisible, View itemView) { RecyclerView.LayoutParams p...原创 2020-02-28 17:47:00 · 2408 阅读 · 0 评论 -
Android之Service保活
临近年关,这一年的自己也有了一定的进步,想着马上就可以回家过年内心实在欢喜,感谢这一年的所有!临危受命,需要开发一个实时定位坐标采集的小项目。要求很简单:定位、地图划线,然后就是后台服务的保活操作了。今天,在此记录GitHub上好用的轮子:DaemonLibrary。集成方式:Step 1. Add the JitPack repository to your build file...原创 2020-01-20 14:26:40 · 3385 阅读 · 0 评论 -
Android之RecyclerView左滑编辑效果
为了模仿QQ聊天列表,实现左滑编辑的效果。推荐万能的适配器:BaseRecyclerViewAdapterHelper地址。但是这个适配器并没有可用左滑编辑的效果。实现侧滑效果,我们可以自定义RecyclerView:import android.content.Context;import android.graphics.Rect;import android.support...原创 2019-12-13 15:45:48 · 762 阅读 · 0 评论 -
Android之RecycleView类似聊天显示最底部数据
实现类似聊天列表,初始加载显示最底部数据,数据刷新重新显示最底部数据。一、使用setStackFromEnd从底部开始加载数据。LinearLayoutManager linearLayoutManager = new LinearLayoutManager(mActivity);linearLayoutManager.setStackFromEnd(true);rv_view.se...原创 2019-12-13 15:15:04 · 2524 阅读 · 2 评论 -
Android之弹出Dialog监听Back返回键点击事件
需求:弹出Dialog为不可关闭,点击返回按钮时退出页面。推荐一个好用的弹出框:kongzue的github地址,可满足大部分需求。实现监听返回键代码:AlertDialog alertDialog;//省略其他代码alertDialog.setOnKeyListener(new DialogInterface.OnKeyListener() { @Override ...原创 2019-12-13 14:47:19 · 2590 阅读 · 0 评论 -
Android基础知识二(应用程序框架)
Android分为应用层、应用框架层、系统运行库层和Linux内核层。在开发应用时都是通过框架来与Android底层进行交互,接触最多的就是应用框架层。作为小白,学习Android,接触了大部分Android应用程序框架。在此总结一下,内心有个大致了解:Android.app: 提供高层的程序模型和基本的运行环境Android.content: 包含对各种设备上的数据进行访问和发布...原创 2017-12-12 09:03:44 · 417 阅读 · 0 评论 -
简单的Android之移动小球
实现小球触摸移动!原创 2017-10-12 13:05:05 · 1992 阅读 · 0 评论 -
Android网络数据传输格式Json和Xml
看到书上一句话:"没有网络的移动端是痛苦的,与世界交互才成就移动端的魅力"!想深入学习安卓开发也是网络请求必须掌握的。题外话:今年的安卓整个工作环境萧条,真的不好找工作,各大培训机构涌起,填鸭式培训了一大批“人才”,本人不喜欢培训,也许是对于自己学习能力的自信吧,不论前途如何,努力的人最后总是可以自信的展开笑容。有很多框架可以获取Json和Xml格式的数据,大大方便了程序员的快速集成和使用...原创 2017-12-14 15:53:19 · 896 阅读 · 0 评论 -
Android基础知识五(ListView、OOM)
学习在于深入持续的获取知识。不论社会怎么变动,淘汰的永远只是浅尝辄止的人。安下心,继续往下看,相信不断积累的果效回来到。ListView一个最常见且复杂的控件ListView - Adapter(1)一个Adapter的对象扮演一个桥梁的角色。这个桥梁连接着一个AdapterView和它所包含的数据,Adapter提供了一个通到数据项的途径,还负责为在数据集里的每个数据项生成一个View...原创 2017-12-25 08:25:05 · 382 阅读 · 0 评论 -
Android基础知识一(Dalvik虚拟机(DVM)、基本架构、启动过程)
准备进入安卓开发的行列,开始几篇基础文章的总结,获取并不怎么针对开发应用,仅仅是为自己多了解一些。本文对部分安卓基础知识的总结:Dalvik虚拟机(DVM)、Android基本架构、Android的启动过程一、Dalvik虚拟机(DVM)(1)Android系统可以简单地完成进程隔离和线程管理,每一个Android应用都在底层会对应一个独立的Dalvik虚拟机实例,其代码在虚拟机的...原创 2017-12-12 08:51:10 · 11217 阅读 · 0 评论 -
Android基础知识三(Activity)
今天,参加了校园招聘,没有接触到任何技术知识。感觉:“不是买脑子,只是单纯的卖肉”,各种霸王条款... ...更没有关于安卓的岗位,不论怎样都要脚踏实地学习,终会有伯乐来看马~深入了解Activity,这一基础、重要的东西。Activity 的生命周期(网络图片)(1)覆写这些回调函数时,首先要记得一定要调用基类的构造函数。(2)通过onCreatet()关联出最后的UI,一...原创 2017-12-15 16:53:00 · 355 阅读 · 0 评论 -
Android基础知识四(View类、ViewGroup类和View绘制流程机制)
View类、ViewGroup类和View绘制流程机制。虽然,一直以来都不想承认安卓属于前端,但是Android同样是在最前面和人来交互的技术。如何展示、如何交互是移动端的魅力。了解View的实现原理也是为自己打基础。如果不知道View是怎样的流程,去哪里和别人交流都会觉得心虚~View类介绍绘制的流程:(1)绘制按照视图树的顺序进行。视图绘制时会先绘制子控件。如果视图的背景可见,...原创 2017-12-17 19:19:32 · 774 阅读 · 0 评论 -
Android基础知识六(JNI)
来来了解一下JNI吧,也许工作中并不一定用得着,但是也得知道一下大概内容呀。总结安卓中关于JNI的基础知识,有以下三个部分。(第一部分)A) 创建一个类(HelloWorld.java)或者在原来的类com.example.hellojni.HelloJNI中声明本地方法。(1)使用关键字native声明本地方法,表明这两个函数需要通过本地代码C/C++实现。public n...原创 2017-12-29 10:09:33 · 273 阅读 · 0 评论 -
Android基础知识七(基础补充)
安卓知识一向很多、很杂,只能在学习中不断积累,总结了一些基础知识,也是了解一下,真正的掌握是在运用中不断去理解、记忆。下个阶段进入实战阶段,通过每一个例子学习,不断增加成就感,才能坚持下去。Android中的动画模式(其实还有很多)(1)Tween:这种实现方式可以使组件移动、放大、缩小以及产生透明度的变化。(2)Frame:传统的动画方法,通过顺序的播放排列好的电影。导入Ja...原创 2017-12-29 10:13:59 · 249 阅读 · 0 评论 -
Android笔记之琐碎知识
Android系统的缔造者是精通Java和linux。想深入安卓需要有扎实的Java和linux基础。安卓由五方面组成:LinuxKernel、Libraries、AndroidRuntime、Applicationframework、Application。Android4.1==16;动画特效开始展露头角Android5.0==21;语音很特别、使用64位处理器...原创 2018-04-14 15:56:37 · 205 阅读 · 0 评论 -
Android笔记之界面布局
界面设计:相关类:Activity、Fragment、View、ViewGroup、Layout。视图:简单控件:Button、ImageButton、ToggleButton、TextView、EditText、RadioButton、CheckBox、ImageView、ProgressBar、SeekBar、RatingBar等。高级控件:AutoCompleteTex...原创 2018-04-14 15:59:15 · 369 阅读 · 0 评论 -
Android笔记之控件
按钮:Button、ImageButton、ToggleButtonButton:android.widget.Button继承android.widget.TextViewButton是显示文本的按钮。ImageButton:android.widget.ImageButton继承android.widget.ImageViewImageView是显示图片的按钮。ToggleButton:...原创 2018-04-14 16:01:22 · 359 阅读 · 0 评论 -
Android笔记之Activity、Fragment
个人读书笔记,看看活动和碎片的流程原创 2018-04-14 16:04:13 · 456 阅读 · 0 评论 -
Android笔记之Intent
安卓意图是一种消息机制,活动、服务和广播接收器之间的调用和消息传递都是通过意图实现的。意图实现组件之间的通信:(以下三种)1.启动活动:startActivity()startActivityForResult()2.启动服务:startService()//启动一个本地服务bindService()//连接一个远程服务3.发送广播:调用广播接收器sendBro...原创 2018-04-14 16:05:38 · 179 阅读 · 0 评论 -
Android笔记之数据存储
四大存储方式:文件系统:保存在本地文件中,使用JavaIO流技术实现对数据的读写数据库:SQLite数据库:性能和安全都很好云服务:网络通信技术访问SharedPreferences:存放少量的“键-值”对形式的数据(控件状态,用户偏好)实例:健康助手设计用户实现:增、删、改、查---->数据的操作数据库设计:设计表、字段。本地文件格式设计:自己设定格式,并...原创 2018-04-14 16:08:11 · 266 阅读 · 0 评论 -
Android笔记之ContentProvider与Service
使用内容提供者共享数据:(ContentProvider实现数据的共享)所要学习的内容:内置的内容提供者;自定义的内容提供者;ContentURI含义。Android的系统是基于Linux的,文件访问权限控制很严格,不同的用户启动不同的应用。内置的内容提供者:(当然可以自定义内容提供器)多媒体音频文件、视频文件、图片、联系人、电话记录、...原创 2018-04-14 16:10:37 · 790 阅读 · 0 评论 -
Android笔记之多线程
多线程开发:(多任务、分时设计)进程:一个执行中的程序、一个进程有一个独立的内存空间、一组系统资源。内部数据、状态完全独立。线程:一个进程可以包含多个线程.多线程:(计时器案例)单个程序中:运行多个不同的线程、执行不同的任务(多个语句可以看上去几乎同一时间内同时完成)完成某特定功能的代码,程序中单个顺序的流控制同类多个线程共享一块内存空间和一组系统资源Java中的线程:...原创 2018-04-14 16:12:01 · 141 阅读 · 0 评论 -
Android笔记之广播接收器
广播接收器:五个组件(活动、服务、广播接收器、内容提供者、意图)广播概述:一些系统发出的广播:时区改变、电池量低、照片已被拍、改变语言习惯自己应用发出广播:标准广播:采用异步方式并行发送广播,同时发送多个广播sendBroadcast()发送标准广播有序广播:采用同步方式串行发送广播,同意时刻只能接收一个广播sendOrderedBroadcast()发...原创 2018-04-14 16:13:25 · 269 阅读 · 0 评论 -
Android之图片三级缓存
一、概述:现在android应用中不可避免的要使用图片,有些图片是可以变化的,需要每次启动时从网络拉取,这种场景在有广告位的应用以及纯图片应用(比如百度美拍)中比较多。现在有一个问题:假如每次启动的时候都从网络拉取图片的话,势必会消耗很多流量。在当前的状况下,对于非wifi用户来说,流量还是很贵的,一个很耗流量的应用,其用户数量级肯定要受到影响。当然,我想,向百度美拍这样的应用,必然也有其内部的图...原创 2018-04-22 20:57:12 · 266 阅读 · 0 评论 -
Android之App应用内存分配
内存分配,默认16M。原创 2018-04-22 23:00:42 · 2280 阅读 · 0 评论 -
Android笔记之AsyncTask
AsyncTask的四个重写方法: onPreExecute(): 这个方法在后台服务开始执行之前调用。用于进行一些界面上的初始化操作,比如显示一个进度条对话框等。 doInBackground(): 这个方法中的所有代码都会在子线程上运行,应该处理耗时操作,不可以进行UI操作,如需要更新UI元素,可以调用publishProgress()方法完成 onProgr...原创 2018-04-22 23:38:16 · 429 阅读 · 0 评论 -
Android笔记之多媒体开发
安卓作为移动设备,音视频也作为大家最常见的娱乐方式。开发音频和视频的应用,其中常识在此记录:多媒体文件:音频多媒体:音频文件在编码中对音频文件解码,过程中数据量很大无损格式:非数据压缩格式:WAV、AU、APE等文件有损格式:对数据进行压缩,丢掉一些数据:MP3 WindowsMediaAudio(WMA)WAV:存储多种类型的音频数据MP3:利用MPEG...原创 2018-04-19 18:25:35 · 441 阅读 · 0 评论 -
Android笔记之网络通信
网络通知技术:应用层网络通信技术包括:Socket、HTTP、HTTPS、WebService等Socket通信:原始的通信方式,编写服务器代码和客户端代码,自己开端口、制定通信协议、验证数据安全和合法性,开发繁琐但是,灵活,不受编程语言、设备、平台、操作系统的限制,通信快速高效HTTP协议:超文本传输协议,属于应用层面向对象协议,简洁、快速的方式适用分布式超文本传输...原创 2018-04-19 18:28:07 · 284 阅读 · 0 评论 -
Android笔记之图形和动画
绘图技术:2D:Android基本组件构成3D:通过OpenGLES技术实现两种图形引擎技术:Skia(View及其子类通过它画出来的)和OpenGLES2D绘制技术:画布与画笔:(Canvas与Paint)Paint常用方法:setColor(intcolor):设置颜色setAlpha(inta):设置透明度(0~255)setStyle:设置样式s...原创 2018-04-19 18:30:12 · 251 阅读 · 0 评论