android 学习笔记
文章平均质量分 77
android 开发过程中的一些笔记
wresource
IT七剑客:互联网中的持剑者,持剑斩bug,长期维护,让bug不再。
展开
-
Android即时通讯设计——腾讯IM接入和WebSocket接入
之前项目的群聊是用数据库直接操作的,体验很差,消息很难即时反馈,所以最后考虑到了使用腾讯的IM完成群聊的接入,不过中途还是有点小坎坷的,接入完成之后发现体验版一个群聊只有20人,当时看到体验版支持100个用户也就忍了,现在一个群聊只能20用户,忍不了了,所以暂时找到了**WebSocket**作为临时的解决方案(等有钱了再换),同时支持50个用户在线聊天,也算还行,勉强够用,下面就介绍两种实现方案的接入,正文即将开始~~原创 2022-04-05 11:29:24 · 4353 阅读 · 6 评论 -
Android登录系统设计
前段时间项目进入第一阶段的尾声,虽然登录方面的功能基本上已经完成开发,但是很乱,例如QQ登录等第三方登录有自己的缓存机制,本地的账号密码登录又是一种方式,邮箱手机号登录又是另一种方式,最终经过几个小时的逻辑推导,第一次在没有运行代码的情况下完成这个登录系统的开发,最终运行成功了,修改了一次没有初始化的情况,中间还出现了一些小插曲,最后完成这套系统的开发,目前app 已上线谷歌应用商店,欢迎大家来体验。原创 2022-03-10 17:18:17 · 6137 阅读 · 5 评论 -
Android彩色文字的超链接实现的封装(kotlin扩展函数的应用)
最近设计界面的时候碰到这样一个问题,我们经常可以看到这样的一个界面,告知用户的隐私条款和用户协议这样的这个底部彩色文字,而且这些彩色文字都是直接指向相应的链接,当时最初的想法是设置多个 TextView 来实现,然而这样会有一个问题这样一个简单的功能用了5个控件,太丢人了,而且文字对齐还需要自己调整,不自然,搜索了一下,实现方式并不困难,只是没有进行一个比较好的封装,故今天带大家用kotlin的扩展函数封装一个colorText的方法,这里不得不夸一下kotlin的扩展函数,真的好用。原创 2022-01-27 16:41:36 · 2218 阅读 · 0 评论 -
AndroidQQ登录接入详细介绍(kotlin搭建)
由于之前自己项目的账号系统不是非常完善,所以考虑接入QQ这个强大的第三方平台的接入,目前项目暂时使用QQ登录的接口进行前期的测试,这次从搭建到完善花了整整两天时间,不得不吐槽一下QQ互联的官方文档,从界面就可以看出了,好几年没维修了,示例代码也写的不是很清楚,翻了好多源代码和官方的demo,这个demo可以作为辅助参考,官方文档的api失效了可以从里面找相应的替代,但它的代码也太多了,一个demo 一万行代码,心累,当时把demo弄到可以运行就花了不少时间,很多api好像是失效了,笔者自己做了一些处理和完善原创 2022-01-27 13:26:38 · 4889 阅读 · 10 评论 -
github万星app测试开源项目DoKit(三行代码完成集成)
简述app开发测试项目DoKit的部署和相应的测评原创 2022-01-24 18:29:42 · 3835 阅读 · 0 评论 -
viewBinding的使用(记一次重构项目的过程)
简单介绍了viewBinding的使用,大大提高Android开发中的效率和安全性原创 2022-01-17 08:00:00 · 1757 阅读 · 0 评论 -
谷歌应用商店开发者注册
主要介绍了如果创建一个google开发者账号和其中的一些坑原创 2021-12-27 18:01:21 · 2785 阅读 · 6 评论 -
基于kotlin开发的验证码发送注册的app(前端Android studio+springboot后端)
”麻雀虽小五脏俱全”就是它了,设计后端即springboot的开发,app处理网络请求的开发,appUI界面的设计(虽然只有一步,但也还是吧),数据库查询相关,app搭建相关架构的实现等等,值得学习一波。原创 2021-12-03 16:43:34 · 1241 阅读 · 2 评论 -
git的基本使用:上传项目到远程github仓库上
git的基本使用:上传项目到远程github仓库上一、对于本地仓库进行初始化并且提交首先到想要加入git仓库的项目目录下git init 之后会出现成功的提示git add . 即添加所有文件git commit - m “提交描述”二、上传到github上在自己的github 准备一个空的项目,复制一下地址等下要用git push 项目地址 master(一般是这个,具体的自行修改)之后会出现密码登录以及可能需要ssh验证,不过使用密码不太行需要使用token ,在个人设置那边可原创 2021-08-29 23:42:28 · 153 阅读 · 2 评论 -
retrofit动态设置URL采用反射机制解决
retrofit动态设置URL采用反射机制解决一、产生动态设置url的需求的原因二、利用反射解决retrofit的动态设置URL三、结语一、产生动态设置url的需求的原因前几天开发项目的时候碰到一件比较头疼的事,就是获取json数据的主域名不一样,最简单粗暴的方法就是重新写一份retrofit但这是十分低效的,写重复性代码就程序员最不想做的一件事之一,所以找了好多文章,最后找到了一个反射机制解决此问题的一个好方法,代码量也不是很多,也比较好理解。二、利用反射解决retrofit的动态设置URL/原创 2021-08-21 18:35:42 · 525 阅读 · 0 评论 -
day13:一些实用的Android进阶小技巧
一些实用的Android进阶小技巧一、全局获取Context二、使用Intent传递对象1.Serializable2.Parcelable三、定制日志工具四、深色主题五、Kotlin:java一键转kotlin一、全局获取Context主要是利用application获取唯一的全局实例context,使得我们在任何场景都可以获取context举个栗子class MyApplication : Application() { companion object{ @Suppre原创 2021-08-06 01:52:12 · 172 阅读 · 0 评论 -
day12:Jetpack中常用的组件的解析
Jetpack初识一、Jetpack产生背景二、ViewModel三、Lifecycles四、LiveData五、Room1.Entity2.Dao3.Database六、WorkManager七、Kotlin:DSL构建专用语法结构一、Jetpack产生背景Google为了开发者更好的设计软件的代码架构以及写出高质量的代码,推出Jetpack组件,将许多好用的代码进行封装总之使用Jetpack可以使得我们利用更少的时间开发出更高质量的软件二、ViewModelViewModel的生命周期比Act原创 2021-08-04 23:50:29 · 232 阅读 · 4 评论 -
day11:Material Design 实战
Material Design 实战一、Material Design初识二、滑动菜单1.DrawerLayout2.NavigationView三、Snackbar和Floating Action Button1.Floating Action Button2.Snackbar四、卡片式布局1.MaterialCardView的基本用法2.Glide基本用法五、下拉刷新六、可折叠标题栏七、Kotlin:简化Toast和Snackbar八、Git高阶用法一、Material Design初识主要是goo原创 2021-08-02 14:13:23 · 350 阅读 · 3 评论 -
day10:kotlin的协程已经安卓网络技术初步
网络技术一、利用Http访问网络二、解析网络上常见的两种数据1.xml格式2.json格式三、Retrofit的使用四:Kotlin:协程一、利用Http访问网络GET代表希望从服务器那里获取数据POST则代表向服务器提交数据网络请求一般在子线程中执行,不然可能会阻塞主线程导致界面卡死利用okHttp开源库进行简化原生的HttpURLConnection二、解析网络上常见的两种数据这里面测试可以用自己的云服务器也可以用apache或者nginx搭建本地服务器,不过原理都是一样的1.xml格式原创 2021-07-31 10:32:09 · 435 阅读 · 0 评论 -
day9:Service以及多线程初步
Service以及多线程初步一、多线程1.线程2.异步处理机制3.利用AsyncTask轻松处理异步处理二、Service基本用法三、Service的生命周期四、前台Service的使用五、Kotlin:泛型的高级特性1.泛型实化2.泛型的协变和逆变一、多线程1.线程Android里面更新UI必须在主线程中更新,子线程中不能更新UI,kotlin有其简化的开启线程方法thread{ //具体耗时操作}2.异步处理机制1.Message//在线程中充当信息传递的角色2.Handle原创 2021-07-28 01:27:22 · 292 阅读 · 0 评论 -
day8:Android多媒体使用
Android多媒体使用一、通知二、调用摄像头和相册三、播放多媒体文件1.播放音频2.播放视频四、Kotlin:infix函数五、Git进阶一、通知1.创建通知的通道 val channel = NotificationChannel("normal","Normal",NotificationManager.IMPORTANCE_DEFAULT)//第一个参数是渠道id,第二个是渠道名称,第三个是通知的重要等级2.创建一个通知的管理器val manager = getSystemServic原创 2021-07-27 00:36:04 · 178 阅读 · 0 评论 -
day7:ContentProvider以及kotlin里面的泛型和委托
ContentProvider以及kotlin里面的泛型和委托一、运行时权限二、访问其他程序里面数据三、创建自己的ContentProvider四、Kotlin的泛型和委托1.泛型2.委托一、运行时权限只有危险的权限才需要运行时申请,每个危险权限都有一个自己的权限组,当任何一个权限组里面的权限申请完毕,其他的权限也就自动被申请,不过需要注意的是不要利用此特性进行实现任何功能,因为权限组可能会进行调整运行时权限的申请步骤1.首先需要判断权限是否被申请2.然后调用系统方法进行申请3.权限被原创 2021-07-25 00:36:54 · 157 阅读 · 0 评论 -
day6:Android数据存储的方式
Android数据存储一、文件存储二、SharedPreferences存储三、SQLite存储1.前言2.创建数据库3.升级数据库4.数据库的操作(CRUD)①添加数据②更新数据③删除数据④查询数据5.SQLite数据库的实践①使用事务②升级数据库的最佳写法四、Kotlin高阶函数的应用一、文件存储这部分主要利用Context提供的一个openFileOutput方法,获取FileOutputStream对象,然后利用java流的方式进行操作读取文件同理,这里有一个比较难以置信的就是kotlin没有原创 2021-07-23 16:20:56 · 97 阅读 · 0 评论 -
day5:广播机制broadcast和kotlin高阶函数以及git初步使用
广播机制broadcast一、接收系统广播二、发送自定义广播三、广播的最佳实践:实现强制下线四、kotlin的高阶函数1.高阶函数简单介绍2.内联函数3.noinline和crossinline五、git初识一、接收系统广播有静态注册和动态注册两种方法静态注册指在AdroidManifest.xml文件中注册动态注册当然是指代码实现实现注册由系统发出一条广播,然后我们指定一个action来接收广播并且做出相应的动作这里有一个比较颠覆认知的东西:我们的软件居然可以在未启动时对系统的广播做出响应,原创 2021-07-22 12:20:22 · 259 阅读 · 3 评论 -
day4:Fragment的学习
Fragment一、Fragment是什么二、Fragment的使用方式三、Fragment的生命周期四、动态加载布局1.使用限定符2.使用最小宽度限定符五、fragment的实践六、kotlin扩展函数和运算符重载1.扩展函数2.运算符重载一、Fragment是什么一种ui片段,可以嵌入activity,很多时候跟activity功能类似二、Fragment的使用方式通过activity中的布局文件引入fragment,创建fragment类继承fragment,然后可以在里面编写逻辑,activ原创 2021-07-21 01:41:21 · 167 阅读 · 0 评论 -
day3:UI开发
UI开发常用控件的使用方法详解三种基本布局自定义控件ListView和RecyclerView基本使用适配器(Adapter)数据源(data)传递数据的类(class)子项界面(xml)编写聊天界面Kotlin:延迟初始化和密封类延迟初始化密封类常用控件的使用方法TextView ImageViewButtonImageButton//这几个是非常常用的基本控件match_parent与wrap_content也是一对好兄弟match_parent//与父布局大小同wrap_conte原创 2021-07-19 01:55:21 · 408 阅读 · 4 评论 -
day2:Activity基本用法
了解了一下android里面activity的基本用法,算是自己的一些小笔记原创 2021-07-17 17:29:48 · 540 阅读 · 1 评论 -
day1:kotlin基本语法学习
kotlin基本语法学习通过学习郭霖大神的第一行代码第三版写的自己对于kotlin的一些看法,主要是为了区分java而做的一点笔记kotlin 语言介绍 与java类似的一种基于JVM虚拟机的语言,java其实也是一种解释型语言,生成的class文件供JVM解释,同时kotlin也是一样的kotlin就是为了解决java的各种痛点而产生的,利用kotlin可以大大减少开发过程中的代码量编写,有一套几乎可以杜绝空指针的机制,kotlin没有分号如何运行Kotlin代码 郭霖大神这本第三原创 2021-07-16 01:09:31 · 203 阅读 · 0 评论