自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 ActivityScenarioRule懒加载

由于新的安卓SDK使用ActivityScenarioRule替代了ActivityTestRule,我们期望ActivityScenarioRule能跟ActivityTestRule一样进行懒加载,但是实际并非如此。好像谷歌添加了ActivityScenarioRule懒加载功能但是还没有release出来。在实际使用中如果我们又有懒加载的需求,例如用RuleChain实现截图、重复测试等多个rule的使用,那么可以自定义一个ActivityScenario的TestRule。自定义Test...

2021-04-14 17:40:33 1118

原创 安卓native service与app通过AIDL通信

android系统中native service与app位于不同的进程,可以通过AIDL进行交互传输数据。少量的数据可以用AIDL直接传输,如果是大量的数据如传输一张图片超过1M的数据话就不能用AIDL直接传了,大的数据用AIDL传输会比较慢,另外AIDL是有传输大小限制的,不适合大的数据传输。大的数据可以用共享内存来传,但注意要控制好读写共享内存时的同步问题。native service需要添加到ServiceManager中,上层app可以通过反射获取ServiceManager连接native s

2020-12-07 23:59:40 3833 3

原创 在android app中使用opencv3.4.3 VideoCapture播放视频

最近在使用opencv3.4.3过程中发现opencv编译的android库不支持VideoCapture播放视频,要支持VideoCapture需要修改编译cmake文件才能编译生成支持VideoCapture的库文件。下面是修改编译opencv3.4.3的相关处理:1.修改opencv3.4.3目录下CMakeLists.txt文件如下:(1).修改以下IF (NOT ANDROID AND NOT IOS AND NOT WINRT)为IF (NOT IOS AND NOT WINRT).

2020-10-06 23:12:00 3239

原创 mysql timestamp自动更新时间问题

