Android
文章平均质量分 54
码蛋蛋
爱科技,爱程序
展开
-
unable to connect to 192.168.3.193:5555: cannot connect to 192.168.3.193:5555: 由于连接方在一段时间后没有正确答复或连接
概述最近在开发自动售货机的项目,客户老是一会儿拿个十寸屏Android 4.0的机子来,一会儿拿个6寸屏Android5.0的机子来,由于开发这个项目需要调试,而且安卓平板又放在距离电脑远的地方,连接usb调试起来不太方便,所以只能采取使用wifi进行连接的方法来进行日志调试。问题原因原来手机的默认adb服务是没有打开的解决方法打开手机里面adb服务,请往下面看...原创 2018-07-13 10:58:26 · 8843 阅读 · 2 评论 -
Couldn't save uncommitted changes,Tried to save uncommitted changes in stash before update,but faile
昨天,我把项目拷贝下来电脑里面使用,BUG修复好了,要上传到码云进进行更新,但是IDE报错这样一个错,我顿时惊了。我看了一下错误,大概是git的邮箱地址有问题。上图: 问题:没有配置Git全局邮箱解决:1、打开Git 安装的目录,打开Git Bash 2、双击打开Bash 输入命令,完成。 希望!~希望能帮到您。。原创 2017-11-27 21:17:34 · 4336 阅读 · 1 评论 -
Android MultiDex 构建优化
解决了65535/64K的问题了,但是问题就是这样给解决了,但是上篇已经说了,会给性能造成损耗,那就是说有负副作用。究竟有什么副作用?1,应用第一次启动的时候,Dalvik虚拟机会对所有的.dex文件执行dexopt操作,生成ODEX文件,这个过程很复杂而且耗时,如果应用classes.dex很多,太大,可能会导致ANR。2,如果API14之前那就是说Android 4.0之前的系统上,由于Dalv原创 2017-12-03 19:26:56 · 504 阅读 · 0 评论 -
简述Android 解决65536/64K方法数限制方案
在Android项目开发中,尤其是开发类似淘宝,京东,微信,直播等大型项目中,由于产品的迭代,业务模块的快速增长,到了一定的规模后难免会遇到65536/64K方法数的问题。它是个什么鬼?这个问题,网上还有其他人说65方法数问题,本质上都市指Android Dalvik可执行文件.dex中的Java方法数引用超过65536,64K的计算方法是65536/1024,65K的计算方法是65536/1000原创 2017-12-03 12:25:06 · 7449 阅读 · 4 评论 -
Andorid Studio项目上传到Coding流程
今天尝试新的项目管理git,我抛弃了码云使用Coding,试试是不是很爽。安装git带这个网址下载git https://git-scm.com/download/win安装all in next。AS配置git在AS的file–settings–Version Control–选择git.如下: 把git路径复制到里面,点击右边Test,出现如下,表示配置成功。配置好后会弹出一个git对话框,原创 2017-12-11 16:13:50 · 1624 阅读 · 0 评论 -
GreenDao 报错 .sqlite.SQLiteConstraintException: UNIQUE constraint failed: user_profile._id (code 1555
错误陈述:id出现多次插入解决方法:加上注解 @Id(autoincrement = true)原创 2017-12-08 12:45:26 · 12112 阅读 · 2 评论 -
Android 调用系统浏览器
项目中有这样的一个需求,就是通过二维码扫描跳转到浏览器打开网页url。遇到这样的需求究竟是怎么办?其实就是二维码扫描获取URL,然后通过二维码扫描回调方法里面执行android Intent跳转到系统的浏览器页面。当然,在这个过程中肯定有判断系统目前有多小个浏览器啦~效果图二维码回调@Override public void onActivityResult(int requestCode,原创 2017-11-06 17:11:51 · 980 阅读 · 0 评论 -
Android 软键盘隐藏工具
为了以后项目更方便的控制软键盘的显示和隐藏,我写了一个简单的工具类。public class InputMethodUtils { /** * 显示软键盘 */ public static void showInputMethod(View view) { InputMethodManager imm = (InputMethodManager) v原创 2017-11-06 15:52:11 · 213 阅读 · 0 评论 -
Glide加载转换Bitmap
今天项目里面用到了需要加载图片转换成Bitmap位图,本来我在项目里面就使用Glide框架进行图片的加载,所以就使用了Glide这种方法进行转换Bitmap。方法1 Glide.with(getActivity()).load(mUserEntity.getData().getCover()).asBitmap().into(new SimpleTarget<Bitmap>() {原创 2017-11-06 15:39:02 · 16508 阅读 · 3 评论 -
Android 事件拦截机制、事件分发机制简单分析
问题来了,为什么要了解事件拦截机制和分发机制?要解决什么问题?顾名思义就是要解决问题的,要解决的这个问题就是滑动冲突你要怎么解决?当然肯定要了解Android 事件分发,事件拦截机制了。事件拦截机制要了解触摸事件的拦截机制,首先要知道什么是触摸事件,其实很好的理解。就是打开APP页面,你用手指去触摸,当触摸产生后的系列事件。通常情况下会产生2到3个事件,当手指按下,手指移动,手指离开,都分别有相关的原创 2017-11-17 21:24:21 · 366 阅读 · 0 评论 -
Android 6.0 权限简单介绍
新的权限机制更好的保护了用户的隐私,Google将权限分为两类,一类是Normal Permissions,这类权限一般不涉及用户隐私,是不需要用户进行授权的,比如手机震动、访问网络等;另一类是Dangerous Permission,一般是涉及到用户隐私的,需要用户进行授权,比如读取sdcard、访问通讯录等。Android 6.0 Normal Permissions 分别如下ACCESS_LO原创 2017-10-15 22:19:33 · 207 阅读 · 0 评论 -
java.lang.NullPointerException: Attempt to write to field 'int android.support.v4.app.Fragment.mNext
报错~~错误描述java.lang.NullPointerException: Attempt to write to field ‘int android.support.v4.app.Fragment.mNextAnim’ on a null object reference错误名称空指针异常错误原因1fragment没有赋值 2在fragment为null的时候show或hide或remo原创 2017-10-15 21:48:11 · 2139 阅读 · 0 评论 -
Android EditText 禁止点击 弹键盘
在自定义支付输入框中,我需要禁止EditText控件的点击事件,弹出软键盘。接下来举例几个常用的方法~~~Android EditText 禁止点击 弹键盘方法1:在AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为adjustUnspecified|stateHidden 方法2:让EditText失去焦点,使用EditText的cl原创 2017-11-27 21:34:45 · 1255 阅读 · 0 评论 -
蓝牙BLE开发指南实例
之前在一家公司做过关于蓝牙低功耗的功能,今天有空记录一下。 蓝牙低功耗(Bluetooth Low Energy)是从Android 4.3 (API level 18)新增的,相对于传统来说功耗相对低一些。先来了解一波理论~关键术语和概念:Generic Attribute Profile (GATT) GATT配置文件是通过BLE链接发送和接收称为“属性”的短数据段的通用...原创 2018-04-07 23:02:44 · 6250 阅读 · 4 评论 -
Android LocalBroadcastManager 简述
概述最近接手一个项目中有使用到LocalBroadcastManager本地广播管理者这个类,接下来我们就一起来学习一下这个类,我也顺便当作温习一下这个类。在Android开发中,Broadcast(广播)是四大组件中重要的组件之一,它是一种广泛运用的在应用程序之间传输信息的机制。我们拿广播电台来做个比方。我们平常使用收音机收音是这样的:许许多多不同的广播电台通过特定的频率来发送他们的内容...原创 2018-06-15 17:22:04 · 387 阅读 · 0 评论 -
Android 项目gradle文件解析
概述,在日常开发中,我们需要理清楚项目结构里面gradle文件在项目中的作用,一个Android项目中一共有3个.gradle文件,分别是1个settings.gradle,另外两个分别是项目Project级别里面的build.gradle和Module里面的build.gradle。这些里面究竟是具有什么作用呢?如图所示:Project级别的build.gradle文件M...原创 2018-06-14 21:46:55 · 370 阅读 · 0 评论 -
小白Kotlin入门语法(二)
继续来一起学习Kotlin基础吧~~Kotlin常量与变量常量在Kotlin中什么是常量 val me:String = “helloworld”,val =value,val它是值类型。类似Java的final,不能重复赋值。 例如://运行时常量val x= getX()//编译器常量const val x = 2变量什么是变量,var ...原创 2018-06-22 13:26:38 · 230 阅读 · 0 评论 -
java.lang.UnsatisfiedLinkError: dlopen failed: file offset for the library "/data/app/com.beiya.litt
概述在开发的时候我手贱,把so包删除了,然后按了恢复就出现文件大小和之前的不一样,就出现这个错误了。java.lang.UnsatisfiedLinkError: dlopen failed: file offset for the library “/data/app/com.beiya.littletraveler-1/lib/arm/libQvoice.so” file size ...原创 2018-05-24 15:49:28 · 10294 阅读 · 1 评论 -
Error:Execution failed for task ':app:preDebugAndroidTestBuild'. > Conflict
刚刚安装APK到手机上出现了这个错误,调了很久。原因:编译器内存溢出了 解决办法:重启AS。原创 2018-05-07 14:12:06 · 446 阅读 · 0 评论 -
Android 动画之补间动画实战(飞机起飞)
在Android项目的日常开发中,很难免的会用到动画。Android的动画体系分为传统动画,传统动画中又分为两大类,一类是补间动画(Tweened Animation)另一类帧动画(Frame Animation),Android3.0 之后又出现现代动画叫属性动画。这里用个飞机起飞例子在做个demo!横屏 竖屏 上效果图:飞机起飞布局代码&lt;Relativ...原创 2018-05-13 21:14:52 · 668 阅读 · 0 评论 -
Andorid 八角盘(风水八宅图)八圆轮简单实现
风水八角盘困,为了开源精神,继续写点博客,证明一下自己的存在感。之前,项目需求说要做个八角八圆轮图。听了之后就蒙蔽了。卧槽,好难,想想之后,好像有点思路。思路其实挺简单,无非就是写几行代码嘛。废话不多说,先上预览图。实现思路1、八角背景图 2、自定义ViewGroup实现八个圆轮位置+LL线性垂直布局 3、采用FrameLayout布局层叠上码不废话八角底部...原创 2018-04-28 01:14:40 · 1312 阅读 · 2 评论 -
Android ADB常用命令以及环境配置
我们在Android很难避免会使用ADB调试桥来进行调试,现在我就收集一些我们日常常用的ADB命令,当然,在AndroidStudio里面有专门的插件可以给我们下载和使用,但是我还是喜欢使用命令,因为会比较装逼一点。ADB 即 Android Debug Bridge,Android调试桥。ADB工作方式比较特殊,采用监听Socket TCP 端口的方式让IDE和Qemu通讯,默认情况下a...原创 2018-05-06 00:24:49 · 4880 阅读 · 0 评论 -
Android apk第一次安装白屏(冷启动白黑屏解决)
在我们开发中,肯定会遇到白屏和黑屏问题,特别是第一次安装APK然后打开APK就会看到这个效果,那就是说冷启动的时候出现这个想过就是最明显不过了。什么是冷启动冷启动的定义冷启动就是在启动该应用前,系统中没有该引用的任何进程信息。 (第一次打开应用、杀死了进程再打开、时间最长)冷启动/热启动的区别热启动:用户使用返回键推出应用,然后马上又重新启动应用区别冷...原创 2018-05-12 12:32:54 · 2974 阅读 · 0 评论 -
Android SurfaceView实战 带你玩切水果1.0
1、概述最近开发一个智能项目,项目对象是某智能早教机器人,这个产品主要定位是儿童益智玩的游戏,并且可以从中学习到相关历史知识等相关知识,其中有个游戏关卡就是去到不同国家,可以玩不同的游戏。领导说要用Android原生做游戏,卧槽,我当时就懵逼,原生做游戏,我就试试开撸吧。好吧,先上个效果图 思路分析1、水果 2、背景 3、水果篮子 4、分数 5、时间 6、水果刀 ...原创 2018-05-05 20:05:11 · 1633 阅读 · 2 评论 -
Socket相关简单介绍二
Socket通信TCP协议是面向连接、可靠的、有序的,以字节流的方式发送数据,基于TCP协议实现网络通信类。客户端的Socket类 服务端的ServerSocket类流程如下图:基于TCP-Socket编程通信实现步骤1、创建ServerSocket和Socket 2、打开连接到Socket的输入流和输出流 3、按照协议对Socket进行读写操作 4、关...原创 2018-04-06 17:17:30 · 198 阅读 · 0 评论 -
Android 5.0 MaterialDesign Ripple效果水波纹效果
在Android 5.X的UI射击Material Design中,更是使用了大量的动画效果,同事Google也在官方文档上增加了对动画的设计指导。Ripple效果在Android 5.0后,material Design大量使用了Ripple效果,那就是点击后的波纹效果。//波纹有边界 android:background=”?android:attr/selectableItemBackgro原创 2017-11-09 17:57:46 · 315 阅读 · 0 评论 -
Android UI之TextView使用
Android UI之TextView使用从上图可以看出来TextView的老爸也是祖宗是View,儿子有Button、CheckedTextView、Chronometer、DigitalClock、EditText,孙子有AutoCompleteTextView、原创 2017-08-03 23:27:16 · 362 阅读 · 0 评论 -
Android 自定义控件canvas- Layer图层
Android layer图层是什么?从字面上看android中的layer就是图层的意思,一般用于android中自定义控件的绘制中。从字面上意思看很像photoshop中的图层概念,也就是说大于1张图层以上重叠的图层组,从而可以创建一个复杂的图层,photoshop里面一张漂亮的画都是由多张图层来完成的。在android中layer是跟canvs配合使用,创建一个图层可以使用canvas.sav原创 2017-08-21 14:45:08 · 1890 阅读 · 1 评论 -
Android 进程和线程关系
简单介绍一下,进程和线程的关系。Processes and Threads进程和线程之间的关系. 一个进程里面可以有多个线程. 进程如果挂了, 线程就没了进程优先级Foreground process 前台进程优先级别最高,即便系统内存不足的时候 也不会杀死前台进程 Visible process 可见进程优先级稍为低一点 Service process 服务进程存活时间比较长 . 里面的子线原创 2017-10-19 14:06:36 · 448 阅读 · 0 评论 -
Android 进程保活--无限播放音乐
所谓进程保活,本来就是提升进程的优先级别。接下来这种方式,比1像素保活还要牛逼。就是无限播放音乐进行应用保活,就算锁屏了也是绝不容易给杀死,和1像素配合一起使用牛逼了。简单上码/** * Created by GT on 2017/3/7. */public class ProtectService extends Service implements MediaPlayer.OnCompl原创 2017-10-18 21:02:02 · 5107 阅读 · 1 评论 -
Android 进程保活--1像素保活
在Android开发中,必定有一些应用是需要常驻后台运行的,比如长期对某个事物的监听或者长期扫描等等。如果Android手机锁屏了,就有一定几率会给手机厂商的OS系统给杀死。所以,为了在手机锁屏之后避免应用给杀死,我们可以选择提高进程的优先级,所以使用1像素Activity进行保活。保活简单实现上码/** * 1像素A */public class ProtectActivity extend原创 2017-10-18 20:57:15 · 2259 阅读 · 0 评论 -
Android 使用Canvas+Paint画虚线
效果图如下:简单实现 Paint mPaintCircle = new Paint(); mPaintCircle.setStyle(Paint.Style.STROKE); mPaintCircle.setAntiAlias(true); mPaintCircle.setStrokeWidth(2); mPaintCir原创 2017-10-17 16:21:52 · 17615 阅读 · 1 评论 -
Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant)
异常描述:Caused by: java.lang.IllegalStateException: 原因:那就是主题有问题,你继承的是AppCompat,你必须就需要用到他的主题。 从错误提示中提到Theme.AppCompat theme,这是因为我们的activity一定是继承了兼容包中的类, 比如我这里就无意中继承了ActionBarActivity,它来自android.support.v原创 2017-09-27 21:01:09 · 1340 阅读 · 0 评论 -
Gradle报错: null value in entry:libOutPutDir=null?
卧槽,脚痒痒碰了电源线~正在运行中的AndroidStudio突然关闭了,整个关机了。 重启之后,打开项目就报,这个错误null value in entry:libOutPutDir=null?,怎么办?突然查了一下strackoverflow据说Gradle的一个Bug。解决方案:直接在Pro目录删除.gradle文件同步编辑即可如下图: 好了!!!!原创 2017-09-27 12:02:34 · 2170 阅读 · 0 评论 -
Android XML绘图Shape阴影
Shape阴影1、在Drawable上创建xml文件<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- bottom shadow --> <item> <shape android:shape="rectangle"> <!-- from t原创 2017-09-05 21:33:17 · 3894 阅读 · 0 评论 -
Android XML绘图Shape虚线
Shape虚线1、在Drawable上面写Shape的XML文件<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line" > <stroke //边框 android:w原创 2017-09-05 21:29:19 · 261 阅读 · 0 评论 -
Android XML绘图shape 圆角
Shape 圆角XML代码 XML设置shape到UI控件里 这里主要是corners设置圆角角度和通过solid设置填充颜色。原创 2017-09-05 21:26:58 · 640 阅读 · 0 评论 -
Android XML绘图-Shape
Shape简介XML在Andorid系统中可不是仅仅是一个布局的文件,配置列表。在Android开发中,它可以画一副图。Android的开发者给XML提供了几个强大的技能来帮我们实现。我们在Android开发中都知道XML文件必定是比图片小的,所以针对APP的优化,我们能够用shape实现的效果就尽量用shape实现。 <?xml version="1.0" encoding="utf-8"?>原创 2017-09-05 17:29:25 · 332 阅读 · 0 评论 -
android 下载github项目运行gradle出现问题
在android开发的过程中,我们会难免会借鉴大神们的项目。所以我们就直接从github直接下载项目在androidstudio跑,发现出问题NO SERVICE OF TYPE FACTORY......。Gradle构建失败。出现以下图的基本上是项目gradle里面配置出错。把maven改成1.5,按同步一下此问题解决原创 2017-07-12 17:32:11 · 518 阅读 · 0 评论 -
Gradle 配置环境变量
我相信这个一个很简单很基础的配置,但是如果不注意,你就入坑啦,等着花3-4个小时吧。这里说一下,如果要在cmd打开控制台,输入gradle命令的话,那就必定要配置gradle环境变量。 我相信做过javaWeb开发的同志们都会配置JAVA_HOME了,所以我就按照当时候配置JAVA_HOME的Flow来配置 GRADLE_HOME了,结果?你猜猜遇到什么问题了吗?先上图啦,遇到这个问题了。问题:g原创 2017-10-27 12:11:39 · 3292 阅读 · 0 评论