Android
文章平均质量分 82
清欢-欢欢
愿你三冬暖,愿你春不寒,愿你天黑有灯,下雨有伞,愿你路上有良人相伴。
展开
-
Android 采用libmp3lame录制MP3文件
Android提供了两个API用于实现录音功能:android.media.AudioRecord、android.media.MediaRecorder。 网上有很多谈论这两个类的资料。现在大致总结下:1、AudioRecord主要是实现边录边播(AudioRecord+AudioTrack)以及对音频的实时处理(如会说话的汤姆猫、语音)优点:语音的实时处理,可原创 2016-09-30 16:51:43 · 4206 阅读 · 1 评论 -
用google zxing生成二维码和扫描二维码
二维码生成扫描器App详解。作品已上线地址为http://android.myapp.com/myapp/detail.htm?apkName=cn.erweima.creat。可以下载玩玩看下效果。 笔者的这个App采用的是zxing生成和扫描。然后支持将生成的二维码分享,比如说是朋友圈,QQ空间等,分享功能不用集成任何第三方,采用系统原生功能进行分享。 首先集成zxin原创 2016-09-30 23:04:55 · 4267 阅读 · 0 评论 -
Android与JavaScript互相调用与通信。
前段时间一直在流行混合式开发,其中React native是其中的佼佼者。然后微信又推出应用号,javaScript无疑又火了一大把。无论框架再怎么变化,再怎么封装,原理都是基于javaScript与原生Android的互相调用。无非是封装的接口种类、名称、功能不一样吧了。现在用个简单的例子来说明javaScript是怎么和原生Android互相调用的。最后运行效果如图所示。点击htm原创 2016-10-03 20:36:43 · 2268 阅读 · 0 评论 -
与百度应用商店的爱恨情仇
项目做完后肯定要上线嘛,在上传百度应用商店的审核时,百度不让上线,提示原因呢是App签名与之前的签名不一样。需要联系ext_app_qual@baidu.com进行说明,原因呢是曾经公司曾经的签名丢失了。那没办法,那就填呗,下载下来,按照word上的注释填写盖公司的章,楼主想这样应该就没问题了,然后就发送邮件。这个时候楼主不得不赞美下百度的客服,回复邮件的速度还是挺快的,几个小时就处理回复了。按照原创 2017-02-25 17:58:29 · 1055 阅读 · 0 评论 -
仿联系人选择列表和美团城市选择器
效果如图:项目源码:https://github.com/Ahuanghaifeng/CitySelect说明:采用的是本地格式化好的数据,采用的是listView+自定义view。简单说下思路主页布局文件是listview+最上面textview,监听listview的滑动,获取当前第一条数据的char,设置在textview上,item是两个textview,在adapter里原创 2017-03-27 15:08:24 · 1022 阅读 · 0 评论 -
技术日报开源项目
项目介绍:项目分为资讯和图片和关于三大类,资讯分为github、hacker、SegmentFault、jobBole、技术头条、Android、ios、和all,图片是美女福利图片、并提供下载。项目用到的技术框架1:采用okhttp3+retrofit2+rxjava+rxandroid+hawk+logging搭建的网络模块,支持离线缓存阅读模式。2:其他第三方:采用picasso原创 2017-03-28 11:28:27 · 2149 阅读 · 0 评论 -
Android性能优化
我来说说我所用到的优化方法,App性能优化在我分为xml布局文件优化和java代码的优化。 xml优化 1.不要在布局文件中设置比较大的图片当背景,大的背景图可以在java代码里手动设置,并在ondestory时释放bitmap。 2.善于使用include,viewstub,merge,对用的比较多并且比较相似的布局,提取出一个自定义View原创 2017-04-05 17:12:47 · 391 阅读 · 0 评论 -
Android自定义View实现手写签名的功能
最近的有一个功能需求,需要在平板上实现手写签名并保存上传到服务器,背景是网格状,可以擦除重签,需要保存的签名图片不能带有网格,所以需要自定义view分层。具体的实现效果如图。代码采用framelayout包裹两个自定义view实现,网格是一个,签名的白板也是一个。签名的view在上,背景透明,网格的view在下,背景是白色。原创 2017-04-20 22:38:52 · 2456 阅读 · 0 评论 -
Android平台阿里页面路由ARouter
一、为什么需要路由框架原生的路由方案存在的问题首先谈一谈原生的路由方案存在的问题以及为什么需要路由框架。我们所使用的原生路由方案一般是通过显式intent和隐式intent两种方式实现的,而在显式intent的情况下,因为会存在直接的类依赖的问题,导致耦合非常严重;而在隐式intent情况下,则会出现规则集中式管理,导致协作变得非常困难。而且一般而言配置规则都是在Manifest中的,原创 2017-05-10 16:51:54 · 5285 阅读 · 0 评论 -
retrofit2用simplexml解析xml
现在手上的项目后台返回的是XML字符串,用惯了JSON + GSON的我第一考虑的就是自动化解析,那么多接口,那么多属性,用DOM或者萨克斯解析太浪费时间了,而且扩展性也不好。网上的关于retrofit2 + simplexml的的文章真的非常少,可见XML是多么不受客户端欢迎,没办法,胳膊拧不过大腿,只能接受XML传输数据。//网络compile 'io.reactivex:rxjav原创 2017-06-29 17:41:14 · 5011 阅读 · 0 评论 -
Android消息推送之自启动
背景最近公司的项目需要及时聊天功能,聊天功能基本上已经完成,采用的是自己搭建的socket长连接来实现聊天的方按。安排我研究消息推送,主要确保杀死App后还能正常接收消息,重启后也能收到消息。消息推送的重难点1.长连接消息收发功能的实现。2.消息的实时推送,确保消息的达到率。第一条目前已经实现,不在本文讨论的范围,主要是针对第二点讨论。要做到消息的实时推送,保证消息的到达率,当然是后台服务常驻的原创 2017-09-09 11:51:04 · 10549 阅读 · 1 评论 -
采用python进行Android的多渠道打包
背景就是假如有一个.apk安装包,没有源码,不能改里面的代码,但是知道里面的渠道配置是采用的友盟的方式,在androidManifest里面配置的渠道号,问如何才能用脚本实现多渠道打包。多渠道打包的两种实现方式1.美团的方案目前网上流行的都是美团的解决方案,读取配置文件然后在META-INF目录下新建一个空文件,文件名就是渠道号,然后改java代码去获取文件名字,并设置渠道号,这种方案随便一搜一原创 2017-09-11 15:20:12 · 1537 阅读 · 2 评论 -
android嵌入react native
android嵌入react native本来不想写这篇文章的,因为网上关于android嵌入react-native的文章实在是太多了,但是大部分文章写得都坑爹,还有大部分抄的很坑爹,照着来会发现有问题啊,反正就是坑爹。所以我打算写一篇采用最新版本react-native,能用的教程。1.去react native官网看教程安装环境不解释2.实现AwesomeProject采...原创 2018-03-02 16:45:50 · 521 阅读 · 0 评论 -
小论设计模式及在Android中的应用
本文主要总结下几个常用的设计模式在Android中的使用。涉及到的设计模式如下:单例模式工厂模式策略模式代理模式模板方法模式建造者模式外观模式一.单例模式1.1 模式说明实现1个类只有1个实例化对象 & 提供一个全局访问点1.2 作用(解决的问题)保证1个类只有1个对象,降低对象之间的耦合度1.3实现方式其中饿汉模式和静态内部内实现不需要上锁也能保证是线程安...原创 2018-09-27 17:26:43 · 1937 阅读 · 0 评论 -
Android ZoomImageView手势缩放拖动图片,并将Glide加载的网络图片保存到本地。
在正式写干货时,先说几句题外话。本人今年毕业于一个非常普通的学校的软件工程。之前在学校断断续续的学习了Android开发。大三实习了一年。然后到现在进行Android开发也已经一年多了。一直觉得到网上写博客的人很牛逼,很高大上。之前因为自己实力不行,写作表达能力也不怎么样。一直压抑着写博客的想法。但现在实在是控制不住体内的洪荒之力,打算写写东西。这篇文章是我的第一篇文章,写的不好之处请多多包涵。本人目原创 2016-09-23 10:40:51 · 7104 阅读 · 0 评论 -
Android极光推送集成和跳转
1.确认android studio的 Project 根目录的主 gradle 中配置了jce原创 2017-02-22 09:57:22 · 1376 阅读 · 0 评论 -
Android DrawerLayout和NavigationView实现左右侧滑和自定义toolbar。
首先看效果,如图所示。由于项目已经完成一部分了,各种效果已经夹杂在一起了,代码就不单独提取出来了,大致代码如下。布局文件代码如下:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-a原创 2016-10-23 21:52:35 · 6623 阅读 · 4 评论 -
Android高斯模糊在java层面上的两种实现方式
第一种是依赖于support-v8的实现如下package com.wbkj.artmss.Weight;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import a原创 2016-10-26 20:45:23 · 2354 阅读 · 0 评论 -
百度地图在scrollview里面滑动冲突解决以及跳转到百度地图app的方法
首先用百度开发者账号申请一个百度地图的key。然后将百度地图demo中的.jar和.so导包到自己项目中的libs目录下,在AndroidManifest文件中配置<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="XTApUL7LRzy4fNgWr1NomaBnfs原创 2016-11-07 21:44:45 · 1990 阅读 · 0 评论 -
android 优酷视频集成遇到的坑
首先就是选网址,优酷有两个开放平台一个是优酷开放平台http://open.youku.com/,一个是优酷视频云的网址 http://cloud.youku.com/。前面那个的网站的播放器,笔者亲测是不行的。后面的那个网站的播放器是可用的。当时开发时,在这里卡了一两天。真是坑爹。然后就是集成了,后面优酷视频云里面的文档简直不能看。只有亲自试错了。首先下载网址里面的demo,然后将里面的Youk原创 2016-11-11 17:14:02 · 3556 阅读 · 2 评论 -
android计算当前缓存大小与清除功能
import android.content.Context;import android.os.Environment;import java.io.File;import java.math.BigDecimal;public class DataCleanManager {//获取当前的缓存大小 public static String getTotalCacheSize原创 2016-11-12 14:02:45 · 502 阅读 · 0 评论 -
Android常用的工具方法
/** * 判断是否是手机号 */ public static final boolean isMobileNO(String mobiles){ Pattern p = Pattern.compile("^((1[3,5,8][0-9])|(14[5,7])|(17[0,6,7,8]))\\d{8}$"); Matcher m = p.原创 2016-11-12 14:10:21 · 295 阅读 · 0 评论 -
recycleView实现item重叠水平滑动
效果如图LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL); recyclerView.setLayoutManager(linearL原创 2016-11-29 11:54:39 · 2539 阅读 · 1 评论 -
非常简单实现可折叠textview并带有省略号
效果如图之前看到的可折叠textview都是代码一大堆,用起来麻烦。我这个方案不用写自定义控件,简单粗暴,直接达成目的。布局文件<RelativeLayout android:layout_width="match_parent" android:layout_height="w原创 2016-11-29 13:40:21 · 1532 阅读 · 0 评论 -
省份城市区三级选择器
对于省份城市区三级选择器这个话题,可以说是老生常谈了。我这边的需求是,从网络上获取省份城市区的数据,然后塞到数据选择器里。原创 2016-11-17 10:20:53 · 4048 阅读 · 0 评论 -
AppBarLayout和CollapsingToolbarLayout第二波
效果如图上面是可折叠的head,下面是viewpage +webview。布局代码如下<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.co原创 2016-11-30 09:44:53 · 437 阅读 · 2 评论 -
AppBarLayout和CollapsingToolbarLayout实现头部滑动折叠
效果如图往上拖动,会把首部隐藏掉。拖到一定程度就会把轻松找画室置顶,下面的两个RecycleView可以上滑下滑。recycleView滑到头部后就会把隐藏的head布局滑出来。布局<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/and原创 2016-11-18 10:52:10 · 2626 阅读 · 2 评论 -
自定义EditText,带有搜索图片的EditText
效果如图,搜索框带有搜索的图片。代码如下/** * Created by 海峰 on 2016/10/18. */import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;import android.graphics.Paint;i原创 2016-11-22 14:14:00 · 1898 阅读 · 1 评论 -
图片的终极压缩和保存
手头上的功能为多图选择后上传所选图片,由于目前手机上的照片文件都比较大,对照片质量没有太高的要求,所以进行图片的压缩上传。首先根据原图的地址生成压缩后的图片,首先进行图片的尺寸压缩,然后进行图片的质量压缩。代码如下。public class YaSuoImageUtil { public static String path = Environment.getExternalStor原创 2017-02-06 09:36:21 · 600 阅读 · 0 评论 -
android多图选择器demo
本文是根据鸿祥大神的博客http://blog.csdn.net/lmj623565791/article/details/39943731进化而来,在大神的基础上更进一步封装拍照,防止oom,选择图片后回调。原创 2017-02-20 11:17:45 · 672 阅读 · 0 评论 -
android方法数超过64k和Gradle编译OOM解决方法
在上一篇讲集成极光推送的时候,楼主就碰到了这两个问题,之前项目就已经够大了,已经集成了各种各样的第三方库了,这个极光推送就成了压倒骆驼的最后一根稻草。64k报错如下UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536 OOM报错原创 2017-02-23 11:48:04 · 854 阅读 · 0 评论 -
发布androidlib项目到maven仓库
随着公司新游戏、新项目的增加,为了提高开发效率,方便项目的统一维护,于是我们将一些积累的公共代码以及第三方的开源库放在一个library项目中,然后上传到公司自己基于Nexus搭建的Maven仓库,以便在其他项目中通过Gradle配置来添加引用,既方便又快捷。一.编写gradle脚本配置1.首先在lib下新建gradle.properties文件,在里面配置版本号,仓库地址,仓库包名和名称以及...原创 2018-11-26 11:03:58 · 785 阅读 · 0 评论