andriod开发
一拳小和尚LXY
学而不思则罔
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
"app_name" is not translated in "zh" (Chinese) [MissingTranslation]解决办法
android在打release包时,可能会出现这种错误。解决办法就是在build.gradle里面进行配置:android{ lintOptions { disable 'InvalidPackage' //只要添加下面这一句就可以了 disable 'MissingTranslation' } }...原创 2020-03-26 09:17:13 · 1298 阅读 · 0 评论 -
weex封装两端webView组件(可加载本地HTML文件)
因为项目需求需要显示较为复杂的UI,类似echart的各种统计图。如果封装Android和iOS两端的组件费时费力,因此就想到通过加载本地HTML的方式来实现,但是发现weex的webView组件是没有加载本地html的功能,因此就要自己扩展一下。 这次封装的webView组件具有较强的通用性,可以在HTML界面的事件传递到weex端,也可以在weex端调用HTML...原创 2019-01-16 00:15:16 · 3700 阅读 · 5 评论 -
移动端跨平台解决方案hybrid、react-native、weex和flutter的比较(自己的理解)
移动端跨平台开发从最初的hybrid到react-native、weex,再到最近Geogle新推出的flutter移动UI框架,体验和性能越来越接近原生应用,这里我们分析一下这几种开发方式的利弊。个人经验,不到位的地方还望不吝赐教。这几种APP开发方式中自己亲身体验过的有hybrid、weex、flutter这三种,其中最为熟悉的是weex开发模式。大家都知道hybrid即为web+na...原创 2019-03-09 21:21:36 · 10074 阅读 · 0 评论 -
weex开发进阶之component扩展(Android)
做过weex开发的同学应该都知道weex的原生扩展可以分为module扩展和component扩展,component扩展也可以被称为UI组件扩展,我们把原生中的UI组件封装之后就能在vue文件中以标签的方式使用了,这里我们主要讲一下component的扩展。常规的component扩展知识在weex官网中都有教程,我在这里就不再赘述了,如果还不熟悉的话请移步weex官网中的教程。那么我...原创 2019-03-21 22:16:05 · 3773 阅读 · 6 评论 -
Weex框架源码分析(Android)(一)
一、weexSDK初始化流程WXSDKEngine.initialize(Application application,InitConfig config);//WXSDKEngine的init方法已经被弃用,weex的初始化需要使用下面这个initialize方法public static void initialize(Application application,InitC...原创 2019-04-10 18:56:23 · 2467 阅读 · 0 评论 -
Weex常用API总结和理解
一、WXEnvironment1、static Map getConfig()获取一些应用配置信息,如下包括:操作系统,app版本号,缓存目录,设备id等。Map<String, String> configs = new HashMap<>();configs.put(WXConfig.os, OS);configs.put(WXConfig.a...原创 2019-04-10 18:57:40 · 1168 阅读 · 0 评论 -
Android基础--Android Studio报错信息:Can only use lower 16 bits for requestCode
Caused by: java.lang.IllegalArgumentException: Can only use lower 16 bits for requestCodestartActivityForResult(intent, R.id.scan);1startActivityForResult(Intent intent, int requestCode)以上我的代码是...转载 2019-04-16 10:23:43 · 1869 阅读 · 0 评论 -
出现"xxxx finished with non-zero exit value 1"的原因和解决方法
原因:1、依赖重复了2、v4、v7包与compileVersion版本不一致3、缺少资源文件解决:修改v4包、v7包到与compileVersion一致;终端执行:gradlew processDebugResources --debug查看输出的log信息...原创 2019-09-03 09:07:12 · 16838 阅读 · 0 评论 -
Android 报错 "duplicate entry :android/support/v4/widget/ViewDragHelper$callback.class"
原因:各个module依赖的v4包的版本不一致导致的解决:修改各个相互关联的module的v4包版本号微一致的原创 2019-09-03 09:09:26 · 1988 阅读 · 0 评论 -
音视频开源项目整理
一、SmarterStreaming 国内外为数不多致力于极致体验的超强全自研跨平台(windows/android/iOS)流媒体内核,通过模块化自由组合,支持实时RTMP推流、RTSP推流、RTMP播放器、RTSP播放器、录像、多路流媒体转发、音视频导播、动态视频合成、音频混音、直播互动、内置轻量级RTSP服务等,比快更快,业界真正靠谱的超低延迟直播SDK(1秒内,低延迟模式下200...原创 2019-01-17 13:30:20 · 1969 阅读 · 0 评论 -
volley提交表单数据并获取返回数据的header信息
volley默认没有提供提交表单数据的接口。因此需要我们继承Request<String>实现FormRequest提供提交表单的功能public class FormRequest extends Request<String> { private final String BOUNDARY = "------" + UUID.randomUUID().to...原创 2018-08-24 10:15:22 · 864 阅读 · 0 评论 -
Android运行时权限申请(已调用系统拨打电话功能为例)
//判断版本是否是6.0以上if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){ int checkCallPhonePermission = ContextCompat.checkSelfPermission(mWXSDKInstance.getContext(), Manifest.permission.CALL_PHON...原创 2018-08-22 14:38:34 · 1584 阅读 · 0 评论 -
Android中Service的三种使用方式
第一种,直接在客户端,一般是activity中调用startService()方法,传递一个Intent参数,将要传递的数据储存在intent中传递给Service即可,启动服务后会依次调用服务的一些生命周期的回调方法,其中在onStartCommand中执行我们想要服务执行的操作即可,在这个方法中我们可以获得客户端传递过来的Intent获得相关数据。Service相关代码:public...原创 2018-04-10 13:45:25 · 21939 阅读 · 5 评论 -
Weex组件与模块封装(Android)
Weex组件Android Studio配置在AndroidManifest.xml中添加网络权限等权限。<uses-permission android:name="android.permission.INTERNET"/>//网络权限<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAG...原创 2018-04-10 18:24:35 · 4525 阅读 · 2 评论 -
Android更新使用Service自动下载apk自动安装 (可暂停和继续)
一、首先需要判断版本号,根据版本号显示提示更新的弹窗,并启动下载服务 //DialogUtil是一个弹出弹窗的工具类,可以根据自己的需求定制。 DialogUtil.showupdataDialog(mWXSDKInstance.getUIContext(), title, content, new View.OnClickListener()...原创 2018-03-28 13:40:28 · 4238 阅读 · 2 评论 -
Android调用Linux命令修改文件权限的两种实现方式
第一种:public class FileMode { public static void changeFileModeByCmd(String file) { String[] command = {"chmod", "777", file};//777代表可读写可执行,666代表可读写不可执行 ProcessBuilder builder = new Pro...转载 2018-03-28 14:22:17 · 684 阅读 · 0 评论 -
Android模拟自由落体运动
最近想看看android的游戏开发,因此首先绘图方面得练练,突然就想到模拟一下自由落体运动。本例采用serfaceView实现,接下来上代码:一、首先定义一个自定义控件public class MySurfaceView extends SurfaceView implements SurfaceHolder.Callback,Runnable{ public static fl...原创 2018-04-04 15:57:13 · 1277 阅读 · 4 评论 -
Android 报错java.lang.RuntimeException: Unexpected exception in dex writer thread
Android 报错java.lang.RuntimeException: Unexpected exception in dex writer thread解决方法:android { dexOptions { incremental true javaMaxHeapSize "4g" }}原创 2018-08-06 16:39:50 · 1847 阅读 · 0 评论 -
Android service的两种使用方式bindService和startService使用方式
服务与多线程的区别:服务仍然是运行在主线程中,而Thread则是真正的开启了一个新的线程来执行先关操作。那为什么要用服务呢,初步理解是服务是为了更好地管理线程。试想,当我们在某一个activity中启动一个新的Thread的后,我们一般会在新线程中执行一些耗时操作,甚至有时我们需要在此activity被销毁后线程任然执行。但是这时候我们就会失去线程的引用,无法再对线程进行控制。而借助服务的话...原创 2018-08-08 15:46:24 · 6145 阅读 · 0 评论 -
Android方便的消息传递框架EventBus使用和优化
一、EventBus的作用 EventBus可以实现各个组件之间、以及各组件与后台线程间的消息传递,用来处理一些随数据变化及时更新的界面十分方便,而且使用了EventBus后我们不用再获得对方的引用即可向对方传递数据。二、EventBus的使用 这里表明下:以下我所写的“消息”,大多数人都说成“事件”,但是个人认为说成消息更加方便理解,因此以下大都说成消息了,纯属个人喜好。 首...原创 2018-04-08 18:54:42 · 1164 阅读 · 0 评论
分享