自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq_29375837的博客

没有什么能够阻挡,你对自由的向往

  • 博客(40)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 Flutter集成旧项目并重构帖子详情页

最近一直在做公司新项目的Flutter工作,主要负责部分Flutter页面的编写以及与原生Android的桥接。主要的集成工作由于人员紧张,交给平台组同学来做 。 公司平台组提供了一整套的集成工具链, 开发工具, MVVM结构等一系列轮子,开箱即用。时间长了, 只停留在使用层面,很少深究,还是需要自己多看看。这次为旧项目集成Flutter, 并使用Flutter重写帖子详情页。 来体会官方提供的, 混合模式的搭建以及开发。本次需要重写的旧原生页面为:重写之后的Flutter页面为:项目地址:h

2021-04-10 14:23:20 592

原创 使用Kotlin + JetPack 对旧项目进行MVVM改造

介绍本次改造的项目地址为:https://github.com/stevenwsg/XSYBBS这个项目是两年前在学校写的,当初写的时候比较赶时间,一直堆业务功能,没有考虑项目结构,写了很多重复代码。最近在看Kotlin协程和JetPack组件,就想着用Kotlin协程和JetPack组件对原项目进行重构。MVVMAndroid MVVM 架构图:各层介绍:Model层,主要负责数据的提供。Model层提供业务逻辑的数据结构(比如,实体类),提供数据的获取(比如,从本地数据库或者远程网络获取

2020-05-18 22:30:38 541 4

原创 2019总结,2020展望

     时间飞快,2019年已悄然结束,趁今天有时间总结一下2019年的经历,成长,感悟,思考,也对2020年的工作和生活做个计划。    不知不觉间,这也是第三年写年终总结了。    今天同学在群里说,去年一起一月四日来杭,满打满算也杭务工一周年了。     2019年经历了实习,毕业,工作三个阶段。离开象牙塔,迈入社会,加入社畜大军。实习    一月份到四月份实习了三个月,实习期间...

2020-04-30 15:10:43 606

原创 Android 取主色逻辑

Palette是Google官方提供的一个类,用于帮助开发者提取图片的主色。1、生成 Palette根据bitmap生成 Palette//同步方法,应该在子线程中使用Palette p = Palette.generate(bitmap);//异步方法 Palette.from(bitmap).generate(new PaletteAsyncListener() { ...

2020-04-30 15:09:59 562

原创 Android框架源码解析之(六)MultiType

