Android
文章平均质量分 59
York_Yu
唯有不断学习才能更上时代。
展开
-
Android Studio 处理Gradle更新慢的解决办法
本次更新电脑Windows 10 激活后安装所有软件并配置软件信息花不少时间,但是在安装Android Studio 后由于C盘格式化,gradle要重新下载,即使上了代理也下载很慢,故而找解决办法。方法一 通过Android Studio中的项目配置更改所使用的gradle 版本,修改为本机已经下载的gralde版本,这样就不用下载了。方法二 通过离线下载的办法复制到Andro原创 2017-12-30 11:04:42 · 991 阅读 · 0 评论 -
Android 之旅:Google 发布 Android 性能优化典范
文章转载自 开源中国社区 [http://www.oschina.net]转载地址:https://www.oschina.net/news/60157/android-performance-patterns 2015年伊始,Google发布了关于Android性能优化典范的专题, 一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的An转载 2017-04-18 14:29:28 · 388 阅读 · 0 评论 -
Android 获取 View 宽高的常用正确方式,避免为零
Android 获取 View 宽高的常用正确方式,避免为零相信有很多朋友都有过在 Activity 中通过 getWidth() 之类的方法获取 View 的宽高值,可能在 onCreate() 生命周期方法中,也可能在 onResume() 生命周期方法中。然而,不幸的是,并不能获取所要的结果,宽高值均为 0。如果对 View 的绘制显示流程熟悉的话,就会知道问题所在。我们知道转载 2017-04-05 10:21:49 · 566 阅读 · 0 评论 -
Android存储路径你了解多少?
跳转至转载地址在了解存储路径之前,先来看看Android QQ的文件管理界面,了解一下QQ的数据文件路径来源,到底是来源于什么地方? 手Q文件管理对应存储目录我的文件:是指放在QQ指定目录下的文件:/tencent/QQfile_recv/(顺便说一下微信的存储目录:/tencent/MicroMsg/Download/)手机内存:其实是内部存储的根目录,在ES文件浏览器对应的是根目录,路径为转载 2017-04-03 18:20:14 · 1458 阅读 · 0 评论 -
Android调试启动URL
节省Android调试时间Android调试时可以指定URL方式来测试指定的Activity的Filter是否起作用。调试方法如下图所示。 启动后结果中可以看到open with中的选项已经有效果,如此一来又节省了不少调试时间。原创 2017-04-03 18:26:48 · 1118 阅读 · 0 评论 -
Android 解决视图小而触发事件区域大的办法
起因使用TouchDelegate起因有时候要求的视图区域很小,但响应区域要求很大。一般解决办法很多,可以用一个透明的布局去回调响应事件,另外也可以采用Deletgate(代理事件),就是把响应区域的事件直接传递到指定的应该响应的view.使用TouchDelegate这个解决办法可以指定区域响应,若继承一个ViewGroup应该在onSizeChanged()中去实现。代码如下: /*原创 2017-03-26 18:59:37 · 926 阅读 · 0 评论 -
ConstraintLayout 的使用
介绍使用前配置重点内容1 介绍约束布局是Google官方推出新的布局解决方案,能够解决布局嵌套过深问题,同时还能够简化布局所需要的时间。之前在beta版本就使用了,使用中可能会报错的情况已经解决,而且还带来了ratio的设置,同时Studio升级到2.3后视图预览效果比较好。官方现在主推这个布局,新建的Activity都是ConstraintLayout默认了。 ConstraintLayo原创 2017-03-26 11:31:22 · 923 阅读 · 0 评论 -
Android学习书籍回顾
自己学Android开发还是从嵌入式比赛项目中除去上位机与下位机通信要完成的Android端的功能实现入门的。网络上的资源很丰富,而且还有许多的视频教程,跟着一步一步就能学习到。但是许多的资源不能成为体系,分享一些书籍,国内国外都有,最近Android更新太快了,这些书还是值得学习,不会有些例子可能需要更改一下,最多是gradle版本要自己去修改到最新的。书本里的内容相当不错,很多书的源码通过书的前原创 2017-04-10 11:39:17 · 609 阅读 · 0 评论 -
Android studio ADB 命令找不到解决办法
其实这个不算个问题,但总是容易忘记。主要就是把ADB 的路径加入到系统的path就能处理了。创建一个系统变量,这里就叫Android_Platform_Tools 对应的值输入你Android SDK 目录下的platform-tools目录。 然后编译系统变量下的Path,加入%Android_Platform_Tools%到变量值就可以了,注意要重启下Android Studio才能生效,CM原创 2017-04-10 16:11:14 · 26733 阅读 · 3 评论 -
Android Ripple Effect
Recently, I have some need to add ripple effect which was introduced following Material Design into a button that already has background. The background is a selector. And I’ve found two solution.1. Us原创 2017-03-31 13:31:37 · 1326 阅读 · 0 评论 -
理解SQLite的存储格式
SQLite由于其体积小,可方便移植,因此被广泛用于嵌入式及移动开发领域。记得自己学习是MSSQL,理论性很强,上下本两书好像学了一年。目前工作要做的是更向工业界看齐,从SQLite Official Website上看了看,再回顾之前看的O’really 那本原版介绍的书。算是再次复习SQLite的存储类型。原创 2017-03-31 11:35:31 · 3175 阅读 · 0 评论 -
Android安全输入设计与思考
我不会顾忌别人怎么看,或者顾忌到放弃什么东西。我喜欢两句诗“天生我才必有用,千金散尽还复来”。当年离开方正,也是这样仰天大笑出门去……——周鸿祎 随着移动支付的快速普及,如何保障用户信息安全这个问题变得越来越重要。 本文对市面上的Android安全键盘进行了总结,详细分析了为什么采用安全键盘,怎么样实现安全键盘等问题。以及各个产品线使用的安全键盘有何优劣点。转载 2017-04-09 23:06:37 · 1341 阅读 · 1 评论 -
Android Studio Modify File Header
Some times we need to modify file header as to add more detail or styled info in each class or file we created.In order to add the created file date and time, author name and project name, we can chang原创 2017-04-06 10:29:20 · 2223 阅读 · 0 评论 -
Android L(5.0) Activity Transition 共享元素跳转无效解决
介绍Android L中引入的共享元素转场很好,但一般情况下由list到详情页中的共享元素比如是ImageView,PhotoView等需要网络加载的图片时,可能跳转到详情页面就没有效果,国内找好没有这方面文章,今天google一上午解决了。就是转场开始的Activity需要延时。描述这里用A,B代表两个Activity,Activity可以包含Fragment,都是可以实现。 解决的就是A->B原创 2017-04-18 14:02:55 · 3880 阅读 · 0 评论 -
Android ConstraintLayout
ConstraintLayout配合Android Studio 2.3版本使用ConstraintLayout即可以节省时间,同时也可以解决复杂布局马嵌套过深引起的性能问题。那么看一看Android Studio2.3工具给带来的方便性,一些常用的align,chain等方式简单通过这些工具就可以解决。原创 2017-04-19 14:21:20 · 597 阅读 · 0 评论 -
Kotlin in Action Review Points
Charpter4Interfaces in Kotlin are similar to Java’s but can contain default implementations and properties.All declarations are final and public by default.To make a declaration no-final, mark it as原创 2017-07-31 11:17:27 · 486 阅读 · 0 评论 -
RecyclerView Item 布局宽高无效问题探究
转载地址:http://www.jianshu.com/p/9a6db88b8ad3前言这个问题很早之前就碰到过,后来通过google找到了解决办法,也就没有去管它了,直到最近有朋友问到这个问题,感觉很熟悉却又说不出具体原因,因此,就想通过源码分析一下。顺便做个总结,避免以后出现类似的问题。 问题复现为什么发现了这个问题呢?是当时要写一个列表,列表本来很简单,一行显示一个文本,实现起来也很容易,一转载 2017-07-31 09:39:49 · 970 阅读 · 0 评论 -
Android 清理backstack
在一些情况下可能并不需要在Low Memory时保存backstack以免在Restore时会影响onCreate中的Fragment的创建。所以必须在onSaveInstanceState中消除栈。Method oneFragmentManager fm = getActivity().getSupportFragmentManager();for(int i = 0; i < fm.getBa原创 2017-07-20 14:48:32 · 761 阅读 · 0 评论 -
Android NestedScrolling 解析
产生原因由于在Android上进行滑动的控件在手机性能越来越好的情况下,人们已经习惯于常用的手势进行操作,出现许多控件滑动时需要去协调同一个界面的滑动的情况。例如在同一个方向内外(上下)的嵌套,不同方向(上下与左右方向)的嵌套等。解决这类嵌套可以通过Android开发艺术书上讲的内部拦截法和外部拦截法去解决,但是,在处理多个View的协调时使用外部拦截法,特别是一些第三方库,在使用时就必须去修改源码原创 2017-04-25 17:34:56 · 7770 阅读 · 0 评论 -
Android与JS调用
相互调用assets下的html定义JScriptInterface定义JS语句执行JS相互调用相互调用指JS调用Android的资源,同时Android也可以调用JS,当然整个HTML元素都是可以取的,只是一般Android调用JS执行函数最为常见。使用一个例子作为回顾,基本上最为简单了,没有用到JSBridge之类的库。对于Android 4.4 以上的版本呢需要在声明Javascrip原创 2017-03-26 22:23:53 · 561 阅读 · 0 评论 -
记录一次关于Activity与Fragment生命周期引起的异常
在Activity和Frgment生命周期中对于数据保存应该是大部分都能保存的,像按Home返回到后台,再切换回来后应该不会出大问题的,但一次内存过底把保存的Activity给Destroy后引起了错误,具体是Activity里Fragment A里有一个Fragment B, Fragment B 按理是在A的onCreate里进行网络请求后异步创建,那么Activity销毁后走OnCreate应原创 2017-05-23 17:30:34 · 1918 阅读 · 0 评论 -
Andoid Layer-list Drawable
Level List简介下面是官方Drawable下的介绍 A Drawable that manages a number of alternate Drawables, each assigned a maximum numerical value. Setting the level value of the drawable with setLevel() loads the drawa原创 2017-04-17 15:02:48 · 718 阅读 · 0 评论 -
Retrofit 2 动态URL
问题使用Retrofit2一般都是针对于一baseURL,其它接口都是拼接不同的参数如get/photo,search?name=xiaohong&&sex=female,这样的形式。但是一些请求此时又要访问不同的url只能重新生成一个Retrofit2实例,实质上还有一种形式去处理,就是使用@url注解。解决方案public interface UserService { @GET原创 2017-04-20 16:55:11 · 13728 阅读 · 0 评论 -
RxJava 1 到RxJava2
RxJava2 目前已经在国外一些应用使用上,国内应用也有部分用于生产环境,是时候考虑切换到RxJava2。RxJava2主要是解决了Backpressure, 设计符合Reactive-Streams规范,以及其它一些更新。RxJava 1.X升级RxJava 2.X部分变更 描述 RxJava 1.X RxJava 2.X package包名 rx.xxx io.react原创 2017-04-20 16:40:07 · 1523 阅读 · 4 评论 -
RecyclerView ItemDecoration 学习
本次因为一直在用RecyclerView LinearLayoutManager对应的decoration,目前处理GridLayout时由于要处理左右侧的item的边距和蹭的Item边距不同,就回顾一下RecyclerView 对ItemDecoration的学习。由于不是ListView和GridView,RecyclerView把这个称为Item的装饰,所以分隔线的处理就交给ItemDecor原创 2017-04-13 17:17:01 · 595 阅读 · 0 评论 -
Android 内存泄露与解决方案
内存泄露Java内存泄漏指的是进程中某些对象(垃圾对象)已经没有使用价值了,但是它们却可以直接或间接地引用到gc roots导致无法被GC回收。无用的对象占据着内存空间,使得实际可使用内存变小,形象地说法就是内存泄漏了。下面分析一些可能导致内存泄漏的情景。非静态内部类的静态实例容易造成内存泄漏activity使用静态成员handler 非静态注册某个对象后未反注册资源对象没关闭造成的内存泄原创 2017-04-20 11:50:41 · 496 阅读 · 0 评论 -
Android 性能:避免在Android上使用ENUM
Android 性能:避免在Android上使用ENUM# ENUM是什么,为什么使用它`Enum`是Java中包含固定常量的数据类型。当需要使用预先定制的几个值,这几个值表示一些数据类,这时我们可以用`ENUM`。在一些可能的值中取一个值时很适合用`Enums`。例如:翻译 2017-04-08 23:24:34 · 5068 阅读 · 1 评论 -
URI学习
URI和URL的区别 JAVA DOC URI wikipedia uri原创 2017-04-08 22:43:20 · 644 阅读 · 0 评论 -
Andndroid:ListView缓存机制及BaseAdapter
listview和gridView的显示和缓存机制三种方式大家都知道listview的格式是一定的 而数据源确是多重多样的 这时候 就需要一种适配器来把数据源转换成listview要显示的格式 baseAdapter就诞生了。listview和gridView的显示和缓存机制 大家都知道屏幕的大小是有限的 可是listview中的数据却可能很多 所以手机不能一下子展示所有的数据 它只会加载屏幕原创 2016-02-28 08:45:44 · 561 阅读 · 0 评论 -
Notification 与状态栏信息
Notification与Toast都可以起到通知、提醒的作用。但它们的实现原理和表现形式却完全不一样。Toast其实相当于一个组件(Widget)。有些类似于没有按钮的对话 框。而Notification是显示在屏幕上方状态栏中的信息。还有就是Notification需要用NotificationManager来管理,而Toast只需要简单地创建Toast对象即可。原创 2015-03-02 10:25:39 · 575 阅读 · 0 评论 -
如何在Eclipse中Android Private Library中关联源码
Eclipse升级基于新的安全机制,在Android Private Libraries中已经没有办法添加源码了。但开发过种中很多时候是需要关联源码,不然生成一些代码就是arg0这样的情况,所以总结一下解决方案。1. 使用低版本Eclipse低版本不存在这个问题,有朋友说使用MyEclipse可以解决,但我本人没有使用过,喜欢使用MyEclipse的朋友可以尝试一下。2.加入XXX.jar.prop原创 2016-03-12 09:21:04 · 2315 阅读 · 0 评论 -
Android Studio 下使用自定义属性注意点
1.Eclipse 下使用自定义属性先要在res 下的value目录下生成attr.xml中定义自己的属性,例如下面<?xml version="1.0" encoding="utf-8"?><resources> <!--引入自定义属性--> <declare-styleable name="SwitchToggleView"> <!--滑动开关背景图片属性-原创 2016-03-09 21:23:35 · 3232 阅读 · 0 评论 -
Android proguard for Gson
ProblemGSON混淆后执行错误 java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap cannot be cast toSolutionI read from gson source through https://github.com/google/gson/blob/master/examples/andr原创 2016-03-30 08:04:18 · 982 阅读 · 0 评论 -
Android 中通过Message进行IPC 解析
一、概述说到Android进程间通信,大家肯定能想到的是编写aidl文件,然后通过aapt生成的类方便的完成服务端,以及客户端代码的编写。如果你对这个过程不熟悉,可以查看Android aidl Binder框架浅析;当然今天要说的通信方式肯定不是通过编写aidl文件的方式,那么有请今天的主角:Messenger。ok,这是什么样的一个类呢?我们看下注释 This allows for the原创 2016-03-05 20:28:52 · 606 阅读 · 0 评论 -
解决 RecyclerView 在Android Studio已经导入情况下还无法实例引用问题
系统:Windows 10 IDE::android studio1. 问题:RecyclerView 在Android Studio已经导入情况下还无法实例引用问题由于RecyclerView是在v7下的support包中的,经常用到,以前项目使用都没有问题。但这次已经在depence加入了相应的库却不成功。无法引用到,用到的import android.support.v7.widget.Gr原创 2016-02-03 21:44:24 · 7121 阅读 · 2 评论 -
Eclipse对Android项目导入、导出、修改工程名详解
1、如果导出的是Android源码,而不是一个含有.project工程文件的项目,如何对该项目进行导入? 通过“File–>Import–>Android–>Existing Android Code Into Workspace”进行导入; 2、通过“File–>Import–>Android–>Existing Android Code Into Workspace”进行导入的工程是如何转载 2016-03-03 21:34:35 · 980 阅读 · 0 评论 -
Draw 9-patch
Nine-patchA NinePatchDrawable graphic is a stretchable bitmap image, which Android will automatically resize to accommodate the contents of the View in which you have placed it as the background. An ex转载 2016-03-01 23:20:00 · 560 阅读 · 0 评论 -
Android - JSON Parser Tutorial
Android provides four different classes to manipulate JSON data. These classes are JSONArray,JSONObject,JSONStringer and JSONTokenizer.{ "sys": { "country":"GB", "sunrise":138110原创 2016-01-31 20:16:53 · 1112 阅读 · 0 评论 -
Genymotion 2.6.0 with Google Service and ARM apps
如何安装和优化Genymotion 260 with android 44 51 60 with google appsGenymotion 2601. 前言为什么要安装这个呢?就是官方的Google Emulator是真的慢,而且安装了Intel 对google Anroid的优化HAXM也慢。还是比genymotion慢,而且HAXM针对是x86的android,所以有些软件根本安装不原创 2016-02-06 12:40:13 · 1481 阅读 · 0 评论 -
Android Studio 运行代码时device不能识别genymotion设备
相信网上关于下载安装配置genymotion的教程很多(下面的a,b,c,d步骤都可以参考百度搜索出来的教程轻松搞定),但还有关键的最后一步设置才能最终成功,不幸的是,很多教程都没有提到它。所以我就遇到了问题,现在已经解决,整理粗来,给伙伴们参考。我的问题:我已经a. 安装了genymotion,b. 安装了genymotion shell,c. 安装了oracal VM VirtualBox,d.原创 2016-02-28 23:09:23 · 859 阅读 · 0 评论