android
文章平均质量分 62
mcy_zq
想要创业的萌新
展开
-
android的启动模式
Activity 四种启动模式: standard,singleTop,singleTask,singleInstanceactivity启动时 activity的存放 就像是在一个栈中(理解为类栈 比较方便) 但又有不同的方式.配置启动activity模式在androidmanifest里 配置activity 的 android:launchMode 属性原创 2016-10-12 14:12:27 · 198 阅读 · 0 评论 -
Fragment重叠问题一(分析原因)
我们在使用Fragment的过程中,有时会发现一直表现正常的Fragment,突然重叠了!什么情况下会发生Fragment重叠?一般满足下面2个条件才可能会发生重叠:1、发生了页面重启(旋转屏幕、内存不足等情况被强杀重启)。2、重复replace|add Fragment 或者 使用show , hide控制Fragment;为什么会发生Fragment重叠?从源码角度分析,为什么发生页面重启后原创 2018-01-12 14:29:03 · 559 阅读 · 0 评论 -
Android代码混淆是什么
本文主要是介绍Android混淆是什么,有什么需要注意的地方,便于初学者较好的了解什么是“混淆”与使用时的注意事项。1.由于Android项目是基于java语言的,而java属于高层抽象语言,易于反编译,其编译后的程序包包含了大量的源代码变量、函数名、数据结构等信息,根据其编译打包后的APK文件,可以非常容易的得到 近乎源代码质量 的反编译代码。如果不加混淆,相当于直接将源代码原创 2018-01-21 23:22:48 · 1944 阅读 · 0 评论 -
android 触摸事件、点击事件的区别,执行流程
针对屏幕上的一个View控件,Android如何区分应当触发onTouchEvent,还是onClick,亦或是onLongClick事件? 在Android中,一次用户操作可以被不同的View按次序分别处理,并将完全响应了用户一次UI操作称之为消费了该事件(consume),那么Android是按什么次序将事件传递的呢?又在什么情况下判定为消费了该事件? 搞清楚这些问题原创 2018-01-04 23:09:09 · 1204 阅读 · 1 评论 -
Android Studio 错误: 非法字符: '\ufeff' 解决方案|错误: 需要class, interface或enum
今天开发的时候使用别人的项目遇到一个小问题,如图下:如果遇到此种问题可以用文本编辑器之类的工具手动将文件转为无BOM编码普通的UTF-8文件。原因:因为Android studio中识别项目的UTF-8编码都是无BOM编码普通的UTF-8。而有很多人编写Android程序都是用eclipse之类来写,这些可以自动把UTF-8+BOM格式转换成UTF-8格式,所以其文件的编码格式实际原创 2018-01-05 23:44:15 · 507 阅读 · 0 评论 -
UI绘制复习yi
首先熟悉Paint与Canvas1.Paint可以被理解为绘制图形时的画笔。2.Canvas可以理解为使用画笔绘画的画布。总得来说就是配置号Paint在Canvas上画东西。一切的开始:重写onDraw()方法。1 @Override2 protected void onDraw(Canvas canvas) {3 super.onDraw(canvas);4 /原创 2018-01-25 18:31:39 · 209 阅读 · 0 评论 -
Android屏幕适配问题
不知道小组长想什么,突然让我写个屏幕适配。所以在这里记录一遍。移动端屏幕适配尺寸与屏幕分辨率屏幕尺寸含义:手机对角线的物理尺寸单位:英寸(inch),1英寸=2.54cmAndroid手机常见的尺寸有5寸、5.5寸、6寸等等屏幕分辨率含义:手机在横向、纵向上的像素点数总和一般描述成屏幕的"宽x高”=AxB含义:屏幕在横向方向(宽度)上有A个像素点,在纵向方向(高)有B个像素点例子:1080x192...原创 2018-02-27 17:01:37 · 162 阅读 · 0 评论 -
FNC的识别
关于FNC的识别。Android设备支持,读写数据,还有写入特定的URI后让设备识别后进行操作。Android对NFC的支持不同的NFC标签之间差异很大,有的只支持简单的读写操作,有时还会采用支持一次性写入的芯片,将NFC标签设计成只读的。当然,也存在一些复杂的NFC标签,例如,有一些NFC标签可以通过硬件加密的方式限制对某一区域的访问。还有一些标签自带操作环境,允许N原创 2018-03-05 16:16:26 · 1090 阅读 · 0 评论 -
光线传感器使用
开发使用光线传感器不需要权限声明。使用光线传感器比较简单。(很多传感器都是类似使用的)1.获取感情器管理服务。SensorManager senserManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);2.获取光线传感器。Sensor sensor = senserManager.getDefaultSensor(S...原创 2018-03-05 18:05:58 · 1552 阅读 · 0 评论 -
Button设置elevation阴影没效果
Button设置elevation阴影没效果是因为默认主题里,已经有了elevation设置,所以再设置就没用了。可以先用android:stateListAnimator=”@null”把默认动画置空,然后再设置elevation,还要设置背景颜色,没有背景颜色是没有阴影效果的。设置完后运行此时是没有点击效果的,需要再次重新写符合开发者需求的drawable。按下动画问题解决:把Button外面...原创 2018-04-16 17:49:11 · 1276 阅读 · 0 评论 -
Android绘制基础概述
主要是记录与尽量简短的描述这些方法是对视图的作用是什么。ondraw方法/** * 画布 * @param canvas */ @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //画笔 Paint paint =...原创 2018-04-16 19:20:16 · 161 阅读 · 0 评论 -
在xml中设置视图的自定义属性。
在xml中写出自定义的属性值方法。实例:在xml中给自定义布局写出自定义属性的值。<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" ...原创 2018-04-16 19:26:13 · 490 阅读 · 0 评论 -
AIDL简述与实现
AIDL(Android Interface Define Language),是android的一种接口定义语言,类似于IDL。借助它,你可以定义接口,使得客户端和服务端之间实现进程间通信。对android来说, 一个进程无法通过正常的方法来访问另一个进程的内存空间。可以说,他们需要把对象分解成操作系统可以理解的原子类型,然后使对象突破限制在不同进程之间进行传输。具体实现这种机制的代码写起来非常...原创 2018-04-18 17:09:27 · 413 阅读 · 0 评论 -
安装android系统应用与使用mk编译时需要注意的点
编译mk文件,注意点:1.使用mk可以指定java与res文件夹去编译成apk。手动添加依赖第三方库,动态库等。选择是否混淆签名等。 2.系统应用安装时,注意mk配置与sharedUserId的数值。 3.当使用第三方安装了apk后,再安装系统应用,如果包名相同,通过命令 am start -n com.base.module.grandstream.xxxxx/.Xxx...原创 2018-08-24 11:22:29 · 442 阅读 · 0 评论 -
Ubuntu16.04编译android6.0.1和repo upload填坑
旨在帮助解决不小心升级Ubuntu 16.04的同学所遇到的源码编译和repo upload问题,亲身踩坑,辛酸泪欢迎补充... 问题一: android 6.0.1无法编译通过1. 安装openjdk 7 (Ubuntu 16.04已经默认去掉openjdk 7的源了)sudo add-apt-repository ppa:openjdk-r/ppasudo apt-get ...原创 2018-09-03 16:02:45 · 497 阅读 · 0 评论 -
Fragment重叠问题二(解决方案)
解决方案:上一篇文章的分析中我们知道了发生Fragment重叠的根本原因在于FragmentState没有保存Fragment的显示状态,即mHidden,导致页面重启后,该值为默认的false,即show状态,所以导致了Fragment的重叠。根据这个原因,我想到我们手动维护一个mSupportHidden.看下面的基类Fragment代码:1public class BaseFragm原创 2018-01-12 14:48:45 · 408 阅读 · 0 评论 -
关于布局问题与图片剪裁问题
1.布局问题。为了适配华为手机的虚拟键盘,切记,当虚拟键盘上顶时,整个的布局都会被顶上去,这个时候注意显示文字的视图位置,如果显示文字的的视图与其顶部的距离设置的有问题,便会导致部分文字显示不清。2.图片剪裁问题。关于打开相机相册,这里就不提了,有许多链接都是相同的,但是在剪裁图片的时候我遇到了一个问题。之前我使用的是方法一:private static void原创 2018-01-03 10:00:49 · 456 阅读 · 0 评论 -
XML的三种解析方式与JSON解析方式
**XML的三种原生解析方式DOM,SAX,PULL**DOM:内存消耗大 但是便于遍历.打开文档,将其转化为节点树,然后在其用循环的方式,遍历节点,一一查找.SAX:速度快,战内存少.但是文件结构信息会丢失,采用的是流的处理方式.从起始标签开始一一往下逐个查找.起始标签与结尾标签作为标记来将一组数据存入一个集合中,想水流一样一直到最尾,然后最后返回集合,集合中就存下了所有的数据(这也应该就是所谓的原创 2016-10-12 18:56:39 · 1264 阅读 · 0 评论 -
11-14网络图片加载的基础思路流程
一:图片大小的问题 将图片处理压缩 当加载图片的时候 可以先通过BitmapFactory.option取出bitmap的宽高 但不取出bitmap的值 通过设定 BitmapFactory.option的inJustDecodeBounds = true; 来选择是否取得bitmap的值 来控制 然后再通过这个宽高跟 我们所想要的宽高进行对比 我们想要的 然后 这样就属于加载图片的时原创 2016-11-17 10:06:05 · 302 阅读 · 0 评论 -
Fragment
fragment解析推荐博客http://blog.csdn.net/lmj623565791/article/details/37970961以下是我随笔记下的 实现的几种方法: fragment,FrameLayout是两个不同的标签 一个是容器 一个是对象 FramLayout是在xml创建一个framLayout标签,然后通过java代码中 FragmentManager frag原创 2016-10-14 21:04:05 · 290 阅读 · 0 评论 -
11-16Vollery网络加载跟优化
先说Volley简单的http通讯流程加载 1会先设定一个 请求队列 RequestQueue对象, 通过Volley.newRequestQueue的形式来获取 2-1然后来创建 Request对象每个请求的详情StringRequest 分三个参数,跟四个参数 2.1三个参数分别是String url,listener<String>,ErrorListener; 2.2原创 2016-11-17 10:08:51 · 394 阅读 · 0 评论 -
Androidstudio上传版本库注意事项
Androidstudio是用gradle来构建项目的,有很多的文件都不需要增加到svn/git版本库。以下为列出不需要增加到版本库的文件:1 .idea 文件夹,此文件夹是用来保存开发工具的设置信息。2 .gradle文件夹,此文件夹是用来保存gradle的依赖信息。3 build 文件夹,build文件夹是用来保存编译后的文件目录。4 .iml 文件,是原创 2017-07-19 19:06:12 · 220 阅读 · 0 评论 -
gradle加载慢与无法加载的问题
11.1 gradle编译时间过长 distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip这个属性你的本地并没有,会下载编译很久. 1.2在build.gradle中你的budil gradle tool 的版本更不上你本地的 于是原创 2017-07-06 11:14:08 · 966 阅读 · 0 评论 -
安装apk手机上显示两个图标
安装apk手机上显示两个图标 这个的本质原因是、也就是 在manifests有两个 <action android:name="android.intent.action.MAIN" /> 启动配置,所以运行之后会有两个图标出先。接下来是重点情景!!!!!!!!!!!!!!重点情景!!!!!!!!!!!!!!重点情景!!!!!原创 2017-07-20 18:21:51 · 1613 阅读 · 0 评论 -
PagerAdapter使用notifyDataSetChanged 但是视图并为改变的原因。
viewPager类或者子类 使用notifyDataSetChanged 但是有时数据并为改变的原因。class ViewAdapter extends PagerAdapter{ private List list; ViewAdapter(List list){ this.list = list; } //返回view视图的数目原创 2017-07-17 19:17:53 · 802 阅读 · 0 评论 -
Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'
类似如图的这种错误,大多都是属于引用第三方的lib与本地的Lib中有重复的文件。 例如在这我张图中的情况就属于,我在第三方与本地lib中Banse64Decoder重复文件,导致的错误。我最早的时候碰到的错误是两个其中一个是: Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包),然后我各种测原创 2017-07-24 10:55:40 · 12617 阅读 · 0 评论 -
11-15图片框架使用注意与RecyclerView
1图片加载优化核心 大致由11-14中提到的使用在网络上流行着大量的由大家封装写成的网络加载框架 其中老牌的UniversalImageLoader曾经很流行到现在也不错还有主流的Volley, Picasso, Fresco,Glida1.Fresco 是由facebook公司开发的 一个大型网络加载框架,非常好用,也非常推荐,但是由于其特性是所谓的“大型” 所以说在处理大量图片时当然使很好的原创 2016-11-17 10:08:06 · 271 阅读 · 0 评论 -
Android下载图片 同一地址资源不改变问题
在Android项目中,图片下载是经常的事情。这里写一个萌新博主碰到的坑,就是关于同一地址资源改变的问题。如果是直接使用的图片加载框架,在这个地方一定会碰到,地址的资源变了,但是大家下载下来的图片并没有改变。稍微一想大家就可以知道是因为框架中将这个图片地址给缓存了,然后并没有去再次加载图片地址里面最新的资源,而是采用了之前缓存下的资源,所以图片没有显示最新的。在这里博主之前最早使用的是原创 2017-08-17 14:33:57 · 386 阅读 · 0 评论 -
10-9复习笔记sqlite
各种数据编码格式大多为UTF-8 一般都是自己调SQLite 有五种支持的数据存储类型 null integer real(浮点型) text blob(二进制数据) sqlite3 还可以使用int,varchar(),char()等integer primary key主键每个字段间需要逗号分开 最后一个字段不需要任何符号结尾DDL data definition language 数据定原创 2016-11-17 10:04:30 · 216 阅读 · 0 评论 -
Android 安装应用时显示 提示应用已安装请卸载问题
环境:魅族MX5,5.1版本问题:开发app真机调试后,先正常卸载 app-debug-unaligned,然后安装签名版本的release-app会提示替换xxx版本,按确定后提示不兼容,结果安装失败。分析:已经先卸载再安装,按道理应该不会提示替换xxx,估计卸载不干净,在某些地方留了信息,估计是魅族内置的软件应用管理卸载问题。解决:1.在系统设置-指纹和安全-Root权限设定r原创 2017-09-14 16:03:22 · 6411 阅读 · 0 评论 -
父布局与子布局控件的实现响应点击事件冲突问题。
布局类:一:以RelativeLayout为例1,在代码中加入如下红色代码,不然会被包含在其中的控件把焦点抢占,此时子控件无需设置clickable和focuseable android:id="@+id/relativeLayout" android:layout_height="wrap_content原创 2017-10-19 14:09:11 · 6744 阅读 · 0 评论 -
Dialog中使用了TextView,但是发现内容一直显示不全
在自定义Dialog中使用了TextView,但是发现内容一直显示不全的问题,代码完全没有问题。经过测试后发现了解决方法,就是在自定义的Dialog中使用TextView组件时,设置Android:layout_width不能使用wrap_content,如:android:id="@+id/tv_dialog_info"android:layout_width="wrap_content"and...原创 2018-10-09 20:24:00 · 1334 阅读 · 0 评论