用mysql `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE 自动更新时间时发现更新的时间是12小时制而不是24小时制,导致客户端显示的时间有问题。考虑到timestamp还有2038问题,改用DATETIME来更新时间。PHP中可以用date("y-m-d H:i:s")来获取24小时制的时间。...

2018-11-16 10:00:59 1083

原创 android7.0适配popupwindow位置

      由于android7.0系统的bug导致popupwindow设置Gravity不起作用,之前设置在底部显示的popupwindow在7.0上显示到了顶部,使用showAtLocation时可以通过设置Gravity为NO_GRAVITY,设置y偏移来实现底部位置显示。以下是修改后的代码,对7.0单独做了处理。 if (Build.VERSION.SDK_INT ...

2018-08-01 10:42:46 401

原创 TransactionTooLargeException问题

      最近发现之前功能没问题的app出现了闪退,日志里报了TransactionTooLargeException异常,造成原因是由于intent传输数据量过大,intent传输数据量超过512K会异常闪退, app处理的数据量超过了1M所以出现异常。根据网上的方法尝试了WeakReference将数据临时保存再获取,但是发现获取时经常为空,因此放弃了该方法。后来将要传输的数据封装成了静态对...

2018-08-01 09:43:24 1116

原创 exe4j转化jar为exe

最近需要将jar转化为exe, 尝试了exe4j,生成exe比较可靠。生成方法主要参照了以下两个博客介绍的方法:https://www.cnblogs.com/yefengCrazy/p/5636622.htmlhttps://blog.csdn.net/qiiiiiiq/article/details/52827790除了上面介绍的内容,如果项目有依赖库的需要注意一下以下步骤,否则生成的exe是...

2018-03-28 11:17:45 198

原创 python处理gzip数据

通常用gzip压缩过的云端数据需要做解压处理,以下代码主要用python3实现对获取到的云端gzip压缩数据进行还原。# -*- coding: utf-8 -*-"""Spyder EditorThis is a temporary script file."""#! /usr/bin/env python3.6import requestsimport gzipdef...

2018-03-22 19:07:17 26544

原创 使用ant自动打包app

项目需求对android app进行自动打包,因为项目用adt开发,所以采用ant来做自动打包。用ant打包主要有以下几个步骤:1.对项目及其依赖子项目生成ant脚本    进入到项目根目录,执行(adt所在路径)\sdk\tools\android update project --name chenglifang -p ./ --subprojects. -name为项目名称,

2017-08-17 18:46:59 483

原创 Unity在安卓中退出activity会kill掉整个APP问题

最近用Unity开发AR项目中遇到Unity在安卓APP中退出activity时会kill掉整个的APP问题,  本来目的是在Unity界面上点击一个返回按钮从而退出UnityPlayerActivity,但发现直接finish UnityPlayerActivity会将整个APP kill掉而不是返回到上一个activity。究其原因是UnityPlayerActivity在onDestroy中

2017-06-01 19:56:30 6648 1

原创 android65535问题

最近在项目中加入一个第三方SDK时遇到了坑人的65535方法数超限问题,android studio上解决起来比较方便,但是由于此项目一直是在eclipse上开发的,迁移到studio要费点劲,所以在网上找到一篇在eclipse上解决的方案。试了一下挺好用。方案链接为http://www.mamicode.com/info-detail-1578920.html。其原理也是基于MultiDex分包

2017-02-21 22:43:16 329

原创 webview中如何让图片自适应

      在webview中要对图片进行自适应就需要对图片在网页中的css样式进行调整。一种方法是在加载完网页后在onPageFinish中用js调用对图片样式进行调整,这种方法是在网页加载完再调整图片样式进行二次渲染,所以会有一个短暂延时,可以看到明显的页面闪烁变化。另外一种方法是在加载网页前对网页图片样式进行修改调整,然后再用loadDataWithBaseURL加载网页,这种方法不会有二次...

2016-12-21 23:52:21 1156

原创 selinux安全策略导致APP不能读取文件

由于项目的需要,我们开发的画册类APP需要读取几个G的数据,系统启动后只有此APP自动启动显示,APP不能退出,用户不能使用其他APP。直接在普通平板上安装显示是不能满足需求的。因此我们定制了小米2平板将APP连同几个G的数据打包到系统中。原来开发的时候是用小米1平板做调试开发的,但是后来换了小米2平板就发现画册不能正常显示。查找原因发现每次在读取关键文件时有以下的Log出现:type=140

2016-11-07 10:17:32 1194

原创 如何在一个页面添加多个文件上传控件

使用WebUploader可以方便的在网页上上传文件,一般情况一个页面可能只需要添加一个上传控件,那么只需要create一个uploader实例就行。但有时候我们需要在一个页面上添加多个上传控件上传不同类型的文件。如果create多个uploader实例是不能正常显示多个上传控件的。那如何才能成功添加多个上传控件呢。实际上在uploader中提供了一个接口addButton,通过addButton

2016-11-06 18:12:24 1745

原创 网页路径大小写敏感问题

用thinkphp开发的网站在本地显示正常,上传到阿里云服务器上后发现有些网页不能显示。经查发现由于阿里云上用的是Linux主机,而Linux系统对大小写敏感,在display网页时路径如果大小写不一致就会导致不能正常找到网页,本地开发时是在windows上调试的所以没有问题。       开发时需要注意路径大小写应保持一致,以防在不同系统下导致的行为不一致。

2016-11-06 18:01:04 2322

原创 php后台与客户端交互

php后台与app客户端交互接口设计时,为了客户端调用接口方便,可将所有与客户端相关的接口封装在一个php class中,这样客户端在调用接口url时只需要在url最后加接口相关参数就可以跟后台交互。在设计后台接口时,为了减少移动端与网页前端接口的耦合性,可以将后台与移动端和网页前端的交互接口处理文件分别放在不同的目录下,比如与网页端交互的接口放在web目录下,与移动app端交互接口放在mobil

2016-11-05 21:47:15 946

原创 红米手机创建目录失败问题

在APP开发过程中,由于需要动态创建目录,使用了mkdirs, 但是在红米魅族等一些手机上有时不能成功创建目录,导致APP某些功能出现异常。但是在三星手机上没有发现此问题。分析发现红米手机上如果将文件夹创建后删除了该文件夹再创建该文件夹时经常会创建失败。为了避免此问题带来的android不同设备的行为差异,应尽量在APP初始化时创建好所需的目录,或者动态创建目录后不做删除重创建的操作。 另外发现小

2016-11-05 17:26:17 3164

原创 AsyncTask线程数超限问题

在我们的APP使用中发现频繁点击切换tab会导致APP崩溃, 分析log发现由于在每次点击tab时会创建一个AsyncTask去更新数据, 由于没有做重入保护,快速频繁切换点击tab会生成大量AsyncTask的线程导致超出系统最大线程数量产生RejectedExecutionException拒绝添加线程异常而使APP崩溃。比较简单的解决办法是设立一个任务是否完成标志,创建AsyncTask刷新

2016-11-05 16:55:49 1559

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除