- 博客(42)
- 资源 (5)
- 收藏
- 关注
原创 主机屋终生版本服务器,是否值得
阿里云相信大家都耳熟能详了,不知道大家听说过主机屋没有。简单来讲,主机屋跟阿里云是一样的,是一家互联网服务提供商,包括:域名注册、虚拟主机、云服务 器、企业邮箱、主机租用、主机托管、CDN网站加速、智能建站等服务。(其实比阿里云成立还早)现在,他们又有一波活动:终生版本的服务器终生版虚拟主机提供四种配置的虚拟主机: 虚拟主机 网页空间 子网站 MyS...
2018-06-05 23:34:32
7738
6
原创 毕业季,北京梦,缘起缘灭
停滞的青春,油腻的中年 –《东吴同学会》毕业四年转眼,就到 6 月份了,离大学毕业已经 4 年了,在北京也已经呆了 4 年了。儿童节,高考,毕业季,总想说点什么,不好下笔,就想到啥说啥了。北京梦起选择了计算机行业,是我最正确的决定之一;不考研,是我最正确的决定之二;选择来北京,是我最正确的决定之三。这三个决定,让我的北京梦更加顺利。但也吃了很多苦,...
2018-06-01 23:09:35
492
原创 图片编辑器--重写 RadioGroup 的 onMeasure、onLayout 实现 RadioButton 多行多列排列
很久以前,我就有一个梦想:实现单选按钮 RadioButton 的多行多列排列。I have a dream场景: 某 PM:肖老板,之前咱们这里只有三个单选选项,现在我们内容丰富了,需要再增加两个选项。 肖老板:没问题,小事。加什么发我就行。(不就是加两个 RadioButton 嘛)结局你们相信也猜到了,我还是太年轻啊。尼玛,RadioGroup 居然不支持...
2018-05-30 17:59:39
634
原创 图片编辑器--视图布局 View 悬浮在软键盘上
心急的同学,代码和结论在最后。 公众号ID:goodKotlin,名称:XWdoor夸夸其谈几乎所有的项目中,都会输入编辑框与软键盘,但是,不同项目 EditText 就会遇到不同的待遇: 刚进界面就要弹出键盘 刚进界面不要弹出软键盘,用户点击后才弹 界面不要被软键盘顶上去 软键盘只把这个编辑框顶上去 同样是软键盘,为什么有的被吃牢狱之灾,...
2018-05-30 15:58:33
860
原创 模仿微信图片编辑器--动画实现向上弹出文字编辑框(遮罩)界面
豪言壮志今天天气不错,挺风和日丽的,出去逛逛街,溜溜弯,拍上一张美图,配上高逼格的格言警句,发到朋友圈,一片鸡汤文就此诞生。。。最近会有事没事会在朋友圈发动态:写一句格言警句,配上一张意境美图。因为懒,我总是在想,图片能够自动随机网上选择该多好,能不能直接将文字写在图片上,能不能一键分享到朋友圈,再配上二维码,那感觉,妙。。。花半天时间找了一下,目标就它了:微信的「图片编辑器」,然后自...
2018-05-30 11:21:13
3079
转载 Android 反射、代理调用系统隐藏API方法与接口类连接Wi-Fi
Android 反射、代理调用系统隐藏API方法与接口类连接Wi-Fi本文转载自:http://www.xwdoor.net/android-reflection-proxy-call-system-hidden-api-method-and-interface-class-wi-fi-connection/有这样的需求:通过扫描二维码获取Wi-Fi的ssid和密码,然后自动连接。我们先后出了两个版
2017-12-16 10:29:01
4286
1
转载 Android 检测是否连接互联网(英特网)
Android 检测是否连接互联网(英特网)文章转载自:http://www.xwdoor.net/android-test-is-connected-to-the-internet-internet/如今开发的app没有不用到网络的,所以对当前网络状态的准确把控就尤为重要了。经常有这样的场景:获取手机当前网络类型、是否连接Wi-Fi、是否能够访问外网(英特网)。今天我们要说的就是如何判断手机是否能
2017-11-27 12:50:21
1725
原创 错误 V4L2CameraDevice: select timeout
错误 V4L2CameraDevice: select timeout1.遇到问题今天在使用摄像头相关功能时,出现了以下错误和警告:E/V4L2CameraDevice: select timeoutW/V4L2CameraDevice: wait v4l2 buffer time out2.分析问题网上查阅了很多资料,都没有解决。最后跟同事吃饭的聊天的时候说到这个问题,他的一句话让我灵机一动,觉
2017-04-11 10:16:34
5635
原创 Android MediaPlayer 声音渐强渐弱效果实现
Android MediaPlayer 声音渐强渐弱效果实现1.需求描述最近公司产品需要提高用户体验:当播放语音消息时,如果当前正在播放其他音频文件,则有一个声音逐渐降低直至暂停的效果;当播放语音消息完成后,则恢复先前的音频,继续播放,且有一个声音逐渐增大到原先音量的效果。2.解决方案在网上 Google 了一下,方法都是一样的:创建一个线程,不断循环逐步调节系统音量到最低,然后停止播放,核心代码大
2017-02-10 22:01:04
6544
原创 修改 framework 代码的经验和踩过的坑
修改 framework 代码的经验和踩过的坑1 经验源码主要目录结构 目录 子目录 子目录 描述 android/frameworks/base core java/com/android/ 和 java/android/view/ 音量调节的代码位置;涉及部分关机逻辑代码;android 的核心源代码 - packages SystemUI Syst
2016-11-10 19:29:21
10287
4
原创 论初次修改 Android framework 代码
论初次修改 Android framework 代码背景公司产品需求,需要修改系统 framework 层的部分界面显示,包括声音调节、亮度调节、长按电源关机等。准备我并不是白手起步,有负责硬件的同学帮我搭建编译环境、vim 编辑环境(一些辅助插件)。由于 android 源码结构太过复杂,不建议强记,但是它的层次还是要大概清楚,比如 framework层 -> base -> core,polic
2016-11-10 12:31:19
6536
2
原创 Android 沉浸式状态栏的几种实现方式
Android 沉浸式状态栏的几种实现方式沉浸式状态栏,说通俗一点,就是使状态栏的背景颜色与我们的 App 标题栏看起来一致,或者就是将状态栏隐藏,打造全屏的 App 。 方法1: 状态栏设置为透明原理是将状态栏透明化,用自己的标题栏填充状态栏,因为在 android 4.4 版本后,才支持沉浸式状态栏,所以需要增加 if 判断,代码如下: @Override protected
2016-10-20 17:04:59
3622
原创 OkHttp GET 和 POST 的使用
OkHttp GET 和 POST 的使用1 OkHttp 介绍Android 开发,不可避免的会用到网络技术,而多数情况下,我们都是使用 HTTP 协议来发送和接收网络数据。Android 系统主要提供两种方式来进行 HTTP 通信,HttpURLConnection 和 HttpClient,但是从 Android 2.3 及以后版本中,Google 推荐使用 HttpURLConnection
2016-04-05 11:57:49
15121
3
原创 java.lang.NoClassDefFoundError: okio.Buffer 错误的解决方法
今天进行网络调试的时候,出现了以下错误: java.lang.NoClassDefFoundError: okio.Buffer出现这个错误,是因为我使用的 okHttp 网络请求库,而这个库依赖 okio.jar 这个 jar 包,可以去 github 上下载:https://github.com/square/okio出现 java.lang.RuntimeException: Can't c
2016-04-02 21:30:23
22160
3
原创 Android项目:手机安全卫士(16)—— 复杂 ListView
Android项目:手机安全卫士(16)—— 复杂 ListView1 介绍接着昨天的内容,今天继续完善应用列表,首先,应用分为系统应用和用户应用,安装位置分为手机内存和 sdcard,所以,我们在 ListView 中添加一个分类,分为系统应用和用户应用,每一个 item 显示安装的位置,最终效果如下所示:关于项目相关文章,请访问:Android 项目:手机安全卫士(10)—— 电话归属地显示
2016-03-23 18:07:38
1194
1
原创 Android项目:手机安全卫士(15)—— 获取手机安装应用与存储空间
Android项目:手机安全卫士(15)—— 获取手机安装应用与存储空间1 介绍今天来讲讲手机安全卫士的第三个功能:软件管理,其实也不应该叫管理,称为软件应用信息查看更正确一点,就是显示手机已安装的应用,并显示手机可用空间大小的一个界面,当然,其中也涉及到 Android 的基础知识。效果如下:关于项目相关文章,请访问:Android 项目:手机安全卫士(9)—— 手机号码归属地查询Androi
2016-03-22 13:48:46
1525
1
原创 Android项目:手机安全卫士(14)—— 短信备份
Android项目:手机安全卫士(14)—— 短信备份1 概述哈哈,今天又是全新的一天,最近为工作上的事有点闹心,不过学习的心不变,还是需要坚持不懈的努力。今天的任务是实现短信备份功能,这个比较简单,就是读取系统短信数据库,然后解析成 xml 标签格式保存到 sms.xml 文件中。需要保存的信息有:短信号码:对方的电话号码短信时间阅读状态,是已读还是未读短信类型,是发送的短信还是接收的短信
2016-03-18 13:52:20
1278
原创 Android项目:手机安全卫士(13)—— 通讯卫士之电话拦截与挂断
Android项目:手机安全卫士(13)—— 通讯卫士之电话拦截与挂断1 介绍上一节我们讲了黑名单数据的存储等 CRUD 操作,今天,就到了它们发挥作用的时候了,通讯卫士功法终于要练成了。关于项目相关文章,请访问:Android 项目:手机安全卫士(7)—— 手机防盗功能Android 项目:手机安全卫士(8)—— 管理员权限Android 项目:手机安全卫士(9)—— 手机号码归属地查询A
2016-03-17 17:19:22
3572
原创 Android项目:手机安全卫士(12)—— 通讯卫士之电话短信黑名单设置与拦截
Android项目:手机安全卫士(12)—— 通讯卫士之电话、短信黑名单设置与拦截1 介绍今天进入新的功能开发了:通讯卫士,主要用于手机电话、短信的黑名单设置与拦截,如果顺利的话,大概分两期就能够写完,今天的任务主要是黑名单数据库的创建与存储,涉及到 SQLite 数据库操作,ListView 操作,以及 Adapter 的优化。先给大家看看效果图:关于项目相关文章,请访问:Android 项目:
2016-03-16 17:34:50
2804
原创 Android Studio:xxx is not an enclosing class 错误的解决方法
Android Studio:xxx is not an enclosing class 错误的解决方法这个问题一般出现在内部类中,若要创建内部类的实例,需要有外部类的实例才行,或者是将内部类设置为静态的,添加 static 关键字
2016-03-16 09:20:49
33851
原创 Android项目:手机安全卫士(11)—— 归属地提示框拖拽效果
Android项目:手机安全卫士(11)—— 归属地提示框拖拽效果1 介绍关于号码归属地显示的功能,还差的就是它的拖拽效果了。它在两个地方可以拖拽,一个是在提示框位置的设置界面,一个是在来电界面,如图所示。 关于项目相关文章,请访问:Android 项目:手机安全卫士(6)—— 手机防盗设置向导Android 项目:手机安全卫士(6)—— 手机防盗设置向导(二)Android 项目:手机安全卫
2016-03-15 15:42:35
1072
原创 Android Studio 调试时 INSTALL_FAILED_INSUFFICIENT_STORAGE 错误的解决方法
Android Studio 调试时 INSTALL_FAILED_INSUFFICIENT_STORAGE 错误的解决方法今天用 Android Studio 模拟器调试的时候,弹出错误框,提示 INSTALL_FAILED_INSUFFICIENT_STORAGE 错误。 先没有管它,后台一直出现,google 了一下,出现这种错误的原因基本上有两个:模拟器的存储空间不足。一般模拟器自动分配
2016-03-15 14:38:37
1929
原创 Android项目:手机安全卫士(10)—— 电话归属地显示
Android项目:手机安全卫士(10)—— 电话号码归属地显示1 概述前一篇文章已经提供了电话号码的归属地查询功能,现在要做的,就是在打电话和来电显示的时候,显示一个电话归属地提示框,就像这样:感觉很简单是不是,No,这个还费了一点功夫,首先是监听来电、去电,同时这个提示框是可以拖动的,而且这个提示框可以自定义风格,可以设置它的颜色,是否显示等,所以,并不简单。关于项目相关文章,请访问:Andr
2016-03-11 16:33:57
1618
原创 Android项目:手机安全卫士(9)—— 手机号码归属地查询
Android项目:手机安全卫士(9)—— 电话号码归属地查询1 综述手机防盗功能已经开发完了,接下来开发一个高级工具功能,就是手机归属地查询,严格来讲,是查询手机号码的归属地。不过,由于用的号码数据库不是最新的,好多新号码段都没有,所以不能查,如果有必要,可以换成最新的数据库,某宝上有,你懂的。数据库文件保存在项目的 assets 文件夹中。关于项目相关文章,请访问:Android 项目:手机安
2016-03-10 13:51:22
2464
原创 Android项目:手机安全卫士(8)—— 管理员权限
Android项目:手机安全卫士(8)—— 管理员权限1 介绍关于手机防盗的功能,前面我们已经完成了一半,今天将要完成另一半,我们先来看看整体的功能描述:现在,我们还差两个功能:远程删除数据远程锁屏需要说明一下,完成今天的任务,你就可以开发一款 App:一键锁屏,是不是很厉害,哈哈。Android 项目:手机安全卫士(3)—— 主界面布局Android 项目:手机安全卫士(4)—— 自定义
2016-03-09 11:58:29
2805
原创 Android项目:手机安全卫士(7)—— 手机防盗功能
Android项目:手机安全卫士(7)—— 手机防盗功能1 介绍前面已经将手机防盗的界面、业务代码逻辑完成了,现在就是最后的功能实现了,手机防盗主要有这么几个功能:短信:发送警报短信,接收命令短信播放报警音乐定位:GPS 定位Android 项目:手机安全卫士(1)—— 闪屏界面Android 项目:手机安全卫士(2)—— 版本升级Android 项目:手机安全卫士(3)—— 主界面布局
2016-03-08 15:13:08
3750
原创 Android项目:手机安全卫士(6)—— 手机防盗设置向导(二)
Android项目:手机安全卫士(6)—— 手机防盗设置向导(二)1 介绍前面的文章介绍了设置向导的界面与切换逻辑,今天来看看每个界面后面涉及到的代码逻辑,主要知识点有:读取手机 sim 卡序列号监听手机重启完成的广播读取手机通讯录关于项目相关文章,请访问:Android 项目:手机安全卫士(1)—— 闪屏界面Android 项目:手机安全卫士(2)—— 版本升级Android 项目:
2016-03-07 14:19:49
1635
原创 Android项目:手机安全卫士(6)—— 手机防盗设置向导
Android项目:手机安全卫士(6)—— 手机防盗设置向导1 介绍设置密码成功或输入正确的密码后,就进入了手机防盗功能界面,若是第一次进入手机防盗功能,则会直接进入设置向导。今天涉及到的界面主要有 5 个:手机防盗界面设置向导1:欢迎界面设置向导2:绑定手机卡设置向导3:设置安全号码,所有的警报和通知都将发送到该号码设置向导4:设置完成,就可以开启手机防盗服务关于项目相关文章,请访问:
2016-03-04 17:30:43
2708
原创 Android项目:手机安全卫士(5)—— 自定义弹窗
Android项目:手机安全卫士(5)—— 自定义弹窗1 介绍前面实现了设置界面中的自动更新选项,接下来先把设置界面放到一边,以后用到了再添加相应的 Item 设置选项。回过头,我们来看看第一个功能:手机防盗,看到这个,一般能够想到的功能无非是:SIM 卡发生改变时,能够短信通知,并获取电话好吗手机丢失时,能够远程定位、远程锁机能够远程发送自定义指令嗯,暂时~,我就想到这么多。当然,进入这个
2016-03-02 16:39:16
1500
原创 Android项目:手机安全卫士(4)—— 自定义(组合)控件、属性
Android项目:手机安全卫士(4)—— 自定义(组合)控件、属性1 总纲手机安全卫士共有 9 个功能,我们先来看看设置界面长什么样:大家已经发现了,第一反应就是用 ListView 实现,但是,我们仔细一看,每一个 Item 并不完全一样,况且 Item 数量也不多,所以,我们可以用自定义(组合)控件来实现,把每一个 Item 抽象出来,做成控件,之所以叫组合控件,因为这个控件中用到了很多系统控
2016-03-01 17:59:56
1620
原创 Android项目:手机安全卫士(3)—— 主界面布局
Android项目:手机安全卫士(3)—— 主界面布局1 总纲前面实现了“手机安全卫士”的闪屏界面与版本检测升级问题,接下来的任务就是实现主界面了,这个相对简单,因为没有涉及到具体的功能开发,本文主要内容:九宫格显示功能列表,跑马灯提示效果,自定义样式几个方面,关于项目相关文章,请访问:Android项目:手机安全卫士(1)—— 闪屏界面Android项目:手机安全卫士(2)—— 版本升级项目
2016-02-27 21:57:15
3901
原创 Android项目:手机安全卫士(2)—— 版本升级
Android项目:手机安全卫士(2)—— 版本升级1 介绍前面讲了闪屏界面,现在来说说版本升级的问题,在闪屏界面的过程中,需要检测是否有新版本发布,若有,则提示用户升级。项目源码地址1(实时更新):https://github.com/xwdoor/MobileSafe 项目源码地址2:http://download.csdn.net/detail/xwdoor/94436332 准备工作在正式
2016-02-25 17:13:50
2411
原创 Android项目:手机安全卫士(1)—— 闪屏界面
Android项目:手机安全卫士(1)—— 闪屏界面1 介绍“手机安全卫士”这个项目也是黑马的一个教程项目,它几乎涉及到了 Android 的所有知识,写完这个项目,算是把 Android 的基础给串联了一遍。项目源码地址1(实时更新):https://github.com/xwdoor/MobileSafe 项目源码地址2:http://download.csdn.net/download/xw
2016-02-25 11:27:54
3907
1
原创 Demo:ContentProvider 内容提供者
Android 系统提供了三种方式来实现数据持久化(数据存储),即文件存储、SharedPreference 存储、数据库存储,而这三种方式只是程序内部共享与存储数据,要实现跨程序共享数据,就要使用 ContentProvider(内容提供者),将自己的数据共享给其它应用程序,但 ContentProvider 存储数据的方式还是基于前面提到的三种
2016-02-18 22:02:07
608
原创 Android 数据持久化(SQLite数据存储)
数据分为两种:瞬时数据与永久数据。瞬时数据,就是存储在内存中,可能会因为程序关闭、断电、回收而丢失的数据;永久数据,就是保存在存储设备中,处于持久状态的数据。数据持久化技术,则是提供了一种机制可以让数据在瞬时状态和持久状态之间进行转换。说了这么多,然并卵,它跟本文的主题有什么关系呢,Android 系统提供了三种方式来实现数据持久化,即文件存储、SharedPreference 存储、数据库存储。本文主要介绍数据
2016-02-16 14:33:41
1588
原创 智慧北京(1)——闪屏与引导界面
Android 项目:智慧北京(1)——闪屏与引导界面上一篇文章介绍了整个“智慧北京”项目学习总结,接下来就是具体的开发步骤了,其实接下来写的几篇文章都是为了督促我再次独立的敲写一边代码,仅此而已。项目源代码:http://download.csdn.net/detail/xwdoor/94306131
2016-02-13 14:43:57
1839
原创 Android 项目实战:智慧北京(黑马)
1. 写在开始这是学习 Android 的第二个月,前一个月将 Mars 老师的视频看了一边,也将《第一行代码》开了一遍,并将书中的代码都敲了一遍,这个月从网上下载了黑马的 Android 项目教程:智慧北京,用来对 Android 基础知识进行巩固和练习。“智慧北京”算是一个新闻客户端,前前后后我大概写了两遍,第一遍是边看视频边写代码,第二遍没有看视频,是按照自己的回忆和理解来写的,刚开始,感觉很
2016-01-31 18:17:15
7211
6
转载 Android Studio 修改 Logcat 颜色
设置File -> Settings分别打开 Edit -> Colors & Fonts -> Android Logcat选中需要设置的日志级别,去掉选项:Use Inberited attributes,然后就可以设置了这里给出每个日志级别的色值: 日志级别 色值 Assert 8F0005 Debug 0070BB Error FF0006
2016-01-30 20:11:18
1008
原创 设计模式:观察者模式(基于 Java)
设计模式:观察者模式先给定义:定义了对象之间一对多的依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 这是《Head First 设计模式》一书中给出的定义,看起来有点玄乎,云里雾里的,但是简单说来,就是一个 listener(监听),它的用处在于: 主要用于控件的事件的监听和异步处理时的回调。
2016-01-19 15:43:10
390
原创 锁屏应用开发的搁浅
一个多月的 Android 学习,是时候写一些应用了,恰巧我看到少数派中谢了一片文章,推荐了一款时间锁屏软件,于是决定写一个锁屏软件,轻量级的,但是结果还是给了我不小的打击。废话不多说,先记录下过程,便于以后的拾起。第一次动手,当然是先收集资料,做好准备工作。通过网络查询得知,锁屏类应用的实现方式有两种:修改锁屏源码,定制自己的锁屏,这样子就没有我后来的问题了,
2016-01-09 17:33:41
876
ContentProvider内容提供者
2016-02-18
数据持久化(SQLite数据库存储)
2016-02-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人