源码的关键在于如何处理多type的管理 以及一个type对应多个 ItemViewBinder 的绑定。MultiTypeAdapter部分源码: 重点在于indexInTypesOf方法,根据item 和 position 获取typepublic class MultiTypeAdapter extends RecyclerView.Adapter<ViewHolder> {...

2020-04-30 15:09:37 648

原创 Android框架源码解析之(五)Retrofit

源码地址: https://github.com/square/retrofitRetrofit源码结构:Retrofit是使用idea,maven依赖编写的Java工程,并不是一个Android 工程。Retrofit的简单使用:1、创建Service接口public interface HistoryDataService { @GET("japi/toh?v=1.0...

2020-04-30 15:09:15 208

原创 使用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 322

原创 Android——将图片保存到sd卡中,系统图库检测不到?

最近在帮一个同学做毕设,是一个视频播放器项目,要求实现截图功能。正好项目集成了GSYVideoPlayer 用于视频播放,里面内置了截取视频内容的接口,正好可以使用。新建了一个文件夹后,将图片存入文件夹,图片已经保存到sd卡中,但是系统图库检测不到?主要原因在于没有向系统发送广播,提示系统更新系统图库。//保存图片的方法 // 获取内置SD卡路径 ...

2019-05-04 12:35:10 1421 2

原创 Monkey测试时禁止下拉状态栏

Monkey 测试,随机点击。会下拉状态栏,关闭WiFi,打开GPS,打开蓝牙,打开飞行模式等一系列操作,严重干扰程序的测试,尤其是对网络状态下的耗电量测试。下面的命令可以禁止 Monkey测试下,手机操作状态栏。adb shell settings put global policy_control immersive.full=* 关闭手机的状态栏adb shell settings ...

2019-03-14 12:05:56 5268

原创 《Effective Java》第二版总结

创建和销毁对象1、考虑用静态工厂方法代替构造器为了让客户端获取他自身的一个实例,最常用的方法就是提供一个公有的构造器。还有一种方法,类可以提供一个公有的静态工厂方法,它只是返回类的实例的静态方法。//一个简单的单例public class Singleton { private static Singleton singleton; private Singleton() {...

2019-02-10 19:24:03 346

原创 记一次 由多线程引起的内存泄漏导致的OOM问题

项目是去年七月份写的,功能都完成了。因为时间比较紧,就没怎么测试。后来想把这个项目用来做毕业设计,在测试的时候出现了问题。点击注销登录,跳转到登录页面,重新登录,跳转到主页,然后出现OOM,怀疑出现了内存泄漏。主要原因是,注销登录后(从主界面跳转到登录页面),某个类持有MainActivity的实例,导致MainActivity 无法得到回收,导致内存泄漏。于是集成了 Leakcanary进行...

2019-02-09 17:09:46 3950 2

原创 2018总结,2019展望

2019年:学习:英语深入Android,JAVAKotlinFlutter 跨平台开发用Python搭建 APP 后台服务器机器学习 Tnsorflow框架生活:大学顺利毕业工作后快速融入团队慢慢的适应社会学习理财,炒股看各类书籍,旅游健身,减肥学习一门乐器,吉他学会游泳希望能遇到合适的人,脱单...

2019-01-01 20:02:58 2978 14

原创 Android Studio 可以正常编译运行 但是代码爆红

这段时间毕设选题,选了一个自己曾经做过的题目。因为之前是用Android Studio2.3.3写的,现在导入Android Studio 3.2.1 代码报错,但是能正常编译运行。很是奇怪。主要报错原因是 找不到有些类,之前用Android Studio2.3.3的时候都很正常。现在就不知道怎么了,识别不出来。然而奇怪的事情发生了public class FriendsFragmen...

2018-12-28 18:28:40 4372

原创 HTTP Header 详解

HTTP首部字段是构成HTTP报文的要素之一,在客户端和服务器之间以HTTP协议进行通信的过程中,无论是请求还是响应都会使用首部字段,他能起到额外传递信息的作用。使用首部字段是为了给浏览器和服务器提供报文主体大小,所使用的语言,认证信息内容。4中HTTP首部字段类型HTTP首部字段根据实际用途被分为4种类型通用首部类型(General Header Fields)请求报文和响应报文两方...

2018-12-06 21:29:44 371

原创 OkHttp3封装网络请求框架

网络请求是开发中最基础的功能,框架原生API不便于复用。今天在这里分享慕课一位老师基于OkHttp封装的一个思路,希望对大家有帮助。首先,我们看一下Okhttp的基本使用发送异步GET请求1、new OkHttpClient;2、构造Request对象;3、通过前两步中的对象构建Call对象;4、通过Call.enqueue(Callback)方法来提交异步请求;String url...

2018-12-06 14:34:44 5653

原创 Android框架源码解析之(四)Picasso

这次要分析的源码是 Picasso 2.5.2 ,四年前的版本,用eclipse写的,但不影响这次我们对其源码的分析地址:https://github.com/square/picasso/tree/picasso-parent-2.5.2Picasso的简单使用 Picasso.with(this) .load("http://ww3.sinaimg.cn/large...

2018-10-30 19:57:33 282

原创 反编译网易云音乐Android App

起因找到工作之后 咸鱼好长时间了,不该在继续咸鱼了 ,该继续学习啦。之前就想看看 网易云音乐 内部使用了那些开源框架,今天有时间就分析一下吧、ClassyShark先推荐一款(反编译) 应用—ClassyShark,谷歌开源的下载地址:https://github.com/google/android-classyshark/releases官方文档:https://gith...

2018-10-23 21:46:59 2312

原创 Kali Linux 学习资源整理

Kali Linux 官网https://www.kali.org/Kali Linux官方教材https://kali.training/Penetration Testing Training with Kali Linuxhttps://www.offensive-security.comParrotsec官网https://www.parrotsec.org/Kali Li...

2018-10-21 18:22:07 8796

原创 校园BBS+校园贴吧 发帖 评论 点赞 回复 用户管理 好友管理 聊天的实现

这个项目是今年7月在校实习期间写的,因为前段时间复习秋招,没来的及分享,现在补上~~~因为7个人一组,剩余6个人考研,也不会写Android,就让他们去写文档了。我一个人加班加点 花了10天撸完了,因为后续不需要考虑迭代,工作量有点大,就没有采用MVP架构,只是简简单单的分包,容易理解本项目用到了Bmob后端云进行数据库存储,环信EaseUI实现聊天主要难点在于,帖子,评论,点赞数据库...

2018-09-12 10:50:35 3490 14

原创 2019届应届毕业生秋招总结

先说说自己的基本情况吧,陕西某双非一本本科,软件工程专业,从大二第一学期开始自学Java,Android,大二大三逃了两年课,在图书馆自学两年,秋招提前批拿到了网易云音乐和金山WPS的 Android开发工程师 offer。目前的话,我已经很满意了,不投了,收手坑逼学校不让出去实习,也没办法,强制在学校实习。从7月20号在校实习结束之后,开始准备秋招,投简历。投了70+份简历,目前为止的话...

2018-09-09 10:24:36 4308 8

原创 Java实现生产者消费者模式的两种方法

1、 利用 Object的 wait/notify,和非阻塞队列实现import java.util.PriorityQueue;public class Test{ private int size=10; private PriorityQueue&lt;Integer&gt; queue=new PriorityQueue&lt;&gt;(size);...

2018-08-24 20:04:13 542

原创 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 281

原创 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 244

原创 Android框架源码解析之(一)Volley

前几天面试CVTE,HR面挂了。让内部一个学长帮我查看了一下面试官评价,发现二面面试官的评价如下:广度OK,但缺乏深究能力,深度与实践不足源码:只能说流程,细节代码不清楚,retrofit和volley都是。感觉自己一方面:自己面试技巧有待提高吧(框架只说了流程,而没说源码,源码实在是不知道怎么说) 另一方面:源码虽然说系统的看过,但是细节不够深入。所以,就开个专栏,分析框架源...

2018-08-08 12:54:53 242

原创 (拼多多笔试算法)根据二叉树的前序遍历和中序遍历确定后序遍历的两种思路

根据二叉树的前序遍历和中序遍历确定后序遍历输入:第一行:结点数目 第二行:前序遍历数组 第三行:中序遍历数组 输出 :后序遍历数组例如:第一行:7 第二行:6 4 2 5 3 1 7 第三行:4 2 5 6 1 3 7 输出 :5 2 4 1 7 3 6我思考...

2018-07-22 23:10:19 4819 3

原创 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 11186

原创 大整数排序

题目描述对N个长度最长可达到1000的数进行排序。输入描述:输入第一行为一个整数N,(1&lt;=N&lt;=100)。 接下来的N行每行有一个数,数的长度范围为1&lt;=len&lt;=1000。 每个数都是一个正数,并且保证不包含前缀零。输出描述:可能有多组测试数据,对于每组数据,将给出的N个数从小到大进行排序,输出排序后的结果,每个数占一行。示例输入: 3...

2018-06-15 20:57:19 275

转载 Android点击图标重新启动问题

https://blog.csdn.net/jianiuqi/article/details/54091181

2018-05-08 11:50:34 191

原创 2018年 应届毕业生 安卓开发工程师 求职准备

找实习找工作准备~~~~~~~~~ 不定期更新~~~~~JavaJVM系列文章 ThreadPoolExecutor Java-线程池专题 理解线程池的原理 NIO 数据结构和算法 红黑树设计模式 《Head First 设计模式》 《大话设计模式》 《Android源码设计模式解析与实战》安卓 简单理解Binder机制的原理一篇文章了解相见恨晚的 An...

2018-03-13 17:43:08 1415

原创 2017总结,2018展望

时间过得真快,转眼间,2018到来。之前看鸿祥大神的博客的时候,无意间看到他的年终终结,大写的牛逼,也希望自己能超越鸿祥大神。在此,我也想写篇博客,对自己2017做个交代,对2018做个计划。先说说学习吧,毕竟还是学生嘛从去年9月开始学习Java,11月开始自学安卓,已经有一年了。这期间摸爬滚打,一直在学习,也走了许多弯路,感谢一路坚持的自己。为什么选安卓那?兴趣吧 。大二上学期,Java学完了

2018-01-01 23:39:39 1470 4

转载 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 199

原创 安卓 判断当前应用是否启动

private boolean getCurrentTask(Context context) { ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); //获取当前所有存活task的信息 List<R

2017-11-15 09:28:19 1656

原创 Java反射机制

反射是Java开发中一个非常重要的概念,掌握了反射的知识,才能更好的学习Java高级反射的概念:主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。反射是java中一种强大的工具,能够使我们很方便的创建灵活的代码,这些代码可以再运行时装配,无需在组件之间进行源代码链接。但是反射使用不当会成本很高!反射机制的作用:

2017-11-13 15:40:35 754

转载 给 Android 开发者的 RxJava 详解

http://gank.io/post/560e15be2dca930e00da1083

2017-10-31 10:44:38 1024

原创 基于Bmob,环信easeUI的校园二手交易市场——用户管理(含头像),数据管理,文件管理(图片管理),聊天功能的开发

这个项目写写停停写了一个半月,最近终于完结了,先上图之前看了学校内网有个跳蚤街,简单来说就是搭建了一个平台,实现二手物品交易,前段时间碰巧课程也不是很紧,就用安卓实现了一个。用到的技术: swiprefreshlayout下拉刷新 腾讯bugly集成跟踪crash https://bugly.qq.com/v2/ butterknife注入 https://github.com/JakeWha

2017-10-30 19:13:39 2583 8

原创 安卓开发——为自己的app快速集成聊天功能

最近一直在看尚硅谷的《硅谷社交》,里面用的是环信(https://www.easemob.com/)的pass服务,我觉得 既然是第三方sdk,也就没有必要看视频了,挺费时间。 环信的功能有很多,这里我就不给大家赘述了,大家可以去官网看看,也可以使用模拟器或者实际运行一下demo下面 为大家 介绍方法: 环信官网:https://www.easemob.com/ 开发者文档:http:/

2017-07-30 12:29:41 6022 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 2401 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 2270

原创 安卓开发获取当前手机音量和最大音量

//得到音量 AudioManager mAm = (AudioManager) getSystemService(AUDIO_SERVICE); //最大音量 int mMaxVolume = mAm.getStreamMaxVolume(AudioManager.STREAM_MUSIC); //当前音量 int m

2017-06-20 21:16:36 2449

原创 安卓开发—使用有道翻译

看完慕课网的视频,觉得老师做的有些复杂,于是就自己写了一个精简版的。 使用到的技术: 有道翻译API:http://fanyi.youdao.com/openapi Rxvolley网络框架:http://rxvolley.mydoc.io/首先申请接口,打开,有道翻译API首页: 点击我是开发者: 填写相应的信息,拿到请求的数据: 在这里,大家可以试试这个接口比如我的http://fa

2017-04-17 16:32:55 2773 17

校园BBS APK 安卓包

校园BBS+校园论坛安装包 实现 点赞,回复,评论功能 源码在这:https://github.com/stevenwsg/XSYBBS

2018-08-03

bmob的综合运用

详情请查看 这篇博客http://blog.csdn.net/qq_29375837/article/details/78396192

2017-10-30

极客学院简单demo——天气预报

一个简单的天气项目

2017-07-17

图灵机器人聊天

图灵机器人简易聊天 包括异步加载,网络访问,数据解析,聊天界面的实现等 时间比较老,但仍有参考价值

2017-07-15

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除