
Android
文章平均质量分 53
keep_moving12138
起床了,老板喊你起来搬砖了!
展开
-
问题记录:.Application does not implement dagger.android.HasActivityInjector
Caused by: java.lang.RuntimeException: android.app.Application does not implement dagger.android.HasActivityInjector at dagger.android.AndroidInjection.inject(AndroidInjection.java:49) ...原创 2019-08-15 16:43:18 · 1314 阅读 · 0 评论 -
Android快应用开发(三)
前面介绍了快应用开发的环境搭建,项目结构这一局就来好好写一下布局吧,看看各个组件是如何排兵布阵的!项目目录下除了app.ux文件就剩下了Hello.ux文件,很明显,hello.ux 是我们今天的主角。ux文件主要由三部分组成 template,style,script第一部分 template(模板)按照目前得到的全部信息我们可以推断出这一块主要是摆放视图组件的位置,比如放一...原创 2019-08-13 18:06:39 · 861 阅读 · 2 评论 -
Android快应用开发(二)
这节我们介绍项目的目录结构当然大部分是华为官网的文档,编辑时间为(2019-8-12)如果时间过太久了可以去阅读官方文档,但是这个差别应该不是很大,阅读的时候必须要配合真实项目来看才能加深理解,不然看了关了电脑就忘了。一、应用包含:描述项目配置信息的manifest文件,放置项目公共资源脚本的app.ux,多个描述页面/自定义组件的ux文件,典型示例如下:首先说说配置文件,...原创 2019-08-12 17:18:47 · 550 阅读 · 0 评论 -
Android快应用开发(一)
快应用是Android未来的使用趋势,其优势在于免安装,渲染能力强,使用原生系统的能力强,H5实时更新等。在华为2019的开发者大会中也是吹了一把快应用,快服务的使用,以后在鸿蒙系统中也会支持这种快速开发,高效,资源占用率低,免安装的快应用模式。下面是传统APP,H5APP,混合APP,小程序等使用对比从上图也可以看出,各手机厂商制定了快应用标准,就是为了死磕上去年和前年比较火的微...原创 2019-08-12 16:24:06 · 5025 阅读 · 1 评论 -
解决在kotlin中使用BindingAdapter没有效果的问题
@BingdAdapter注解是对绑定数据的触发器的监听器(适配器或者是一个便捷通道)所以通过改变绑定的数据,这个适配器就被触发.它的函数体就会启动执行在java中直接声明一个静态方法加上@BingdAdapter("*****")就可以让函数体完美跑起来,但是在kotlin好像跑不了?加上@JvmStatic注解也不行,头大kotlin中只要把放在函数放到最外层就OK啦如果报...原创 2019-08-08 17:17:57 · 3647 阅读 · 0 评论 -
Installation failed with message Failed to commit install session 1165481217
关闭instant run就好了???但是关闭了之后闪电又不能用了???在勾上就好了。再观察观察,有好的解决方法再修改,先暂时这么用着。如果是小米手机,请关闭开发者选项中的MIUI优化选项。。哈哈哈...原创 2019-08-08 15:12:55 · 2462 阅读 · 0 评论 -
Kotlin 中的MD5加密package com.yang.myapplication.utils import java.security.MessageDigest import java.se
package com.yang.myapplication.utilsimport java.security.MessageDigestimport java.security.NoSuchAlgorithmException//MD5 加密算法fun encode(text: String): String { try { //获取md5加密对象 ...原创 2019-08-08 14:52:06 · 389 阅读 · 0 评论 -
java.net.UnknownServiceException: CLEARTEXT communication to not permitted by network security
java.net.UnknownServiceException: CLEARTEXT communication to 你的域名 not permitted by network security policy 错误处理:(网络安全策略不允许)此问题发生在 API>=27 的项目工程在 res 目录中创建 xml 目录。 增加 network_security_config....原创 2019-07-23 11:22:27 · 1100 阅读 · 0 评论 -
Google官方APP架构指南
应用架构指南本指南包含一些最佳做法和推荐架构,有助于构建注重生产质量的强大应用。本页假定您对 Android 框架有基本的了解。如果您不熟悉 Android 应用开发,请查看我们的开发者指南,着手体验并详细了解本指南中提到的概念。移动应用用户体验在大多数情况下,桌面应用会将桌面或程序启动器当做单个入口点,然后作为单个整体流程运行。Android 应用则不然,它们的结构要复杂得多。典...翻译 2019-07-17 11:01:47 · 912 阅读 · 0 评论 -
AS项目打包成jar,jar和arr的使用
前言:在eclipse中我们知道如何将一个项目导出为jar包,现在普遍AndroidStuido开发,这里一步一步详加介绍AS项目打包成jar,jar和arr的使用 一.作用:为了供其它项目使用,将项目打包成jar 二.步骤(AndroidStudio): 1.像平常一个样新建一个项目(步骤省略) 2.(在步骤1的基础上)点击File-->New-->New...转载 2018-11-07 15:37:24 · 890 阅读 · 0 评论 -
解决问题:Please select android sdk
今天打开Android Studio编译项目正常,但在执行Run app的时候莫名其妙弹出配置对话框,一看SDK配置没什么问题,就直接单击“Run”按钮,谁料下面的消息窗口直接提示运行错误“Error running ***: Please select Android SDK”,错误截图见下:可是Android Studio之前都运行好好的,就在昨天也一直正常编译和运行,为啥今天一打开就无法运行...转载 2018-06-07 14:55:57 · 6523 阅读 · 0 评论 -
Android4.0以上版本添加APN
在Android4.0以前,我们可以申请权限然后再通过内容提供者进行对apn表进行修改。我们在去操作这个表的时候就会发现没有write——apns的权限?? 那就去配置权限呗!然而我们去添加权限的时候系统提示只有系统级应用才能申请。那就把应用升级成系统级的??? 注明系统应用,移到system/app下,然而并不行。神奇!机器是Root过的,为什么没有权限?为什么!看来...原创 2018-03-30 16:05:31 · 821 阅读 · 2 评论 -
如何修改状态栏Statusbar(SystemUI)图标和字体颜色
马了看,哈哈http://blog.youkuaiyun.com/wds1181977/article/details/52277498原创 2018-02-28 16:47:53 · 1697 阅读 · 3 评论 -
JsonObject 的getString方法
在项目中一直用String s = jsonObject.getString( "s" )来获取字段,突然有一天*******,让他们传json数据全部用string类型,否则如果一会传int一会又是string的话我们安卓端解析容易报类型转换异常。咋一听感觉好像有一定的道理,于是我就把获取的json字符串打印出来,一看确实有的是int有的string。然而奇怪的是,我所有的项目都是用ge原创 2018-01-08 11:11:20 · 8113 阅读 · 2 评论 -
Retrofit的使用详解,我见过最详细的博客,没有之一
前言在Andrroid开发中,网络请求十分常用而在Android网络请求库中,Retrofit是当下最热的一个网络请求库Github截图今天,我将献上一份非常详细Retrofit v2.0的使用教程,希望你们会喜欢。如果对Retrofit v2.0的源码感兴趣,可看文章:Android:手把手带你深入剖析 Retrofit 2.0 源码转载 2017-12-12 16:06:04 · 1551 阅读 · 4 评论 -
A/chromium:Check failed: false. Please include Java exception stack in
web view 未正常关闭造成在Activity销毁的时候添加web view.destory();原创 2017-12-07 10:37:06 · 3626 阅读 · 0 评论 -
MediaPlayer: error (1, -2147479551)错误解决
经过ffmpeg压缩过的视频,虽然是MP4格式,但是不能用vedioview来播放播放的时候会宝MediaPlayer: error (1, -2147479551)异常原因是解码失败解决方式1.使用万能播放器播放,比如vitamio框架。里面集成了ffmpeg的解码方式2,直接使用ffmpeg解码播放 因为考虑到集成之后的APK大小,所以放弃了vitamio框架,使用原创 2017-11-27 17:34:05 · 3219 阅读 · 1 评论 -
RXJAVA使用详解
前言Rxjava,由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。如果还不了解 RxJava,请看文章:Android:这是一篇 清晰 & 易懂的Rxjava 入门教程RxJava如此受欢迎的原因,在于其提供了丰富 & 功能强大的操作符,几乎能完成所有的功能需求今天,我将为大家详细介绍RxJava操转载 2017-11-07 10:41:57 · 857 阅读 · 0 评论 -
staticpageradapter中调用notifydatasetchanged无效果
1.首先要知道staticpageradapter继承了pageradpter,pageradapter中是没有提供刷新的,除非强制刷新,这个可以看http://blog.youkuaiyun.com/keep_moving12138/article/details/78435575这篇文章可以知道为什么,这么做。2,但是用同样的方法在staticpageradapter中是没有效果的,因为p原创 2017-11-03 14:49:50 · 358 阅读 · 0 评论 -
pageradapter中调用notifyDataSetChanged()无效果
Viewpager在调用notifyDataSetChanged()时,界面无刷新。 相信很多做过Viewpager的同学肯定遇到过这个问题,这个是bug还是android就是如此设计的,我们不做讨论。总之,它确实影响我们功能的实现了。 可能不少同学选择为Viewpager重新设置一遍适配器adapter,达到刷新的目的。但是这种方法在大多数情况下,是有问题的。追踪源代转载 2017-11-03 14:48:12 · 602 阅读 · 0 评论 -
kotlin拓展属性和官方文档中的拓展
扩展函数与扩展属性的神奇之处在于,可以在不修改原来类的条件下,使用函数和属性,表现得就像是属于这个类的一样。下面我们先看使用效果1.扩展属性第一个红矩形框中,你会发现TextView什么时候有leftMargin这个属性了,这样不用每次都要通过LayoutParams的leftMargin这么麻烦设置margin了。其实很简单,kotlin的扩展属性就能解决这个转载 2017-10-20 17:21:06 · 300 阅读 · 0 评论 -
kotlin中的流程控制补充(判断和循环)
返回与跳转Kotlin 有三种机构跳转操作符return break 结束最近的闭合循环 continue 跳到最近的闭合循环的下一次循环break 和 continue 标签在 Kotlin 中表达式可以添加标签。标签通过 @ 结尾来表示,比如:abc@,fooBar@ 都是有效的(参看语法)。使用标签语法只需像这样:loop@ for (i in 1..转载 2017-10-17 11:53:38 · 288 阅读 · 0 评论 -
kotlin中的流程控制(判断和循环)
流程控制if 表达式在 Kotlin 中,if 是表达式,比如它可以返回一个值。是除了condition ? then : else)之外的唯一一个三元表达式//传统用法var max = aif (a b) max = b//带 else var max: Intif (a > b) max = aelse max = b//作为表达式val ma转载 2017-10-17 11:52:45 · 423 阅读 · 0 评论 -
kotlin中的包
包一个源文件以包声明开始:package foo.barfun bza() {}class Goo {}//...源文件的所有内容(比如类和函数)都被包声明包括。因此在上面的例子中, bza() 的全名应该是foo.bar.bza ,Goo 的全名是 foo.bar.Goo。如果没有指定包名,那这个文件的内容就从属于没有名字的 "default" 包。I转载 2017-10-17 11:51:54 · 486 阅读 · 0 评论 -
kotlin基本语法与类型
基本类型在 Kotlin 中,所有变量的成员方法和属性都是一个对象。一些类型是内建的,它们的实现是优化过的,但对用户来说它们就像普通的类一样。在这节中,我们将会讲到大多数的类型:数值,字符,布尔,以及数组。数值Kotlin 处理数值的方法和 java 很相似,但不是完全一样。比如,不存在隐式转换数值的精度,并且在字面上有一些小小的不同。Kotlin 提供了如下内建数值类型(和转载 2017-10-17 11:29:50 · 357 阅读 · 3 评论 -
kotlin中的var和val
Kotlin系列课程的第二课:Kotlin中变量不同于Java: var 对val。在这第二章节中,我们将了解Kotlin中变量是怎样工作的,什么是val和var,什么时间使用它们。 我从这开始,是因为理解这部分内容对后续讨论怎样在类中创建“字段”时非常有用(还可了解它们不是字段)。 Kotlin变量如Java那样,只要在变量的范围内执行代码转载 2017-10-16 14:46:48 · 768 阅读 · 0 评论 -
Android SQLite中的批量insert、update操作
一、新增SQLite中的新增默认是单个事务控制的,一次新增就是一次数据库操作,一次事务。如果几千次for循环操作,必然存在效率问题。下面代码是通过事务控制的方式提升效率:public void addList(List listMember) { StringBuffer sbSQL = new StringBuffer(); SQLiteDatabase db =转载 2017-10-14 10:44:22 · 1524 阅读 · 3 评论 -
Android SQLite 的使用(最全的?)
SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段声明的数据类型是什么。例如:可以在Integer类型的字段中存放字符串,或者在布尔型字段中存放浮点数,或者在字符型字段中存放日期型值。 但有一种情况例外:定义为INTEGER PRIMARY KEY的字段只能存储64位整数, 当向这种字段保存除整数以外的数据时,将会产生错误。 另外, SQLite转载 2017-10-14 10:36:28 · 716 阅读 · 0 评论 -
Android SQlite使用
在项目开发中,我们或多或少都会用到数据库。在Android中,我们一般使用SQLite,因为Android在android.database.sqlite包封装了很多SQLite操作的API。我自己写了一个Demo来总结SQLite的使用,托管在Github上,大家可以点击下载APK,也可以点击下载源码。Demo截图如下:在使用SQLite时,我建议先下载一个本地SQLite客户端转载 2017-10-11 17:22:52 · 222 阅读 · 1 评论 -
Android wifiManager的使用案例
在平常开发中经常会涉及到wifi相关的内容,在此将之前所用到的整理一下,以免忘记。操作wifi的相关类,主要放在android.net.wifi包下面。使用wifi相关方法需要申请一些权限: ACCESS_WIFI_STATE 获取WiFi状态。CHANGE_WIFI_STATE 改变WiFi状态。CHANGE_WIFI_MULTICAST_ST转载 2017-10-11 16:16:02 · 2901 阅读 · 0 评论 -
Android中WiFi的使用------WiFimanager
Android之WifiManager 移动设备离不开网络,android平台中在包android.net.wifi下提供了一些类专门用于管理设备的Wifi功能。该包下主要存在如下几个类:1、 ScanResult:主要用来描述通过Wifi硬件扫描获取的周边的wifi热点的信息。包含的字段信息和方法如下图:2、 WifiConfiguration:此类转载 2017-10-11 16:00:56 · 1131 阅读 · 0 评论 -
XML选择器的使用二,补充
一.创建xml文件,位置:drawable/xxx.xml,同目录下记得要放相关图片 android:drawable="@drawable/pic1" /> 二.使用xml文件:1.方法一:在listview转载 2017-10-11 15:52:06 · 252 阅读 · 0 评论 -
popuwindow小案例
RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_pa转载 2017-10-11 15:28:38 · 216 阅读 · 0 评论 -
Android 应用国际化
1. 很大程度上,为什么我们能如此方便的实现国际化、分辨率匹配等? 主要就是得益于 Android 中这种独特的资源管理方式。程序员的代码可以不直接和资源发生关系。Android 中,我们通常通过 R 文件提供的索引来间接的引用某一个资源。而如何维护资源索引和真正的资源之间的关系,这个活,却是 Android 系统来做的。 这里面就可以大作文章了不是么?转载 2017-10-11 15:21:11 · 239 阅读 · 0 评论 -
Android APP第三方授权登陆,分享等功能合集
这篇文章中,我们使用到了Share SDK,它是为iOS、Android、WP8的APP提供社会化功能的一个组件,目前支持如QQ、微信、新浪微博、腾讯微博、开心网、人人网、豆瓣、网易微博、搜狐微博、facebook、twitter、google+等国内外主流社交平台。一、实现的效果图 主界面效果图转载 2017-10-11 11:40:16 · 1536 阅读 · 0 评论 -
Android 中 getsysytemservice之searchManager
Android---浮动搜索框(SearchManager)浮动搜索框的使用其实并不难,而是在于它的配置非常之繁琐,对于它的使用主要是方便开发者对于程序中有搜索业务时,更好的设计UISearchManager具体使用步骤如下:(1)配置search bar的相关信息,新建一个位于res/xml下的一个searchable.xml的配置文件,如默认值、是否有搜转载 2017-10-11 11:02:04 · 838 阅读 · 0 评论 -
PendingIntent和Intent详解
pendingIntent字面意义:等待的,未决定的Intent。要得到一个pendingIntent对象,使用方法类的静态方法 getActivity(Context, int, Intent, int),getBroadcast(Context, int, Intent, int),getService(Context, int, Intent, int) 分别对应着Inte转载 2017-10-11 10:17:54 · 554 阅读 · 0 评论 -
getsystemservice之NotificationManager
1234567891011121314151617181920212223242526272829303132333435转载 2017-10-10 19:24:19 · 1013 阅读 · 0 评论 -
Android中的getSystemservice,很全
记录下这个getSystemService 的使用感觉这个API的用处挺大,很多东西都要用到它。对于API的查询还不是特别会用,顺便借这个机会学习一下getSystemService是在Context这个类下的方法,进入Api查询界面搜索Context,然后找到 向下查找就找到了getSystemService这个方法以下是getSyst转载 2017-10-10 18:00:04 · 1989 阅读 · 0 评论 -
Android 定位2
1.思路分析首先获得当前自己所在位置的经纬度。把我们获得的经纬度转换成我们能看得懂的具体位置信息2.具体逻辑借助Android本身的LocationManager这个类提供的方法来获取经纬度。毫无疑问,要想使用LocationManager就必须要先获取它的实例,我们可以调用Context的getSystemService()方法获取,即:LocationManager lm转载 2017-10-10 17:33:22 · 269 阅读 · 0 评论