android项目实用
ZACH_ZHOU
只要不断学习,才可以进步。遇到问题解决问题,提高解决问题的能力才是王道
展开
-
安卓中SQLite的最简单使用(二)
接着介绍,今天我们来介绍Sqlitedatabase的辅助类SqliteOpenHelper。一个抽象类,主要 对数据库的创建和版本的更新。至于该怎么使用? 这还用说,直接建一个类继承SqliteOpenHelper, 然后我们就能愉快的玩耍了。/** *本类主要用于数据库的创建和表的生成以及数据库版本的更新 */public class DbOpenHelper extends S原创 2016-01-26 11:12:15 · 463 阅读 · 0 评论 -
android集成热更新就是这么简单!
项目1.0开始发布,到项目稳定。这期间会有多次版本的迭代。如果每次都是发布版本,会耗费大量的时间成本,因为在版本迭代的过程中,旧的bug解决了,新的bug也可能会出现。即使是最牛逼的程序猿也不敢说自己的项目没有bug。还有就是有的时候项目中虽然存在bug,但是bug级别很低,也没有必要去发布版本。此时,为了满足这种需求。android的热更新就起了大作用了。热更新原理: android程序在打包之原创 2017-06-26 18:46:17 · 1137 阅读 · 0 评论 -
android注解的基本原理和使用
在android的开发中注解使用是非常常见的,注解可以使代码阅读更加的清晰,整洁,可读性大大增强。但是如果不知道注解的原理,那么用起来也不会得心应手。通过本篇的学习,你可以掌握注解的基本原理,自己搭建注解框架。注解的原理: 使用interface来用作标记,@Target来用作描述类型(包括类、成员变量、方法等)@Retention来描述生命周期。其内部是通过类的反射机制,调用指定对象的方法原创 2017-07-02 16:13:05 · 1564 阅读 · 0 评论 -
趣谈责任链模式
什么叫责任链模式?就是请求1:1的传递,知道请求内容被相应的类处理。这么说是不是不好理解?那么我们结合生活中的例子来掌握java的这种设计模式。原创 2017-07-09 15:29:56 · 417 阅读 · 0 评论 -
仿今日头条频道管理
使用过今日头条的伙计们对这个效果肯定很熟悉。拖拽可排序,点击标签后可以删除。今天我们采用RecyclerView来实现。实现思路:通过ItemTouchHelper来绑定RecyclerView的子控件触摸事件。当滑动拖拽的时候,通知适配器来交换两个子控件的显示位置。更改数据源,使数据源与子空间显示内容一致。原创 2017-07-22 14:29:50 · 1087 阅读 · 1 评论 -
android使用webview预览png,pdf,doc,xls,txt,等文件
最近有项目有一个需求,就是在线直接预览pdf,doc,xls,txt等文件,ios的webview比较强大,可以直接解析地址,然后预览。但是android的webview就比较差强人意了。当然,打开各种类型的文件,我么可以使用intent来做,但是这个明显跟我们的需求不一致啊,人家ios那边一点击就直接预览了,到了android这边还得先调系统程序,然后在预览,这这…….。 产品既然定了需求,那我们原创 2017-02-20 10:54:37 · 21807 阅读 · 24 评论 -
编译android源码7---android 源码目录结构
google Android 源码目录:https://android.googlesource.com/ android |– Makefile (全局的Makefile)|– bionic (Android 标准C运行支持库)|– bootable (Android内核加载器参考)|– build转载 2017-07-31 16:15:53 · 1882 阅读 · 2 评论 -
水波纹控件实现
有很多app使用过水波纹的这样的效果,看着很酷酷的样子,所以自己就撸码写了一个。 实现思路:利用贝塞尔曲线绘制圆弧(也就是水波的波纹)通过动画改变绘制的起始点使水波纹平移原创 2017-07-22 23:32:31 · 753 阅读 · 0 评论 -
Handler源码剖析
在分析handler之前,先要搞明白Handler是什么? Handler涉及到那些关键类?这些关键类主要作用是什么?他们是如何工作的?这些问题搞懂了之后,handler的机制就基本上全明白了。 Handler:进程中用来线程通讯的过程。 Handler涉及的关键类有那些? 既然是通讯,那必然就要通讯内容的载体Message。 Message就要有一个消息仓库,MessageQueue。原创 2017-07-23 14:25:40 · 459 阅读 · 0 评论 -
MAC下使用ndk编译ffmpeg
ffmpeg是c语言的库,主要作用是对音视频进行编解码等操作。是android进阶必须要掌握的一门技术。通过使用ffmpeg可以提高对android ndk的认识和熟练度。第一步当然就是编译ffmpeg编译为android可以使用的.so文件。原创 2017-12-20 17:56:06 · 1108 阅读 · 0 评论 -
android中JNI使用探究
最近一直比较忙,在做前端和后台相关的东西。主要研究方向是vue和node,所以博客很久没更新了。JNI是android里面比较难的一个环节,咱们先想一下,为什么jni比较难,有一句话叫做不明觉厉,你不知道他,不懂他,心里就觉得这个东西很高大上,很厉害。但是我想说的是,在android这一块,jni还没你想象的难。但是在开始jni的学习之前,有两点你必须要知道,其一:基本的android nkd开发...原创 2018-03-24 23:07:32 · 578 阅读 · 0 评论 -
严格模式与内存泄漏,你必须知道的一切
android开发中相同的效果,但是运行起来性能是不一样的,有的app卡到爆,这无疑是是失败的产品,对于一个开发人员来说这是不能容忍的,android在API9引入了StricMode类来检查内存的读写和网络请求,虽然引入此类最主要的是检查主线程的网络请求,因为在早期的API版本是允许主线程网络请求的,但是现在请求都是异步的,严格模式的作用也不是那么的明显了,但是还是对开发有一定的帮助。 严原创 2016-12-08 15:09:44 · 1168 阅读 · 0 评论 -
BroadcastReceiver与ListView结合使用
BroadcastReceiver可以说是一种系统级的监听,有自己进程,与Activity通过intent来通讯,android中的广播又分为有序和无序两种,有序广播是通过其优先级来改变广播的传递状态,在实际开发中,巧妙的利用广播来实现页面的刷新可以使我们的开发工作变得简单高效,下面通过一个简单的例子来总结ListView是如何与广播结合使用的。需求:点击接单后,对应订单状态变为已接单public原创 2016-12-17 16:50:39 · 621 阅读 · 0 评论 -
SQL最简单使用(三)ORMLite框架
ORMLite是什么?其实就是一种映射框架,将实体类与数据库结合,减少sql语句的使用, 从而来降低我们的出错率。当然映射的优点就是操作简单,但是缺点也是有的。原生的sql执行效率要比这些框架要高。 不过在复杂的数据库操作中还是使用框架比较合适。本人在开发过程中涉及到大量操作数据库的很少,所以对于ORMLite也是做一基本的使用介绍。 第一步:当然是要去下载对应的jar了,ormlit原创 2016-01-29 09:38:55 · 982 阅读 · 0 评论 -
android实现自定义相机以及图片的水印
最近在做图片的水印功能,也就研究了一下android的相机。在android中有两种方式可以进行拍照,一种是调用系统的拍照功能调用方式比较简单而且不需要权限。 调用方式: //照相机中获取照片 public void getPhoto_FromCamera() { try { Intent intent = new Intent(M原创 2016-06-26 16:34:53 · 9388 阅读 · 13 评论 -
android实现文件的断点上传
在android开发过程中,文件上传非常常见。但是文件的断点续传就很少见了。因为android都是通过http协议请求服务器的,http本身不支持文件的断点上传。但是http支持文件的断点下载,可以通过http文件断点下载的原理来实现文件的断点上传,文件的断点下载比较简单,主要步骤如下 (1)开启服务,通过服务后台下载文件 (2)conn.getContentLength();获取要下载文件的长原创 2016-06-18 19:15:12 · 7373 阅读 · 5 评论 -
关于android传感器的那点事儿
最近做项目用到了传感器,需求是根据手机旋转的方向旋转自定义的view,用到的传感器有主要有两个 一个是磁场传感器,另一个是速度传感器,顺带着研究了一下手机的距离传感器,感觉手机的距离传感器比较坑啊,为啥这样说?等会儿就知道了。自定义view已经下好了,就不展示了,主要展示一下传感器的代码。原创 2016-08-21 17:17:33 · 653 阅读 · 0 评论 -
何为android的性能优化?
很多人问:“给我说说android的性能优化吧”大多数问你这个问题的人都不知道答案是啥。因为要说android的性能优化涵盖的东西很多,这个没有确定的答案,你说一条是对,说十条也是对的。都是在做项目中慢慢总结的。说白了,性能为啥要优化,还不是你的app问题多,用户用起来不爽。不得不去改变app中的某些模块吗?那下面我们就根据在项目中遇到的问题以及利用现有的技术如何让app的问题少一点,用户爽一点。原创 2016-08-23 12:42:19 · 457 阅读 · 2 评论 -
android百度地图使用(二)
这篇博客我会详细介绍百度地图定位的使用,很多人在使用百度地图定位的时候会出现各种各样的问题,例如无法定位,定位总是和实际距离偏差很大等。那么如何避免这些问题的出现,或者说如何优化呢?带着问题看我这篇博客,多多少少会对你有些启示的。 使用百度定位需要一个定位包,在上一篇博客中已经做过介绍如何导入,要是不了解可以看这篇博客android百度地图使用一这里不再赘述。在使用百度定位的时候,首先我们要原创 2016-12-12 16:18:52 · 700 阅读 · 0 评论 -
android中百度地图的使用(一)
因为公司主要是做旅游类app的,所以对地图的使用是比较频繁的,之前做过图吧地图,图吧地图可以说是地图届比较老的了,但是相对于开发来说用的比较少,这个有时间会总结一下。现在先开始我们的百度地图之旅吧。 第一步:在百度api控制台界面创建项目 在这里填写应用名称sha1值 这个sha1值是对应有debug版本和release版本的,两个sha1值是不同的,不能使用一个,百度给的方法是获取debug的原创 2016-12-12 12:47:55 · 722 阅读 · 0 评论 -
android百度地图使用(三)
前一篇介绍了百度地图定位,本篇主要介绍mark点的添加和使用。很多时候,百度地图使用出现的bug大都是因为我们还没理解就去使用,现在的开发,很多人拿过来不加分析直接导入项目,幸运的一次两次调试成功了,不幸运的调试多次还是bug一堆,本篇博客将会详细分析每一个环节,要是有不对的地方,欢迎指出。在添加overlay的时候需要一个OverlayOptions参数。这是个抽象类,是地图选型基类,也就是说想要原创 2016-12-13 09:16:16 · 477 阅读 · 0 评论 -
android百度地图使用(四)
继续我们的百度地图之旅,这篇我将要介绍百度地图中路线规划,逆地理编码的应用,这也是百度地图最后一篇。虽然百度的其他功能自己也用过,但是项目中使用的较少,暂且不谈,因为要把百度地图的所有功能都说一边那是不可能的事。路径搜索以步行搜索为例。 RoutePlanSearch:路径搜索的关键类,发起不同类型的路线规划 WalkingRoutePlanOption:步行路径规划参数类原创 2016-12-13 16:03:28 · 585 阅读 · 0 评论 -
WebView与JS的交互与使用总结
webview是安卓展示html的控件,要想完美的使用webview必须要知道三个类: 1. WebSettings:设置webview的基本配置,包括js支持等。 2. WebViewClient :html在加载过程中的设置,包括页面完成回掉等 3. WebChromeClient :alert()等js的响应函数处理 明白这三个类的使用 那webview就基本没什么难度了。下面原创 2016-12-07 11:49:27 · 578 阅读 · 0 评论 -
从app启动开始
app的启动流程非常的复杂,能真正搞懂又可以给别人讲明白的很少,作为开发来讲,我们以app启动开始,看那些是可以进行优化的,启动流程就用一张简单的流程图来替代,因为我们的重点是在于启动优化,目的是如何可以让用户更快速的打开页面,有更极致的用户体验。这张图画的比较简单,但是也可以反映一定的问题。第一点app启动过程中首先要绑定Application,回到application的生命中期,然后...原创 2018-09-16 22:44:03 · 661 阅读 · 0 评论