- 博客(141)
- 收藏
- 关注
原创 webview 嵌入H5网页支持 拍照、录像、文件选择等功能
在日常开发中,app中经常有嵌入前端网页的需求,里面如果有一些调用相机拍照、录视频、查看本地图片功能时,需要Android WebView端做一些配置、来保证能顺利调起相应的Intent,来适配前端程序需求一:webView端调用相机拍照,同时回传给前端程序@Override//数据回传会用到,记录成全局= null) {//最终通过fileChooserParams.isCaptureEnabled()方法来解决你的困惑 官方解释是否为设备//所以这里写调用相机逻辑} else {
2024-03-05 11:32:00
1053
原创 Android 拍照本地图片选择框架适配
通常技术方案的选择、会带来后续一些不可控的东西,这也是没法避免的,程序开发者中同时面对、测试、领导、产品各种要求。同时在网络上查找的资料也只是很旧的,不一定适合新设备,需要推倒重新弄1、解决方案通过意图选择器做成通用的、同时支持拍照和本地图片选择2、解决方案也可以低版本手机使用框架、高版本手机做成意图选择器,因为有些框架不会去适配新的Android API1、系统东西好用、不要随意找网上没人维护的代码。
2024-03-04 18:03:51
428
原创 项目中遇到的耗时点-(图片缩放里面添加的标记红圈无法缩放)
1、出现问题要会分析、要知道怎么查问题比如为了解决这个问题,我们不是去改框架、而是通过重绘图片去适配框架。
2024-03-04 16:55:50
250
原创 终端设备的GPS信息
智能设备中,定位信息是基本的功能,最近的测试中发现GPS信息大海拔高度为0的情况,下面一起总结下项目中定位信息的几种获取形式。场景一:隔几秒钟把定位数据插入数据库中。 locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);// 读取GPS状态 locationManag...
2019-10-15 18:46:33
496
原创 java IO流 字节流方法readUTF和writeUTF配对
java socket流遇到的奇怪的问题 readUTF方法阻塞的原因最近遇到这样的需求:Android端需要把一些信息发生给pc上的程序上技术方案:数据线相连的方式进行adb通信,而adb通信的原理就是socket的通信,且服务端的ip就是 127.0.0.1通过adb的方式pc端作为客户端,Android终端作为服务端,Android主动发过去一些信息过去优化点:为了节约...
2019-10-02 13:19:38
776
原创 Android 系统签名
之前在做C++binder通信时,需要把一个apk作为服务端,里面对服务添加,用到了很多底层代码,系统签名加入android:sharedUserId="android.uid.system"这个属性。使用eclipse编译出未加签名的apk文件,但是这个apk文件是不能用的。会报错:[2019-07-22 15:14:30 - AndroidIPC] Installation error...
2019-07-22 15:39:49
240
原创 Android生成可执行文件
m:编译所有的模块mm:编译当前目录下的模块,当前目录下要有Android.mk文件mmm:编译指定路径下的模块,指定路径下要有Android.mk文件安装服务端:linguangliang@android-virtual-machine:~/work/android/hardware/aw/bindertest/service$ mm -B安装客户端:linguangliang@an...
2019-07-17 15:16:00
667
原创 android普通项目对库项目的调用
在实际的工作中,我们可能会遇到这种情况整个大项目被分成多个apk。每个apk负责具体的功能,如TCP通信apk,MCU通信apk,业务逻辑的apk。apk之间则通过广播相互通信。现在一切进行的很顺利。。。。这是项目经理要求加一套新的TCP通信协议,比如在之前的协议基础上加个版本号用于区分这两种协议。协议的不同的话那么别的模块在调用时也会有差异,这个时候我们需要一个公共变量进行协议区分,于是把他...
2019-06-13 10:15:53
161
原创 驾驶培训App流程图2(相机预览)
项目中把摄像头预览抽象了出来,可能很多模块都会用到这个功能如:教学模块、教练学员登退签、定时拍照、随机拍照都需要这个功能。设置模块也需要预览摄像头的效果,检查是否可用等等模块A mserviceConnection = new AdditionServiceConnection(); Intent it = new Intent(); it.setAction(Constant....
2019-05-09 10:12:59
153
原创 驾驶培训APP流程图一(读取IC卡流程)
综述背景架构图描述代码走向背景全志平台Android4.4系统公司原有的wince显示屏已经不能满足公司业务需求,使用android系统开发我司下一代产品。由于android系统功能强大,可应用的范围不止步于显示屏一个产品。为考虑产品的可维护性,现重新设计一套系统框架,以满足开发项目的需求。架构图描述考过驾照的都知道一套流程,科目二科目三是需要上传学时的,到省平台审核到学时到一定时...
2019-04-26 10:14:24
620
原创 Android网络框架二(设计模式)
结合上一篇Android网络框架必备的功能在描述了大体功能,现在关心的代码就是它里面的设计模式OkHttpUtil{ /** * 同步请求 * @param info 请求信息体 * @return HttpInfo */ @Override public HttpInfo doSync(HttpInfo info) { ...
2018-12-26 17:05:50
184
原创 Android 网络框架学习一(必备的功能)
android请求接口一般是短连接的http请求方式一个完整框架需要具备有同步和异步,get post方式,图片,流文件等上传的功能,即对外要暴露这些接口。那么在代码设计时需要考虑到封装好这些方法。查看这个接口类/** * 网络请求工具接口 * @author zhousf */public interface OkHttpUtilInterface { /** ...
2018-12-26 16:24:34
287
原创 APP与终端通信经验七(解析与解码的关联)
在前几篇已经顺利的使用serversocket线程把远程推送的流媒体视频和音频数据保存到两个集合对象里了。接下来就是需要继续开启线程来对解析的数据进行播放了...
2018-12-25 10:17:21
266
原创 APP与终端的通信经验六(数据的的进一步解析)
流媒体的接收时,协议标准为一包数据最大发送960字节,于是会存在一包数据发不了一个帧的视频数据。需要多包才能发送一帧视频数据。而音频数据比较单调,一包数据可以发送一帧,不会涉及到拼接一帧数据的情况。知道数据的发送规则后,可以得到如下步骤:alllen= 拿到(frontlength)缓存长度+本包数据的长度(len)拿到缓存的数据(frontdata)找到缓存数据中的帧头(header)...
2018-12-21 10:07:52
227
原创 App与终端设备通信经验五(流媒体传输对码流的解析)
模块一(为什么使用RTP协议):一提到流媒体传输、一谈到什么视频监控、视频会议、语音电话(VOIP),都离不开RTP协议的应用,但当大家都根据经验或者别人的应用而选择RTP协议的时候,你可曾想过,为什么我们要使用RTP来进行流媒体的传输呢?为什么我们一定要用RTP?难道TCP、UDP或者其他的网络协议不能达到我们的要求么?RTP与TCP的比较像TCP这样的可靠传输协议,通过超时和重传机制来保...
2018-10-11 11:36:48
425
原创 APP与终端设备通信经验四(码流链路建立)
需求:APP作为服务端的程序。主动接收来自终端推送过来的码流视频信息,并且播放。过程:1、app发送一条信令协议,告知终端,请给我推送数据2、同时app开始开启服务端程序开始监听一个端口号3、终端收到了这条协议后开始推送数据。4、app接收数据,并且完成数据的渲染显示。在前几篇文章里说道的信令链路是app端拿到端口号和IP进行socket连接 //实例化一个Socket对象 ...
2018-09-28 17:34:26
460
原创 APP与终端设备通信经验三(具体情形介绍)
一、过程还原: 1.1.P2P模型 P2P(Peer to Peer)点对点通信模型,终端与手机是对等网络,由于终端IP和端口固定,最初由手机建立信令报文传输链路(常链路),之后码流报文传输链路(短链路)由终端根据手机端的相关的信令报文建立。 1.2.手机连接终端WIFI 终端释放一个固定名称热点(如,Wisdom_Wifi),IP为固定192.168.10.16,服务端口固定为9999...
2018-09-28 14:35:26
1163
原创 APP与终端设备通信经验二(socket与tcp通信)
socket介绍一、一般而言 网络通信就离不开socket TCP是数据的介质,Socket是TCP的介质. 写过socket程序的都知道: Socket编程基本就是listen,accept以及send,write等几个基本的操作。是的,就跟常见的文件操作一样,只要写过就一定知道。 并且: 1。一个指定的端口号不能被多个程序共用。比如,如果IIS占用了80端口,那么Apache就...
2018-09-09 22:18:49
3813
原创 APP与终端设备通信经验系列一
APP与终端设备通信经验系列一毕业后的第二家公司主要是汽车租赁,GPS车载,行驶记录仪,监控等方面的业务。最近时间稍微宽裕点,把近来的一些心得记录下来。协议的定义主要的协议需要的Android技术协议的定义 网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。例如,网络中一个微机用户和一个大型主机的操作员进行通信,由于这两个数据终端所用字符集不...
2018-09-06 11:23:47
1135
3
原创 小米5x的Build属性
BRAND和MODEL有什么区别, public static String getDeviceInfo() { StringBuffer sb = new StringBuffer(); sb.append(“主板 Build.BOARD :”+ Build.BOARD); sb.append(
2018-02-07 14:27:44
1648
原创 数据解析(二)
在上篇介绍了json解析,这是服务器常用的返回方式,里面huiyou json数组的情况,我们要灵活的定义集合,内部类等方式破解之。链接: http://blog.csdn.net/sinat_24235127/article/details/79092453本文结合下项目中的例子,介绍下xml解析关于xml和json的区别,可以参考这篇博文:https://www.cnblogs.co
2018-01-18 11:08:47
187
原创 数据解析学习
代码格式化地址:http://tool.oschina.net/codeformat/json我们将后台返回的数据,字符串,放到代码格式化工具里看看。 明确要定义的数据结构{ "status": "0", "msg": "ok", "result": { "pagesize": "10", "list": [
2018-01-18 10:01:03
255
原创 项目实战选择图片上传
Android图片上传背景:图片上传是一般项目都会涉及到的功能,本篇抽取项目中图片上传的流程,做个记录,不至于以后无处查阅。1、MainActivity1界面样式:点击添加按钮跳转到图片选择的界面,这个业务逻辑很简单就不贴代码了。不过下面的空白部分是一个recycleView,用来显示图片的 2、点击添加图片的按钮 在这里用到了 https://github.com
2018-01-17 16:47:56
340
原创 Android实战系列(二)---多用户类型登录(webview)
前言:路在脚下,更在心中。APP中对用户登录类型作判断,跳转到不同的模块页面。 项目里普通用户进入原生页面,管理员则进入到网页页面。 本篇着重于网页页面在Android中的应用。在登录页面里,会判断服务器返回的用户类型。 if (2 == bean.getModel().getPersonType()) { AbsUI.startClearTopUI(ui, ThirdMainA
2017-11-23 17:12:00
1961
原创 android7.0 multiWindow 之拖拽失效(android事件分发机制分析)
前言:让生活每天都充满憧憬,而不是日复一日的重复,学会用孩子的眼光看待这个世界。效果图 现象: 下拉中间的白色的按钮没有反应。正常情况下下拉是可以的。 这个控件的触摸事件没有反应。通过对系统app SystemUI的学习,了解到这个控件叫做DividerView,属于多窗口模式下的一个分割两个Activity的view组件 code在Z:\frameworks\base\packages\S
2017-03-09 19:55:13
3664
1
原创 android 7.0文件存储API
Demo1 package com.example.androiddirectory;import android.content.Context;import android.os.Environment;import android.util.Log;public class DirectoryUtils { private static final String LOG_TAG="m
2017-03-03 16:20:19
3230
原创 System UI Tuner分析
前言:practice make perfect. 坚持一些东西,并没有很难。界面展示系统界面调制器是安卓M加入的,当用户长按下拉菜单的齿轮卡3秒中就可以在setting app里加入界面调制器。 操作过程:下拉菜单,显示QSPanel 长按设置按钮,会发现增加了一个条目 代码走向 相关的代码流动过程如下,com.
2017-02-28 11:26:19
3501
1
原创 View事件分发机制初步
source codepackage com.example.viewandviewgroup;import android.content.Context;import android.util.AttributeSet;import android.util.Log;import android.view.MotionEvent;import android.widget.Relativ
2017-01-23 16:03:41
287
原创 RecyclerView控件学习2
在上篇中讲到了RecyclerView的基本用法,由于RecyclerView没有涉及点击事件,手动实现以下这个效果。回想起以前给ListView的一个item的某个子控件涉及点击效果(比如点赞),我们是通过在自定义的Adapter的getView的方法完成的。那么给item添加点击事件也可以在RecyclerView.Adapter中尝试一下。上一篇文章中已经说到BaseAdapter的getVi
2017-01-21 13:33:22
216
原创 RecyclerView控件学习01
通过导入support-v7开发包,实现低版本下的开发工具能使用高版本中出现的控件。该控件的作用用于在有限的窗口下展示大量的数据。相比于ListView和GridView ,RecycleView有自己的优势。*LayoutManager,控制显示的方式 * ItemDecoration,控制item的间隔 * Item的增删动画 ItemAnimator * 点击事件需要手动实现鉴于对Lis
2017-01-21 09:59:37
262
原创 View显示流程-View draw的准备工作
前言:不断反思,不断进步,不断学习! 不知怎么的,觉得自己的语言组织不起来,逻辑性不强,所以就多学学别人的风格,背诵。 View的展示是从Activity的setContentView方法开始,以此为入口,以Android6.0为source-code,分析看看。1、 implements LayoutInflater.Factory2, Window.Ca
2017-01-06 16:52:36
241
原创 SystemUI下的快速设置面板显示异常
前言:坚持自己能坚持的,成为自己想成为的,相信时间的累积是有效果的。Step1复现这个bug困扰了快一周了,今天终于突然来了灵感解决掉了,记录之。 测试:General description: The notification bar display incorrect when edit quick settings. - - - - - - - - - - - - - - - - - -
2017-01-03 11:04:58
1696
原创 android7.0多窗口横屏模式下statusbar有条纹
Step1 概述在最近的学习过程中,遇到了一个android7.0原生的缺陷。是关于android7.0新增的分屏功能,久久难以攻克,还是在主管的帮助下,遂记录之,希望以后能少走弯路,高效学习。Step2 描述bug详情General Description: The notification bar will display stripe when tap the back key on mul
2016-12-22 20:15:38
1316
原创 我的各项打算
前言:坚定自己的信念,努力的去执行他们,不要被外界别人的干扰,始终相信未来是属于有准备的人的。 吉他:链接:http://wenku.baidu.com/link?url=6vcIqfTsAdZktIzZcxm5aeriKi5cS4SGRDNuheEyjfLZyfD4s5-HGdci89RX_yV9wD6CRp5xRBUKzxJSyUYaYVG66N4W-UyC6HKz9YRVk...
2016-12-20 15:09:33
122
原创 MediaProvider下的bug分析
公司负责给sony手机系统解bug,而sony手机复用了MTK系统,MTK系统相比于原来的android原生系统有很大的改动,在patch的整合过程完成后,进入测试阶段会有很多bug,这就需要下载sony的代码,在linux下编译进行debug,那么现在我就来描述这个bug的解决路程。Step1bug描述General description: Found phone can’t edit Ge
2016-12-20 10:36:38
796
原创 设置按下电源立刻锁屏失败
bug描述“General description: It needs about 1s to lock screen when press power key again to awake phone after set “”Immediately”” in screen lock. Reproducibility: 10/10 Precondition: None. Step:
2016-12-01 15:07:22
2093
原创 android多用户切换时notification的更新
描述General description: Music displyed in notification bar after switch New user mode to owner user. Reproducibility: 10/10 Precondition: Insert SD card with some song. Add a New user. Step: 1
2016-11-26 16:18:52
1631
转载 just do
前言从20岁到30的十年,有的人在念书,有的人初涉职场拼搏,有的人在蹉跎岁月、很多时候,我们在浪费了这最宝贵最美好最精力旺盛的十年之后,才醒悟过来:十年,不长但也绝对不短的时间,竟被我们的无知碾压而过,而我们什么都没做成,自此30岁以后,我们过得苦逼又压抑,还哀叹命运不济。如果再给你20岁到30岁的十年时间,你会选择做什么?以下四十六条,为我们的最重要的十年亮起了明灯,如果你还在这十年里面,请
2016-11-24 16:04:47
300
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人