- 博客(44)
- 资源 (1)
- 收藏
- 关注
原创 ConstraintLayout 使用心得
最近写新项目,要求复杂的时候最好使用ConstraintLayout,于是正好把新的界面都采用ConstraintLayout来实现来练习下,了解下这个新控件(虽然已经出了2年多了 )ConstraintLayout 中文一般称为约束布局,个人感受相当于一个升级版的RelativeLayout,之前用RelativeLayout相比LinearLayout等可以减少布局层次,不过对于更复杂的布局...
2019-06-21 15:35:38
835
原创 Android原生下载管理相关记录
1.监听下载任务状态为了监听自身创建的下载任务,可以通过创建 ContentObserver 来 监听DownloadProvider mContext.getContentResolver().registerContentObserver( Downloads.Impl.CONTENT_URI, true, mDownloadManagerOb...
2019-06-20 10:16:27
514
原创 Android 冷门问题记录(20.1.15)
在使用AlarmManager时,通过PendingIntent传递 Parcelable 对象时,会出现取不到数据的现象。此时可以考虑用Bundle来保存Parcelable,再将Bundle传递给PendingIntent,即可正常传递。 参见:https://blog.csdn.net/m190607070/article/details/78492887 https://blog.c...
2017-10-31 17:35:56
572
原创 使用Android.mk文件导入Exoplayer包
在之前的项目中使用原生VideoView,存在一个加载非常慢的问题,为了提升加载速度,在项目中使用ExoPlayer来替换原视频方案.ExoPlayer是Google提供的开源视频库,提供了功能更强大的媒体播放功能,支持多种格式 https://github.com/google/ExoPlayer 我这里只需要能播最普通的Mp4即可,参考官方Demo,删减一下,就能得到一个简单的视频播放器,然
2017-07-31 17:27:57
2999
原创 ReactNative 应用于原生应用 踩坑
学习了一下ReactNative,配置好环境后,根据中文教程http://reactnative.cn/docs/0.46/integration-with-existing-apps.html#content 准备写了原生程序中使用RN的例子。没想到按着教程一路走来,还是有一堆坑。1.自动载入的ReactNative版本不是最新的 根据网上教程的方法,将Activity中的生命周期回调给Reac
2017-07-10 17:09:51
403
原创 代码优化之ViewStub
最近对代码进行优化,想到了面试时常问的ViewStub,可以实现延迟加载.虽然知道大概工作过程是初始化时不加载,使用的时候再加载.但是具体如何使用却还一直没有动手尝试.https://developer.android.com/training/improving-layouts/loading-ondemand.html https://developer.android.com/referen
2017-07-10 11:29:39
400
原创 重写MediaController在不同版本上的兼容方案
最近需要自己实现一个播放器,原生的MediaController带有一个默认的播放控制栏,但是需要改成设计图上的样式.弄了半天靠复制MediaController源码重写来解决了问题.代码上传之后结果发现,原生的MediaController代码中有一处,在Android 6.0以上与Android 6.0以下写法不同,分别引用了不同的包,而且新版本中没有旧包,旧版本中没有新包.不好兼容,搁置了好多
2017-06-22 16:03:34
1294
原创 Material Design共享元素转换(Shared Element Transition)效果实现
前段时间有妖气APP改版,在新版里看到个很炫的效果,点击收藏书架上的书,封面会移动到下个Activity。但是不知道是怎么做出来的,搜都不知道怎么搜。。。。昨天心血来潮研究下动画,然后看到在Material Design里提供了各种炫丽的转场效果,其中有一种效果正是我要找的,名为共享元素变换(Shared Element Transition)最后做出的效果图如下 参考的文章:http://blo
2016-08-30 13:30:58
4123
原创 自定义仪表盘控件(源码中已经改成了自己绘制表盘)
新的任务又来了,这次需要实现一个仪表盘的自定义控件,自定义控件一不常写就手生,这次又巩固下,并且学了一些新知识。https://developer.android.com/training/custom-views/index.html Android官方文档中关于自定义控件的教程,在大致了解自定义控件相关内容后,看官方的文档,收获更多,能发现许多其他人文章里并没有写的地方。所以有能力的都看看。美
2016-08-09 13:34:38
10202
原创 Volley源码简单解析
还是先自己分析一遍源码,在看大神们的分析更有用。研究Volley源码,首先从RequestQueue开始,1.RequestQueue/** The cache triage queue. */private final PriorityBlockingQueue<Request<?>> mCacheQueue = new PriorityBlockingQueue<Request<?>>
2016-07-28 21:28:50
629
原创 TabLayout实现滑动导航栏
目前在做的这个项目中,用到了滑动导航栏, 参考的开源中国APP,使用的是开源PagerSlidingTabStrip+ViewPager实现的。 然后今天刚巧看了一篇文章 http://blog.csdn.net/tyk0910/article/details/51395064 同样的效果,这篇文章是通过官方在Android Design Support Library中提供的TabLayo
2016-07-19 20:10:27
4699
原创 关于android图标美工设计尺寸与处理方法
最近两个项目都找了美工做的图标,关于尺寸方面,由于美工都是按px像素来设计,而我们程序里一般都使用dp来使图像有更好的适应,所以为了统一标准也琢磨了挺久,为了防止以后忘了再研究(已经忘了一次了),特此记录。我们的美工图标设计是按1080P设计的,1920*1080 比如其中一个图标大小是100px*100px, 那么放程序里我应该怎么设置才能完美还原美工设计呢主要是通过不同的drawable文件
2016-07-18 19:57:41
3596
原创 RabbitMQ的Android端接收
本次做的项目,有一部分是通过RabbitMQ来传输的实时数据。然后我这Android端就需要研究怎么接收。以前用的volley什么的,都是用http通讯的,这个稍微不太一样,采用的消息队列的方式,生产者与消费者的设计模式,观察者模式。有次面试就挂这了TT。看了下RabbitMQ,可以服务端上可以设置为工作队列(Work queues)这种模式下,只有一个消息队列,但是有多个消费者,这样每个任务只会
2016-06-23 20:24:13
14130
4
原创 高德地图BusLineOverlay自定义公交线路
项目中用到一个功能,对车辆运行情况监控,在地图上显示。 因此需要在地图上绘制一条线路,显示每个站点的车站信息,以及当前车辆在线路上的运行情况。 类似高德地图demo中公交线路查询的样式 查了下文档,在BusLIneOverlay中看到这么一段话 公交线路图层类。在高德地图API里,如果要显示公交线路,可以用此类来创建公交线路图层。如不满足需求,也可以自己创建自定义的公交线路图层。看来应该
2016-06-14 18:53:13
5370
1
原创 Android 侧边栏NavigationView与toolbar
最近做的一个项目,使用了侧边栏,按着官网的教程,使用的DrawerLayout,然后也用到了actionbar,然后显示效果如下: (该之前的图懒得还原了。。这个是示意图)但是我发现Google 商店之类的应用,侧边栏是这样的 这两个的区别是侧边栏是否延伸到系统顶部。 难道谷歌的应用用的不是DrawerLayout? 到知乎上转了一圈也没有找到明确答案,关于这两种样式争论也不少,我是倾向
2016-06-13 20:20:09
31438
5
原创 高德地图简单使用
几年前做地图相关项目,使用的百度地图SDK,这次又遇到相关项目,打算尝试下高德地图如何。1.首先,注册高德账号,然后申请为开发者http://lbs.amap.com/2.申请KEY几年前弄百度地图时,也要申请Key,挺麻烦,然后有时候在实验室弄,有时候在笔记本上弄,需要弄两个Key,然后开发时和发布时都需要个Key,当时弄得老麻烦了。有了之前的经验,现在申
2016-06-03 11:23:26
4557
原创 ListView高效异步加载图片
项目地址:https://github.com/LqcIce/ImageListview实现了异步加载图片,并且在滑动停止后再加载新图片,提高效率。总结问题主要有一下几点:1.只使用简单的convertView与viewHolder来提高效率时,当从网络加载图片时速度较慢,并且由于listview重用view的机制,快速滑动时会出现图片乱序的状况,这种现象原因时,对于每
2016-05-29 17:15:07
829
原创 自定义圆形图片控件
做项目有个地方要用圆形图片做头像,而美工只给了我一个方形图片。。本来打算自己PS的,就先放着了。后来网上搜到可以通过代码来实现圆形头像,而且上次面试还被问到了怎么实现圆形图片。。。于是这次动手用自定义控件的方法做出来了,就算又练习了一下自定义控件。原理:这次用的方法主要是通过BitmapShader来实现,Shader是颜色填充器,比如画了个圆,如果设置了Shader,且设置S
2016-05-06 15:26:52
1176
原创 Android后台线程拍照卡顿问题(回调函数与Looper)
前段时间做了一个项目,要求后台拍照,经过努力完成了需求。方法如下: // 启动相机 new Thread(new Runnable() { @Override public void run() { if (myCamera != null) { ol.disable(); myCamera.stopPreview(
2016-05-03 18:00:54
7545
5
原创 在Ubuntu上搭建Android开发环境(Android Studio)
五一放假,闲着没事,装了最新的ubutun16.04,然后打算顺道把android开发环境移植到ubuntu上来体验一下。1.首先下载了Android studio 2.1 之前使用的提供改host 翻墙 的网站今天挂了。。。只能在国内网站下了。。。http://www.androiddevtools.cn/下了个android-studio-ide-143.27393
2016-05-01 16:00:20
8917
原创 自定义三档半圆开关控件
项目中需要一个多档的开关,根据美工的做图来开,可能得用自定义控件来实现,正好之前学习做了一个卫星菜单自定义控件,打算尝试自己自定义这个半圆控件。美工图如下:1.考虑自定义控件所需属性根据美工图来看,我觉得需要两个属性,开关档位数量leve,指示器颜色indicatorColor于是在values文件夹下新建attrs.xml文件,内容如下xml version="1
2016-04-01 12:29:02
1655
原创 Android沉浸式效果实现
目前,许多Android应用都使用了沉浸式效果,即状态栏颜色与应用的导航栏(或是自定义导航栏)一致。这次做的应用中,需要实现这种效果。费了好多时间没弄通,直到看到这篇文章:http://blog.csdn.net/ys408973279/article/details/49994407根据文章以及附带的github工程,总算是搞通了。同时整理一下遇到的问题:1.首先
2016-02-25 13:54:32
4034
原创 GridView中实现元素填充剩余空间(自适应)
在使用GridView时,遇到了以下问题,如图所示。 做了个计算器按键(计算排列组合的计算器),遇到的问题是,在最后一行,有0和等号两个按键,想将0键填充剩余的空间,最后一列放等号,于是将0键按钮设置占用3列空间。android:layout_columnSpan="3"虽然0键占用了3列空间,等号也到了最后一列。但是0键按钮并未随之扩大,还是原来的大小。不是很美观,想将0键扩大填充剩余空间。
2016-01-19 21:17:34
6320
1
原创 Git Server搭建
用途:不想放在github上公开或者只是在局域网内使用git,则可以自己搭建git server来使用环境:推荐linux (本人用的ubuntu14.04)流程: 1.安装SSH服务端,使远程主机能访问本机sudo apt-get install openssh-server(安装时遇到了依赖问题,openssh-client版本不符合 下列软件包有未满足的依赖关系: openssh-s
2016-01-09 18:23:36
913
原创 Android 5.1 上运行Oprofile (虚拟机与nexus
运行Oprofile需要源码和内核支持 首先源码中的Oprofile需要开启编译。在android 5.0以下,Oprofile在userdebug版本中是默认开启的,官方镜像中则没有,所以需要下载源码编译为userdebug版本。在android5.0以上,Oprofile不是默认开启的,所以也需要下载源码,将其在源码中开启后,再编译为userbug版本才能使用。 开启方法如下(
2015-10-07 13:23:22
2206
2
转载 Ubuntu 14.04 安装jdk1.6
首先,从http://java.sun.com中下载jdk,我的版本是jdk1.6.0_12,我下载的是bin文件,我将下载的jdk1.6.0_12.bin文件置于/usr/lib/jvm/java中然后,在shell中执行首先,从http://java.sun.com中下载jdk,我的版本是jdk1.6.0_12,我下载的是bin文件,我将下载的jdk1.6.0_12.bin文件置于/usr/lib/jvm/java中然后,在shell中执行:代码:sudo
2015-09-22 17:00:39
936
原创 java注释量统计代码实现
由于项目需要统计代码注释量,故寻此代码。由于我们需要统计的代码中,注释有多种形式,需要过滤出别人以前写的注释,只统计我们新写的注释。旧的注释采用的注释方式有三种: // 注释1 /** 注释2*//* 注释3 */新写的注释有如下三种
2015-09-07 11:19:37
3952
转载 nexus 6 刷官方5.1镜像出错解决方法
参见:http://sspai.com/27429Google 已经开始推送 Android 5.0 正式版镜像,然而,一些用户在刷机时却遇到了类似提示的错误:archive does not contain 'boot.sig'archive does not contain 'recovery.sig'......error: updat
2015-06-26 11:33:54
2577
原创 中国气象网 气象数据开放平台 API使用方法 (Android)(已废弃)
由于要做个天气应用,需要找个天气的API。上网上搜了下都是那几个,而且基本都过时了。百度有个天气API,不过貌似只能提供当天的。网上提到的中国气象接口的文章,大都用的时旧API,有的被封了,有的永远停到了2014年3月24不更新了。后来找到了中国天气的新接口,已经升级成气象数据开放平台了http://openweather.weather.com.cn/。没有开发者社区或论坛什么的,只能自己琢
2015-06-05 14:44:26
15260
12
转载 grep:Binary file (standard input) matches
grep "key" xxx.log时输出Binary file xxx.log matches百度了一下:grep认为这是二进制文件,解决方案:grep -a。grep -a "key" xxx.log
2015-05-29 13:03:42
719
原创 doxygen 初次使用尝试
做项目时,需要看源码和写文档,看源码时,则需要写注释。如果能在注释源码完成后,就能生成对应的文档,可以减少很多工作。使用doxygen可以实现这个功能。不过在注释的时候要使用标准注释方法,可以参考javadoc,即以/**起始,以*/结束提供一个测试的例子如下。/** * @description 求两个数的和 * 1) 参数将强制转换为Number类型 * 2) 这是一个
2015-04-16 19:36:28
764
原创 Git使用基本方法二(通过SSH加密传输连接git服务器)
之前介绍的连接git服务器的方法(链接),存在一个不是很方便的问题,即每次上传等操作时都需要用户名和密码。git服务器还支持通过SSH加密的传输,通过这种方法,可以省去每次都输入密码的麻烦。不过在此之前需要先做一下设置。1.生成SSH Keyssh-keygen -t rsa -C "xxxx@qq.com"可以选择保存位置和是否加密,一般不用更改,直接一路回车即可,也不用
2015-04-13 15:45:51
3466
原创 Git使用基本方法(从远程服务器获取分支,提交修改)
做项目初次用到Git,以前没用过,完全没不懂,琢磨了好久才弄得差不多,特此分享,可以少走点弯路。这次用的操作系统是Mint1.首先需要安装Gitsudo apt-get install git2.在本地新建Git仓库新建一个文件夹,然后文件夹中打开终端,输入命令git init,即可创建一个仓库3.连接Git服务器这次我们用的服务器是http://git
2015-04-11 20:58:00
6626
转载 adb通过TCP/IP来调试Android设备
adb通过TCP/IP来调试Android设备 对Android比较熟悉的开发人员,对adb通过USB(USB连接Android设备)调试Android设备应该不会陌生,因为大部分资料都是这样做的。但是假如你的Android设备没有USB口,只有网口,能不能调试呢?(比如移植过程中通过NFS启动的Android系统,再比如你的设备上面USB设备匮乏。)答案是肯定的。本文我将以我最近的经验
2015-04-10 13:55:14
6077
原创 下载安装Android Studio详细教程
Android Studio是在Google I/O 2013开发者大会上,由Google推出的专为Android开发者准备的最新的开发工具。它是一项全新的基于IntelliJ IDEA的Android开发环境。类似于Eclipse ADT插件,Android Studio提供了集成的Android开发工具用于开发和调试。除了IntelliJ功能,Android Studio 的主要优点还有:基于
2015-03-16 20:34:36
5899
原创 android Linearlayout中有关gravity与layout_gravity对布局的影响
android:layout_gravity="center_horizontal"
2014-05-22 08:52:29
649
原创 解决Android发送json时,服务端解析中文乱码
添加HttpPost httpPost = new HttpPost(uri);httpPost.setEntity(new StringEntity(postData.toString(),"UTF-8"));
2014-05-12 15:29:52
1417
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人