Android
蓝莲花wsg
路漫漫其修远兮,吾将上下而求索
展开
-
使用Kotlin + JetPack 对旧项目进行MVVM改造
介绍本次改造的项目地址为:https://github.com/stevenwsg/XSYBBS这个项目是两年前在学校写的,当初写的时候比较赶时间,一直堆业务功能,没有考虑项目结构,写了很多重复代码。最近在看Kotlin协程和JetPack组件,就想着用Kotlin协程和JetPack组件对原项目进行重构。MVVMAndroid MVVM 架构图:各层介绍:Model层,主要负责数据的提供。Model层提供业务逻辑的数据结构(比如,实体类),提供数据的获取(比如,从本地数据库或者远程网络获取原创 2020-05-18 22:30:38 · 571 阅读 · 4 评论 -
Android框架源码解析之(六)MultiType
源码的关键在于如何处理多type的管理 以及一个type对应多个 ItemViewBinder 的绑定。MultiTypeAdapter部分源码: 重点在于indexInTypesOf方法,根据item 和 position 获取typepublic class MultiTypeAdapter extends RecyclerView.Adapter<ViewHolder> {...原创 2020-04-30 15:09:37 · 704 阅读 · 0 评论 -
Android 取主色逻辑
Palette是Google官方提供的一个类,用于帮助开发者提取图片的主色。1、生成 Palette根据bitmap生成 Palette//同步方法,应该在子线程中使用Palette p = Palette.generate(bitmap);//异步方法 Palette.from(bitmap).generate(new PaletteAsyncListener() { ...原创 2020-04-30 15:09:59 · 643 阅读 · 0 评论 -
校园BBS+校园贴吧 发帖 评论 点赞 回复 用户管理 好友管理 聊天的实现
这个项目是今年7月在校实习期间写的,因为前段时间复习秋招,没来的及分享,现在补上~~~因为7个人一组,剩余6个人考研,也不会写Android,就让他们去写文档了。我一个人加班加点 花了10天撸完了,因为后续不需要考虑迭代,工作量有点大,就没有采用MVP架构,只是简简单单的分包,容易理解本项目用到了Bmob后端云进行数据库存储,环信EaseUI实现聊天主要难点在于,帖子,评论,点赞数据库...原创 2018-09-12 10:50:35 · 3690 阅读 · 14 评论 -
APP后端搭建整理
常见的APP后端搭建 语言有 Java,PHP,Python,下面可以简单了解一下Java: https://blog.csdn.net/a_running_wolf/article/category/6188707 http://keeganlee.me/post/practice/20161006PHP: http://www.androidhive.info/2012/05/h...原创 2018-07-14 14:36:41 · 11229 阅读 · 0 评论 -
Android点击图标重新启动问题
https://blog.csdn.net/jianiuqi/article/details/54091181转载 2018-05-08 11:50:34 · 233 阅读 · 0 评论 -
Android换肤技术总结
http://blog.zhaiyifan.cn/2015/09/10/Android%E6%8D%A2%E8%82%A4%E6%8A%80%E6%9C%AF%E6%80%BB%E7%BB%93/转载 2017-12-01 15:03:49 · 217 阅读 · 0 评论 -
安卓 判断当前应用是否启动
private boolean getCurrentTask(Context context) { ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); //获取当前所有存活task的信息 List<R原创 2017-11-15 09:28:19 · 1674 阅读 · 0 评论 -
Android框架源码解析之(三)ButterKnife
源码目录:https://github.com/JakeWharton/butterknife 其中最主要的3个模块是:Butterknife注解处理器https://github.com/JakeWharton/butterknife/tree/master/butterknife-compilerButterknife各种注解https://github.com/JakeWharto...原创 2018-08-10 22:22:10 · 299 阅读 · 0 评论 -
Android框架源码解析之(一)Volley
前几天面试CVTE,HR面挂了。让内部一个学长帮我查看了一下面试官评价,发现二面面试官的评价如下:广度OK,但缺乏深究能力,深度与实践不足源码:只能说流程,细节代码不清楚,retrofit和volley都是。感觉自己一方面:自己面试技巧有待提高吧(框架只说了流程,而没说源码,源码实在是不知道怎么说) 另一方面:源码虽然说系统的看过,但是细节不够深入。所以,就开个专栏,分析框架源...原创 2018-08-08 12:54:53 · 277 阅读 · 0 评论 -
Android框架源码解析之(二)OKhttp
源码在:https://github.com/square/okhttp 包实在是太多了,OKhttp核心在这块https://github.com/square/okhttp/tree/master/okhttp 直接导入Android Studio中即可。基本使用://1、创建OkHttpClient OkHttpClient mOkHttpClient = new OkH...原创 2018-08-08 18:07:38 · 260 阅读 · 0 评论 -
OkHttp3封装网络请求框架
网络请求是开发中最基础的功能,框架原生API不便于复用。今天在这里分享慕课一位老师基于OkHttp封装的一个思路,希望对大家有帮助。首先,我们看一下Okhttp的基本使用发送异步GET请求1、new OkHttpClient;2、构造Request对象;3、通过前两步中的对象构建Call对象;4、通过Call.enqueue(Callback)方法来提交异步请求;String url...原创 2018-12-06 14:34:44 · 5714 阅读 · 0 评论 -
Android Studio 可以正常编译运行 但是代码爆红
这段时间毕设选题,选了一个自己曾经做过的题目。因为之前是用Android Studio2.3.3写的,现在导入Android Studio 3.2.1 代码报错,但是能正常编译运行。很是奇怪。主要报错原因是 找不到有些类,之前用Android Studio2.3.3的时候都很正常。现在就不知道怎么了,识别不出来。然而奇怪的事情发生了public class FriendsFragmen...原创 2018-12-28 18:28:40 · 4446 阅读 · 0 评论 -
记一次 由多线程引起的内存泄漏导致的OOM问题
项目是去年七月份写的,功能都完成了。因为时间比较紧,就没怎么测试。后来想把这个项目用来做毕业设计,在测试的时候出现了问题。点击注销登录,跳转到登录页面,重新登录,跳转到主页,然后出现OOM,怀疑出现了内存泄漏。主要原因是,注销登录后(从主界面跳转到登录页面),某个类持有MainActivity的实例,导致MainActivity 无法得到回收,导致内存泄漏。于是集成了 Leakcanary进行...原创 2019-02-09 17:09:46 · 4017 阅读 · 2 评论 -
Monkey测试时禁止下拉状态栏
Monkey 测试,随机点击。会下拉状态栏,关闭WiFi,打开GPS,打开蓝牙,打开飞行模式等一系列操作,严重干扰程序的测试,尤其是对网络状态下的耗电量测试。下面的命令可以禁止 Monkey测试下,手机操作状态栏。adb shell settings put global policy_control immersive.full=* 关闭手机的状态栏adb shell settings ...原创 2019-03-14 12:05:56 · 5454 阅读 · 0 评论 -
Android——将图片保存到sd卡中,系统图库检测不到?
最近在帮一个同学做毕设,是一个视频播放器项目,要求实现截图功能。正好项目集成了GSYVideoPlayer 用于视频播放,里面内置了截取视频内容的接口,正好可以使用。新建了一个文件夹后,将图片存入文件夹,图片已经保存到sd卡中,但是系统图库检测不到?主要原因在于没有向系统发送广播,提示系统更新系统图库。//保存图片的方法 // 获取内置SD卡路径 ...原创 2019-05-04 12:35:10 · 1496 阅读 · 2 评论 -
使用Kotlin 重写毕设项目
Kotlin目前已经转正,成为 Android 开发一级语言,前段时间不忙,将毕业设计用Kotlin 进行重写。毕业设计 Java 版:https://blog.csdn.net/qq_29375837/article/details/82657976毕业设计Kotlin 版:https://github.com/stevenwsg/XSYBBS/tree/kotlin下面罗列一下项目中...原创 2019-06-21 18:17:57 · 343 阅读 · 0 评论 -
给 Android 开发者的 RxJava 详解
http://gank.io/post/560e15be2dca930e00da1083转载 2017-10-31 10:44:38 · 1063 阅读 · 0 评论 -
安卓开发——为自己的app快速集成聊天功能
最近一直在看尚硅谷的《硅谷社交》,里面用的是环信(https://www.easemob.com/)的pass服务,我觉得 既然是第三方sdk,也就没有必要看视频了,挺费时间。 环信的功能有很多,这里我就不给大家赘述了,大家可以去官网看看,也可以使用模拟器或者实际运行一下demo下面 为大家 介绍方法: 环信官网:https://www.easemob.com/ 开发者文档:http:/原创 2017-07-30 12:29:41 · 6132 阅读 · 7 评论 -
安卓开发—自定义电池电量显示状态
1、编写broadcastreceiver class BatteryReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { int level = intent.getIntExtra("原创 2017-06-27 20:20:23 · 2464 阅读 · 2 评论 -
工具函数(JAVA)---判断url是否为网络地址
public static boolean isNetUrl(String url) { boolean reault = false; if (url != null) { if (url.toLowerCase().startsWith("http") || url.toLowerCase().startsWith("rtsp") || u原创 2017-06-21 20:55:11 · 2315 阅读 · 0 评论 -
安卓开发获取当前手机音量和最大音量
//得到音量 AudioManager mAm = (AudioManager) getSystemService(AUDIO_SERVICE); //最大音量 int mMaxVolume = mAm.getStreamMaxVolume(AudioManager.STREAM_MUSIC); //当前音量 int m原创 2017-06-20 21:16:36 · 2482 阅读 · 0 评论 -
基于Bmob,环信easeUI的校园二手交易市场——用户管理(含头像),数据管理,文件管理(图片管理),聊天功能的开发
这个项目写写停停写了一个半月,最近终于完结了,先上图之前看了学校内网有个跳蚤街,简单来说就是搭建了一个平台,实现二手物品交易,前段时间碰巧课程也不是很紧,就用安卓实现了一个。用到的技术: swiprefreshlayout下拉刷新 腾讯bugly集成跟踪crash https://bugly.qq.com/v2/ butterknife注入 https://github.com/JakeWha原创 2017-10-30 19:13:39 · 2632 阅读 · 8 评论 -
安卓开发—使用有道翻译
看完慕课网的视频,觉得老师做的有些复杂,于是就自己写了一个精简版的。 使用到的技术: 有道翻译API:http://fanyi.youdao.com/openapi Rxvolley网络框架:http://rxvolley.mydoc.io/首先申请接口,打开,有道翻译API首页: 点击我是开发者: 填写相应的信息,拿到请求的数据: 在这里,大家可以试试这个接口比如我的http://fa原创 2017-04-17 16:32:55 · 2831 阅读 · 17 评论