
Android
文章平均质量分 76
泡温泉的咸鱼
资深教育行业搬砖工
展开
-
Android 关于h5与java交互所遇到的问题
h5调用java方法,并向java传参。目前发现是传递不了对象的,如果需要传递对象,要转成json传递最好传递的参数全是string类型,布尔值用0,1 代替发现h5无法触发java方法的自查看有没有加入注解 @JavascriptInterface遇到一种情况,就是在h5调用java方法里,做了逻辑处理,并调用h5的方法。这时候无法触发。用rxjava切换主线程 @JavascriptInterface fun goToMyTsDevice() { Fl原创 2021-05-28 14:43:18 · 694 阅读 · 0 评论 -
Android 打开系统文件管理器兼容android8,9,10和读取第三方文件管理的文件(微信文件管理)
打开系统文件管理器兼容android8,9,10和读取第三方文件管理的文件(微信文件管理),缺点:单选 val intent = Intent(Intent.ACTION_GET_CONTENT) intent.type = "*/*" intent.addCategory(Intent.CATEGORY_OPENABLE) (parent.cont原创 2020-09-29 21:26:13 · 2551 阅读 · 2 评论 -
flutter 学习感悟
flutter入口程序dart官网与安装https://dart.dev/get-dart语言特点万物皆对象指定类型不是必须的,是弱类型语言代码在运行前解析dart 统一的程序入口 main变量名前加下划线代表私有高级语言多继承变量区别大小写基本数据类型(5种)NumberintdoubleString双引号和单引号没什么区别BooleanListMap常量 const g = 123333; final h = 1111;is 判断数据原创 2020-08-04 09:57:31 · 372 阅读 · 0 评论 -
Android用kotlin修改一个图片编辑库做一个作业点评的功能
准备工作github 找一个图片编辑器 地址,这个图就是对单个本地图片进行编辑,加载大图有问题,页面传递bitmap有问题目前已有功能:编辑一张本地图片想要效果:传入图片下载list,第一个页面要有图片切换效果,点击按钮对图片进行编辑,图片保存优化首页直接glide加载图片,viewpager左右切换,对bitmap压缩防止过大导致页面崩溃点击进入编辑页的时候,对对应的图片进行下载,压缩,之后再编辑,跳转页面的时候传下载压缩后的路径,而不是传递bitmap因为编辑的时候是对本地图编辑,会原创 2020-05-26 14:19:11 · 638 阅读 · 0 评论 -
读《实战gradle》感悟
task actiondoLast是task执行的最后一个action<< 可以代替 doLast执行gradle脚步的语句gradle -q taskName打印ant.echo(message: “循环打印$it”)println ‘hcy2019’循环 times 3.times { ant.echo(message: "循环打印$it") ...原创 2019-11-08 09:23:12 · 294 阅读 · 0 评论 -
Android 对Tv开发的总结
1.调试盒子。盒子的ip地址与电脑的ip地址保持一致adb connect ip地址 adb uninstall 包名2.焦点控制。1.静态控制 view.setNextfocusXXX的方法2.动态控制原创 2018-05-16 10:20:37 · 3619 阅读 · 0 评论 -
Android基于DiskLruCache做一个数据对象的缓存工具
面试的时候被问过一次,如何对数据进行缓存,我答的数据库存储json字符串。被问到可不可以不用数据库,直接文件缓存对象。当然也是行的。之前看过郭神的博客:用lrucache与disklrucache缓存图片的。去年也仿着敲一个图片缓存工具类点击打开链接,今年来到新公司正好也遇到要离线加载数据的功能,换汤不换药的做了一个对象缓存到本地的工具类。思路方案数据库我用的greendao,我发现greenda...原创 2018-04-17 20:08:58 · 1264 阅读 · 0 评论 -
积累一些关于ANDROID TV开发的经验
新公司业务主要是电视端。之前也做过,但也是浅尝辄止。主要是recyclerview与焦点的控制 技术点:1.上面导航栏遥控器切换,下面要刷新数据2.内容的分类,分页(加载更多),上下滑动的时候导航栏跟着动3.焦点选中效果4.导航栏下按的时候,跳到内容的第一个item,同理第一排内容的item上按的时候跳到对应的导航栏解决方案:1.用一个rec...原创 2018-04-16 20:43:22 · 5540 阅读 · 0 评论 -
Android整合网上资源以及个人对GreenDao数据库框架的理解与使用(android-studio开发)
优点:完美试用android,个人比较看好的一点是极其方便的contentprovider,不用自己操很多代码,两三句就能搞定。根据对象进行增删改查,迷糊数据库语句的可以一试。AS开发导入Greendao链接:http://www.jianshu.com/p/9ae4e24e01cbAndroid 工程搭建步骤:1.Android 工程main目录下建立文件夹 java-gen...原创 2016-03-26 10:18:40 · 2213 阅读 · 0 评论 -
Android 积累一些RxJava2.0有关的知识
最近偶然逛逛“淘宝(找代码)”,发现rxjava变rxjava2了。变化1上码:Observable.create(new ObservableOnSubscribe<String>() { @Override public void subscribe(ObservableEmitter<String> e)...原创 2017-12-16 15:57:28 · 550 阅读 · 0 评论 -
Android SurfaceView+MediaPlayer 本地视频播放器
功能情景: 1.播放视频文件 2.上一首,下一首 3.卡拉ok功能 4.播放模式(顺序,随机,循环)效果图功能的实现: 1.伴唱功能:(这里是mkv文件切换声道),伴唱转AUDIO,原唱转VIDEO。当然前提是先获得mkv文件的所有声道。我在视频准备的时候获取所有声道,然后判断是否有这个声道我再转。原创 2017-06-17 13:55:00 · 2515 阅读 · 1 评论 -
Android盒子开发总结:基于6.0系统,关于刷到系统的app读取不到U盘文件的问题
最近在做电视盒子,系统是6.0的,我负责的模块是更新模块。用的是增量更新,关于增量更新不多说,就是用阿里的工具。我负责的就是将下载的文件放到指定的目录(/cache/update.zip)下,这都是超级简单的。但更新的模块里有一个小功能就是U盘更新:就是遍历U盘的一级目录,找到指定的增量包(压缩文件),复制移动到指定目录下(/cache/update.zip)。这边的代码也超级简单,百度一大把。4...原创 2018-06-06 10:07:20 · 1332 阅读 · 0 评论 -
android 关于zip4j的一些天坑
1.最近的项目中有个需求,就是从oos上下载压缩包并且解压,对swf解密的需求。2.解压过程中,要显示解压进度。解压成功后对swf文件解密。3.关于显示解压进度的天坑:网上十片有八篇的方法:/** * @param zipFile 需要解压的文件 * @param filePath 解压后的文件目录 * @param isDeleteZip...原创 2018-09-03 15:52:57 · 2311 阅读 · 0 评论 -
android 4.4 wifi 模块开发总结(电视盒子)
最近6.0的盒子的应用开发已经告一段落了,接到的新需求就是想办法让公司以前发出去的4.4的盒子也得兼容应用。把应用装到4.4盒子上,发现也就文件读取,网络(有线无线),蓝牙,恢复出厂设置这几个模块不能用了,也就是用到6.0的jar包的都不行了。 6.0wifi,系统有提供jar包,有 WifiTracker,AccessPoint这两个关键类,具体分析等有机...原创 2018-11-05 11:53:31 · 1857 阅读 · 0 评论 -
android 4.4 蓝牙开发总结(电视盒子)
6.0的蓝牙已经开发完毕,因为可以得到系统6.0的jar包,so也就开发的快些,更好些。4.4因为代码部分在setting模块里,部分在系统中,so不方便打成jar包。所以就通过广播接受改变状态之类的。也算鼓捣出来一款。4.4蓝牙效果开发的思路:1.开关蓝牙2.扫描到蓝牙列表和得到配对列表 下面关于连接蓝牙:A2dp:这个是蓝牙音频传输协议AVRCP:输入设...原创 2018-11-15 14:25:25 · 1630 阅读 · 0 评论 -
android 4.4 有线网络开发总结(电视盒子)
开发背景:电视应用必须兼容公司过去已经发行的4.4盒子,除了文件管理,wifi,有线,蓝牙所有用到6.0系统jar的功能全都不能用,4.4系统不能提供对应jar包给我,具体原因不明开发需求:获取ip地址,子网掩码,默认网关,dns服务器:4.4有线网络是有开关功能的,而6.0是没有的。因此需要判定当前以太网是否打开,如果没打开就让他打开 if (!isEthernetE...原创 2018-11-19 10:26:14 · 1980 阅读 · 0 评论 -
Android 积累盒子开发常用到的工具类
1.根据包名关闭应用,获取应用信息(android7.1.2亲测可用)package com.vtronedu.vbox.library.utils;import android.app.ActivityManager;import android.content.Context;import android.content.pm.ApplicationInfo;import an...原创 2018-12-27 15:33:50 · 831 阅读 · 0 评论 -
Android7.0开发应用遇到的问题(电视盒子)
最近需要将6.0盒子的应用,同时也用到7.0的盒子上。基本上变动不大,但可也有几点需要注意一下的1.比如: Activity activity = (Activity) getContext(); WindowManager.LayoutParams lp = activity.getWindow().getAttributes(); ...原创 2019-02-26 17:47:47 · 925 阅读 · 1 评论 -
Kotlin实战感悟(换地方拧螺丝了)
kotlin修饰符var 与val的区别区别varprivatevalprivate finalAny var flag:Any="ddd" Object flag = "ddd";Any 就是Object 类型const 的作用默认java调用kt的静态属性是需要调用getXX()的 Cat.Companion...原创 2019-08-23 10:11:25 · 394 阅读 · 0 评论 -
android 百度地图开发总结
POI 检索PERMISSION_UNFINISHED网上说放在点击事件里做POI搜索,我不知道是不是方案,但对我来说没用,简直万恶之源这种问题一定要看log,百度这种大公司log很全的,比如=============================================----------------- 鉴权错误信息 ------------sha1;package:...原创 2019-09-23 15:57:45 · 623 阅读 · 0 评论 -
android 用java写一个自动适配各种屏幕大小的工具
思路:假设我当前机器屏幕宽高为1920*1116,我页面某个组件的宽度为100px,那么在1280*800的机器上,按道理将应该是100/1920*1280=66.66px,那么讲道理思路就来了,如果我在1920*1116适配了,那么宽按照1280/1920,高按照800/1116换算不就可以了吗?难点:写配置文件1.在应用资源文件下形成文件,比如我当前机器为1920*1116,我想128原创 2017-09-15 17:53:14 · 2785 阅读 · 4 评论 -
android 积累一些自定义view的知识
1.仿造QQ计步器(用于统计的自定义View)步骤:1.定义属性 2.拿属性 public TongjiView(Context context, @Nullable AttributeSet attrs, int defStyle原创 2017-05-27 15:44:15 · 603 阅读 · 0 评论 -
android 积累okhttp3与retrofit2常见的使用方法
1.上传多张图片与文字参数 OkHttpClient httpClient = new OkHttpClient(); // mImgUrls为存放图片的url集合 MultipartBody.Builder builder = new MultipartBody.Builder().setTyp...原创 2017-01-19 14:13:30 · 818 阅读 · 0 评论 -
Android-Studio 用ShareSDK集成社会化分享,短信验证码,视频录制功能
ShareSDK主要用于qq、qq空间、微信、微信朋友圈的分享功能以及第三方登录功能SMSSDK主要用于短信验证码集成工作:将sharesdk与smssdk同时集成到android-studio项目中: 注册账号获取key与secret(有两对奥,一个是sharesdk一个是SMSSdk,这里只贴了一个图) 如果项目的主模块同时依赖ShareSDKLibs与SMSSDKLibs,原创 2016-09-10 15:40:00 · 1671 阅读 · 0 评论 -
android 积累一点关于fragment的知识
ERROR:Unable to instantiate fragment之前看到别人的一个项目,要求如下:找出android机里所有的应用程序,展现在viewpager里的fragment上,当然fragment里展现的是一个应用程序列表,点击每一个item进入对应应用,退出应用返回目录。其中退出的时候出现这个问题。原因:见到fragment里有空构造函数,突发奇想,重写构造函...原创 2017-03-08 15:53:50 · 477 阅读 · 0 评论 -
android 用mvp模式来架构自己的app+打造Recyclerview万能适配器
最近又要启动新的项目,项目较小,所有就像尝试点自己不会的玩意。(在小公司造轮子有一点好处就是不用那么死板,老板叫你造轮子,你只要造出来能用就好)。于是就发现了一套自己没用到的架构来打造自己的轮子:dagger2+mvp+rxjava+retrofit2+bindview。什么是mvp模式,百度一大把,这里不做解释,像我做过j2ee开发的,很容易就能明白,类似于SSH那一套(struts原创 2016-12-17 14:56:27 · 1297 阅读 · 0 评论 -
Android 使用Socket(TCP协议)实现监控(类似于及时通讯)服务器端使用Walkman
最近的项目要实现一台平板控制其余平板的功能(类即时通讯),主要用tcp或者udp进行开发,因为要保证一台机的命令要“发到”其余的机器上,我采取的是数据接收安全的TCP。思路如下图:1.客户端负责发送与“接收”(其实不是服务端向客户端发送数据而是客户端自己在服务器读取),当然前提服务器提供URL与端口(PORT)。2.难点:1,客户端与服务器断了能够重连(即当客户端断网了或者服务器崩原创 2016-11-21 11:38:50 · 6559 阅读 · 0 评论 -
讯飞语音测评SDK的搭建与运用(Android studio)
环境搭建::个人觉得讯飞的资料写的马马虎虎,不如BAT的,也不像ShareSDK一样可以免费的一对一的问。解压SDK,找到要用的Lib文件夹:一看便知有.jar的放到项目里的lib文件夹下。点开online开发过百度地图的一看就明白要用到jni 所以要在mian目录下建立jniLibs文件夹,将这些文件夹都烤进去添加必要的权限,开发久远,不记得那些了原创 2016-10-15 15:05:54 · 4318 阅读 · 0 评论 -
Android支付宝模块的ali64错误解决
最近在做一个支付模块,支付宝账户手续复杂但审核快,微信支付手续较少但审核慢,但都需要花钱。android 客户端的处理并不复杂,只是将商品的名称 描述 价格 等一些其他的一些属性上传本地服务器,由服务器为商品签名加密再返回到本地,此时数据经过特殊处理,再将数据上传给马云爸爸就ok了。项目让我恼火的是总是出ali64错误,其实这主要是公私钥不匹配,个人建议这么排查这个错误:原创 2016-08-19 17:45:26 · 2191 阅读 · 0 评论 -
android 广播的知识积累
最近项目中,常用到广播,客户端与服务器通过socket传输数据,要用广播将数据从service传值到各个页面,用到广播用到最多的是本地广播,好处就是外部程序不能监听到。体现数据的安全性 LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(this); loc原创 2017-03-15 16:10:20 · 565 阅读 · 0 评论 -
android 积累一些关于rxjava的知识点
rxjava对于我来说,是一套比较新的东西。程序员要是不时刻抓住自己不会的东西,就会淘汰。就像android版本都出到7点几了,我们总不能还用4点几,3点几的那一套吧。rxjava在我看来就是一套比较先进的asynctask,用来处理异步请求的一种规范(得益于它的代码思路清晰),在android中可以用来代替asynctask甚至是handler。常与当前流行网络请求框架r原创 2016-12-23 13:50:51 · 1004 阅读 · 0 评论 -
Android 链接Wifi
现需求,当用户开机的时候要进行用户登录与注册。没联网要进行wifi连接,坑爹的是要求引导用户进行wifi连接,所以要做一个简单的wifi连接跳到登录页面的操作。解决方案: 1.获取wifi列表,也就是扫描wifi,很简单,网上代码一大把。 /** * 扫描wifi */ public void startScan() {原创 2017-08-21 10:29:15 · 2448 阅读 · 0 评论 -
Android 椭圆轨迹动画
用Path属性记录椭圆的轨迹: Path path = new Path(); RectF rectF = new RectF(left, top, right, bottom); path.addOval(rectF, Path.Direction.CW);API21以上可直接用属性动画里的方法(5.0以上) ObjectAni原创 2017-07-18 17:19:06 · 3701 阅读 · 0 评论 -
Android 用surfaceview模拟帧动画的效果,解决帧动画的OOM问题
最近做的项目,客户临时要求改版,我真的是最烦这个,要求跟换主页面的背景,换上新的背景图,要求是动态的。效果(我随便拿的五个图片做的gif):方案:帧动画方案: 缺点:1.好像只能imageview才能播放帧动画 2.容易OOM(播三四张还行,播九十张以上,且,每张都在300k左右就有OOM问题)原创 2017-06-26 10:38:01 · 3644 阅读 · 0 评论 -
Android 积累一些常见的开发异常与问题
1.使用PullToRefresh库的时候,想让其自动刷新(setRefreshing)不起效果 下面的解决方式,当设定的时间小的时候,同样也会导致刷新失败(这里设置了1000ms) /** * 自动刷新 */ private void autoRefresh() { gv_tuijian.postDelayed(new Runnable() ...原创 2017-05-09 10:34:42 · 623 阅读 · 0 评论 -
Android 积累一些JNI与NDK的知识
1.JNI与NDK的定义:JNI:Java Native Interface(Java 本地接口)方便Java调用C,C++等本地代码所封装的一层接口NDK:Android 提供的一个工具集合通过NDK可以在android中更加方便的通过JNI来访问本地代码运行环境:as2.3.1原创 2017-04-13 19:25:06 · 1056 阅读 · 0 评论 -
Android 用SurfaceView+PLMediaPlayer 打造一个平板端的网络播放器
最近我开始做我接手的项目中最后一个模块:微课。真的太累了,前所未有的累过,感觉身体被掏空。也让我不停的思考,究竟什么是高效,难道人多就是高效? 之前闲来无事的时候写过一个播放器,但好像跟网络播放器不搭,因为不会有任何一家软件公司会把核心视频不做任何处理的挂在服务器上的。然而关于视频的解码与解密我真的是一窍不通啊,不懂c语言,也就无法再android运用c库,再次暴露了自己的弱点。原创 2017-05-12 18:15:04 · 2474 阅读 · 0 评论 -
android 积累一些RecycylerView的常见用法
最近在项目中遇到这么一个需求:用一个列表加载所有的消息数据,有两个按钮,一个按钮点击了显示全部消息的列表,一个按钮点击了显示未读消息的列表。思路:过滤器 过滤条件 1.首先是recyclerview 的适配器 要备份原来的数据并且要实现 implementsFilterable private List mDataList; priv原创 2017-02-09 19:44:17 · 2524 阅读 · 0 评论 -
Android 模拟一个电子画板同屏的效果
年初的时候刚把去年底的一个电子书包的项目完结了,这不刚过了几天又收到了boss新的需求:添加一个电子白板,要求老师端绘画的时候,学生端的屏幕也能看到老师端的操作。难点: 1.画板的写法 2.如何推送数据到学生端,该推送什么格式的数据 3.学生端收到数据该如何绘制。思路: 1.画板的写法ok,网上一大堆原创 2017-04-06 14:27:20 · 3976 阅读 · 6 评论 -
Android基于surfaceview与mediaplayer的视频播放器(android-studio)
最近闲来无事写了一个较为完整的视频播放器,但由于有了新的项目,就把这个搁浅了,就差一个横竖屏切换的时候切换不同的控制栏了,已经横屏的自动锁定了。原创 2016-08-15 11:39:36 · 5378 阅读 · 1 评论