![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 75
行走江湖的文艺猿
程序员的价值并不是编码能力,而是独立思考、不断学习、解决问题的能力。
展开
-
自定义一个带进度值的圆形进度条
项目中有时候我们为了博得用户的眼球,需要自定义一些好看的控件,下面记录一个自定义带进度值的圆形进度条先上效果下面记录具体的实现过程在Android studio下新建一个project,然后新建一个CircleProgressView,继承系统的view,然后重写它的三个构造方法,如下: public CircleProgressView(Context contex原创 2017-02-27 22:53:48 · 2243 阅读 · 0 评论 -
Android ANR总结
对于刚开始做Android的童鞋们,经常会遇到ANR(application not response ,应用程序无响应),下面我就把我工作中关于ANR的理解总结一下。1、是什么引起了ANR?简单来说,最常见的引起ANR的原因有以下这么几种: 1)RuntimeException,运行时异常,比如空指针(这个算是前期遇到的最多的),类型转换异常,数组越界等 2)在主原创 2017-02-13 15:20:10 · 391 阅读 · 0 评论 -
github正式启用啦
开通github已经有2年多了,从一开始只有找资源项目才上到现在的天天上,github已经成为我每天必须上的网站了。但是自己并没有在github上push过公开的项目。作为一个对技术有追求的人,怎么能没有自己的libary。所以我决定从今天开始,正式的把github用起来,go,go,go~~~~github地址:https://github.com/zhaochang原创 2017-03-02 13:32:29 · 1588 阅读 · 0 评论 -
Android EventBus使用总结
最近在工作中用的了eventbus,给我的感觉是很酸爽~~,所以记录一下。eventbus的GitHub地址 https://github.com/greenrobot/EventBuseventbus的源码:https://codeload.github.com/greenrobot/EventBus/zip/masterAndroid Studio中使用原创 2017-02-17 22:22:18 · 626 阅读 · 0 评论 -
greendao在项目中的实践
众所周知Android中使用的数据库是sqlite,几乎在我们的每一个商业项目里或多或少都会用的数据库,有的1-2张表,有的甚至十几张表,有的表可能有十几个,几十个字段,所以就给我们写sql就更容易出错,这种出错只有运行的时候才会知道写错了某个字段名,有没有感觉很影响效率,那有没有一个第三方的组件可以代替我们写sql语句呢?答案是有的,就是我今天讲的——greendao1、什么是gre原创 2017-05-01 15:06:03 · 982 阅读 · 0 评论 -
Android中使用aidl在进程间通信(IPC)
最近去面试,发现有些公司的要求里要熟悉使用aidl,今天就把aidl简单的给大家分享一下首先说aidl是什么?Android Interface Definition Language,即Android接口定义语言。官方是这也解释的:为了使其他的应用程序也可以访问本应用程序提供的服务,Android系统采用了远程过程调用(Remote Procedure Call,RPC)方式来实原创 2016-07-04 18:04:26 · 1502 阅读 · 0 评论 -
回顾和总结的重要性
回顾和总结的重要性一段时间的紧张开发结束了,作为一个技术开发者,不知道大家是不是和我一样,在每次开发新项目的时候都会用到一些新的技术,新的知识点,遇到一些技术难点,一些很奇怪的bug。或许你在当时解决了,但是几个月之后你只记得你用过某个技术或者遇到错某个错误,但是已经想不起当时是怎么解决的了。因为我们每天都要接触很多很琐碎的东西,除了工作你还有生活。所以总结的作用就变得非常重要了。该记录一些什么?原创 2017-08-16 14:42:23 · 4421 阅读 · 0 评论 -
glide全局配置
gilde是一款很优秀的图片加载框架,使用起来也很方便。有时候我们需要对glide做一些配置,现记录一下glide全局配置的方法。环境说明 Android studio 2.3.3 glide:3.6.1新建一个MyGlideModule继承GlideModulepublic class MyGlideModule implements GlideModule {原创 2017-08-14 14:47:22 · 3030 阅读 · 0 评论 -
Java多线程从0到1之线程创建(一)
我们开发中经常会用到多线程,尤其是在Android中,由于主线程的诸多限制,像网络请求,文件读取等一些耗时的操作都会用多线程来写,多线程说简单也简单,就是new Thread(),然后在start();说复杂也复杂,线程数太多会造成OOM,由此引入线程池,死锁,同步(synchronized),生产者/消费者,原子操作,Java并发集合等。所以深思之后打算写一个系列,记录从学校到工作自己对多线程的原创 2017-10-12 15:17:50 · 500 阅读 · 0 评论 -
由Instant Run引发的问题及其解决方案
众所周知,Android作为移动市场占有率第一的系统,之前一直没有自己的编辑器,曾今Java出身的我一直在用eclipse,后来转向Android后eclipse用的更是手到擒来,但是google肯定不甘心自己开发的系统用别人的编辑器,so,Android studio就诞生了,最初Android studio各种问题,各种bug被开发者所吐槽,但是随着google的大量投入,Android原创 2017-10-11 11:20:59 · 4954 阅读 · 0 评论 -
Android studio下jni的配置和第一个helloword程序
现在用Android studio的人越来越多,但是网上很多jni开发的教程都是基于eclipse的,所以我把自己Android studio配置的过程记录下来,供大家参考。我的环境:Android studio 2.2buildtool 23.0.3jdk 1.7ndk android-ndk-r9d-windows-x86_64(根据自己的机器和Androi原创 2016-12-15 15:52:47 · 630 阅读 · 0 评论 -
android studio下jni传递int,String,数组类型的参数
这篇文章主要讲Java通过jni调用c层时如何传递参数,如何在c的代码中回调Java的方法上一篇 Android studio下jni的配置和第一个hello word程序 在上一个例子的基础上继续研究如何通过jni传递参数给c,其实传递参数很简单,先说一下步骤:1、在Java中定义native的含参的方法2、使用javah生成头文件3、在头文件中找到我们原创 2016-12-19 15:13:37 · 4641 阅读 · 0 评论 -
Android 中启动一个activity,怎么写才好
我们在开发一个app中,用到最多的就是activity了吧,对于大多数的新手来说,学习Android四大组件时最先接触的也是activity,但是我们的一个app中activity肯定不止一个,那么该怎么去启动一个新的activity呢?一)常见的启动activity的方法:原创 2016-06-27 17:20:40 · 1858 阅读 · 0 评论 -
ImageLoader如何用的更好
写在前面的话:相信每一个Android的app都少不了图片的加载,每一个Android程序员都少不了去写加载图片的代码,自己写的图片加载不知道大家有没有遇到很多问题,比如图片加载缓慢,同时加载多个图片时会有卡顿,加载大图时还会出现OOM等等各种问题,下面就为大家介绍一下我在项目中使用ImageLoader(开源框架)加载图片的用法和一些技巧那么imageloader有那么特性呢?我这儿只说最常原创 2016-06-29 11:29:22 · 605 阅读 · 0 评论 -
Android 微博长图加载
之前项目里用到过一个加载长图的功能,觉得还挺有意思,所以这儿把关键代码提取出来和大家分享功能描述:点击缩略图,加载长图,双击放大,单机返回一开始是想着加载长图的时候用dialog,但是过程中遇到了好多问题,最后就该用avtivity了Demo下载原创 2016-06-29 15:30:51 · 2159 阅读 · 0 评论 -
Android 使用service实现多线程断点续传下载
写在前面的话:项目中有一个视频的下载,所以去研究了service的下载,这儿有人会问,用service有什么好处,我可以用Thread吗?我想说的是service有自己的生命周期,它不依赖于activity的生命周期,如果有需要甚至你的app退出了你的service还可以继续运行,其次一个项目中下载的入口可能有好几个,用service的话可以让多个入口统一到service处来方便管理。如果你使用T原创 2016-06-01 23:25:00 · 2114 阅读 · 0 评论 -
listview 常见的优化和使用技巧
listview的基本用户大家可能都很熟悉了,下面我总结一些我在工作中对listview的一些使用技巧。1、使用ViewHolder模式来提高效率我们都知道加载布局的xml文件是很耗时的,为什么呢?因为有许多不同层级的控件,而我们的listview的getview()方法中一般都会通过findviewbyid()去找到某个控件,然后显示,想一想当你在快速滑动一个listview的时原创 2016-05-30 23:05:06 · 1589 阅读 · 0 评论 -
Android录音并播放(mp3或amr格式)
Android项目中媒体是很多人头疼的一个问题,不仅仅因为处理起来很麻烦,而且不同的手机差别很大(和硬件,系统都有关系),今天就总结一下Android中的录音和播放,可保存成mp3或amr格式。小米1s,三星,酷派8721移动版 测试通过1、首先说一下amr格式和mp3格式的却别:amr由欧洲通信标准化委员会提出,是在移动通信系统中使用最广泛的语音标准。他是被各大手机厂商认可的一种保存原创 2016-07-19 13:40:10 · 31436 阅读 · 5 评论 -
webview 加载h5页面,播放视频+全屏,实现简单封装
前段时间项目中用到了h5。从目前的市场来看,原生和h5的结合受到很多公司的欢迎,刚好最近微信也推出了它自己的“小程序”,这在Android程序员之间也掀起了波澜,引起大家讨论。个人觉得Google提供的webview有很多的坑,我这次就踩了不少,比如在某些版本的系统上某个方法不会执行,或者执行的顺序不一样,有的方法会多执行一次,说白了就是兼容性做的很差,究其主要原因,是Android4原创 2016-09-29 22:50:52 · 18874 阅读 · 8 评论 -
Android中canvas学习笔记
第三届互联网大会结束时间不长,却给我的触动很大,看到了很多的AI(人工智能),或许将来的某一天很多职业会被AI替代,包括80%的程序员,我们做为社会中的一份子,只有不断的提升自己,居安思危,才不会被这个快速发展的社会淘汰。最近遇到了好几个自定义view 的功能,其实自定义view的步骤不多,其中有2个关键的位置,OnMeasure()和OnDraw()这2个方法的重写。一些复杂好看的v原创 2016-11-21 14:51:14 · 394 阅读 · 0 评论 -
Android app启动页广告
一款app刚出世的时候是没有广告的,流畅的速度和粘性的设计,让这款app使用的人越来越多,这个时候,广告就诞生了,app中加入广告的位置有很多,最常见的就是启动页的广告,首页的banner的轮询广告,其他页面的一些角标广告。今天我这里实现的是一个Android的启动页的广告,支持倒计时,和跳过,点击进入广告的详情页。今天记录下来,也给大家参考。首先来看效果图:我们都原创 2016-10-25 17:50:54 · 21571 阅读 · 7 评论 -
gradle使用总结之全局变量
随着项目的开发,code变得越来越多,libary也从最初的2个变成了很多个,这个时候我们就需要用一套代码抽象多个产品形态,即抽象出部分主要或共用的代码到一个libary,其他的app libary基于这个libary展开,然而在每个libary中都有sdk build tool等等各种版本信息,还有导入support包的版本信息,如果要碰到升级或修改sdk版本,就会变得很麻烦,这里提供一种全局变...原创 2018-02-23 22:00:50 · 3440 阅读 · 0 评论