- 博客(49)
- 资源 (2)
- 收藏
- 关注
原创 在使用DataBinding中遇到的一个奇葩的 java.lang.NullPointerException问题
参考文章1、官方文章,使用chrome的翻译功能阅读还是比较流畅的 2、国内翻译按照官方文章第一步,android { ** dataBinding { enabled = true }}这几行代码刚写完,build的时候就报了空指针异常,这时使用控制台指令gradlew.bat assembleDebug --stacktrace执行完以后发现是解析layout文件的时候出现
2017-02-16 16:02:04 2794 1
转载 千万不要在Android的Application对象中缓存数据!
前言 在你的App中的很多地方都需要使用到数据信息,它可能是一个session token,一次费时计算的结果等等,通常为了避免Activity之间传递数据的开销,会将这些数据通过持久化来存储。 有人建议将这些数据放在Application对象中方便所有的Activity访问,这个解决方案简单、优雅并且是……完全错误的。 你如果你将数据缓存到Application对象中,那么有可能你的程序最终
2016-04-10 10:02:46 3685
原创 android studio 使用checkstyle全攻略
首先你需要了解什么是代码规范,为什么需要这样当你看完这篇文章,咱们接下来就该学习怎么配置checkstyle步骤:1.https://github.com/android/platform_development/blob/master/ide/intellij/codestyles/AndroidStyle.xml2.将AndroidStyle.xml复制到~/.AndroidStudio/con
2016-03-28 18:06:37 9119 1
原创 Android 透明(沉浸)状态栏 各个版本的完全解决方案
偶尔有一天在浏览别人的程序的时候发现,这种透明的状态栏,发现这种效果很不错,给人地体验非常的酷炫,因此我就开始研究这个东西。在研究的过程中发现这个东西在android4.4的时候就有了是另一种样式,如下是一个渐变色 但是我还是喜欢整体全部是一个颜色,在5.0以后的版本非常好实现,就是在style文件的内容,是用来控制Theme的,让主题颜色和状态栏颜色保持一致<style name="AppB
2016-01-14 18:53:11 711
翻译 android switch 的终极解决方案
“样式”在不同的Android版本控制是一个史诗般的屁股痛。在把我的头发拉出几天后,在一个非常严格的设计约束的项目上,我终于断了,写了一个测试应用程序,然后真正挖出来,并测试了各种解决方案,有样式的开关和复选框,因为当一个设计有一个它经常有另一个。这是我发现的…第一:你不能真正样式其中任何一个,但你可以将主题应用到所有的人,或只是其中之一。第二:您可以将所有的XML做到这一点,你并不需要第二个值-V
2017-01-09 17:21:49 3215
原创 怎样解决问题"Plugin with id 'com.android.library' not found."
网上找了很多方法,但是感觉都不太对最后自己找到了一个解决方法在android Studio中Android展示项目结构然后打开你项目名称对应的build.gradle把以下代码复制进去(如果找不到这个文件,就是用Project Files结构打开,在项目名称对应下的文件夹下面添加build.gradle这个文件,把以下代码复制进去)// Top-level build file where you
2016-10-12 10:40:12 15149 2
原创 Android 本地化、多语言
下面链接是google官方对本地化的方案 https://developer.android.com/distribute/tools/localization-checklist.html?hl=zh-cn下面说一些我在进行本地化中得出的我认为最佳的解决方案可能一说到本地化或者多语言,大家第一时间想到的就是,增加一个values对应语言编码的文件夹,其中包含string.xml中包含各个标签对应
2016-10-11 15:31:47 3474
原创 关于android 屏幕适配的一点心得
这一段为一些智能设备写app,总算是真正见识到了android的屏幕碎片化,原来给手机写一直没什么感觉,用设计图做一套,然后使用dp加上weight来做适配基本已经够用了,一套尺寸足以走遍天下;但是把这种思路放到了智能设备上,简直了,根本没法用;不得已开始各种学习,其中包括适配的各个方面的知识,现在都能说上一二,中间还反编了一些大公司的app看看适配方案,最终总结了一套适配方案一、图片的适配方案
2016-08-17 12:08:35 440
转载 android多国语言文件夹文件汇总如下:
维吾尔文(中国):values-ug-rCN中文(中国):values-zh-rCN中文(台湾):values-zh-rTW中文(香港):values-zh-rHK英语(美国):values-en-rUS英语(英国):values-en-rGB英文(澳大利亚):values-en-rAU英文(加拿大):values-en-rCA英文(爱尔兰):values-en-rIE英文(印度):values-e
2016-08-02 15:28:00 620
转载 Android杂谈————Menu的用法
转载 author:conowen@大钟http://blog.csdn.net/conowen/article/details/72932641、Android的Menu简介Android系统的Menu主要有三种,OptionsMenu、ContextMenu、SubMenu。Android手机一般都以一个Menu键,当按下Menu键时,每个activity都会相应这一事件。menu选项从左到右,
2016-07-20 11:05:13 461
原创 Android杂谈————软键盘、背景透明、粘贴板
● SoftInputModes用户在输入框输入时,软键盘会跳出来,这时软键盘可能挡住了输入框。怎么办嗯?Android的WindowManager.LayoutParams提供了四个常量设置:SOFT_INPUT_ADJUST_NOTHING: 不调整(输入法完全直接覆盖住,未开放此参数)SOFT_INPUT_ADJUST_PAN: 把整个La
2016-07-19 17:02:28 1696
原创 Java本地时间与GMT时间的转换
格林尼治标准时间(GMT) 由来 由于地球轨道并非圆形,其运行速度又随着地球与太阳之间的距离改变而出现变化,因此视太阳时欠缺均匀性。视太阳日的长度同时亦受到地球自转轴相对轨道面的倾斜度所影响。为了要纠正上述的不均匀性,天文学家计算出地球非圆形轨迹与极轴倾斜对视太阳时的效应。平太阳时就是指经修订后的视太阳时。在格林尼治子午线上的平太阳时称为世界时(UT0),又叫格林尼治平时(GMT)。 北京
2016-05-18 18:22:16 16558
原创 改变android程序字体
这几天没事研究了一下android字体,如果想改变一下的可以玩玩 首先引用了一个开源库用于改变字体 但是我比较了不少,发现应用端还是使用roboto的字体比较好看,因此下面给出样式,并且给出字体包 下载地址
2016-05-05 10:33:42 393
转载 Android系统字体规范与应用探索
Android系统字体规范与应用探索我们在做Android移动APP设计的时候,字号的选择也是很让人头疼,今天整理了一份有关Android系统字体规范,主要从以下几个方面:移动设计中与字号有关的基本概念px:Pixels即像素,基本原色素及其灰度的基本编码。 DPI:dots per inch,是印刷上的记量单位,意思是每个英寸上,所能印刷的网点数。 PPI:pixels per inch 数
2016-05-04 15:24:25 457
转载 初识精度运算类型BigDecimal —— 1
一、简介 Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。BigDecimal所创建的是对象,我们不能使用传统的+、-、
2016-04-27 09:53:15 2281
转载 android 进阶--使用adb命令行
在你的\sdk\platform-tools 目录下有adb.exe cd到这个目录下 然后可以进行adb操作 或者设置环境变量 我的电脑->属性->高级系统设置->环境变量->path编辑将上面那个目录复制到里面 或者管理员身份打开cmd在其中 setpath=上面的路径 试一试adb看看出没出来他的使用方法在模拟器中安装apk 1. 启动和关闭ADB服务(adb start-s
2016-04-18 16:34:27 392
转载 android AIDL学习记录
AIDL的作用 由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象。在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需要将对象分解成操作系统可以理解的基本单元,并且有序的通过进程边界。 通过代码来实现这个数据传输过程是冗长乏味的,Android提供了AIDL工具来处理这项工作。AIDL
2016-04-18 11:20:51 242
原创 当EditText的Gravity设置为right时, 如何让光标出现在Hint内容的右边
我真是上网找了好久,终于发现这个的解决方法加上这一行就行,虽然我也不知道为什么,但是事实上解决了我的问题 android:textCursorDrawable="@null"
2016-04-10 16:37:24 5586 2
原创 社会化分享 By友盟
这两天项目需要使用社会化分享(实际上考虑的半天发现只有微信分享有市场,但是害怕项目经理再临时出需求,还是采用第三方的平台吧),一开始就直接采用了shareSDK做社会化分享,很多人都推荐这个;不过ShareSDK也确实在这块干了很长时间,各种配置也都非常简洁,官方文档写的很详细。 但是,使用过程中,还是出现了各种问题。 1、配置的地方太多,导致有时候发现配置出错找不到地方修改 2、jar包太大
2016-03-30 18:39:48 492
原创 关于ADB打不开的综合解决方案
1、肯定是adb被占用了一种常见的解决方法是:找出占用5037端口的程序,然后杀掉它。使用:netstat -aon | findstr 5037 来找到占用5037的进程ID。使用:kill -f pid 去杀掉它们。(或者在任务管理器 -进程中,结束进程。PS:需要事先在 windows任务管理器-查看-选择列,勾选PID)这个方法并不是最优解。2.修改adb端口号自己配置 adb server
2016-03-30 09:58:44 15106
原创 ViewHolder简洁写法,避免适配器中重复定义ViewHolder,减少代码量
import android.util.SparseArray;import android.view.View;@SuppressWarnings({ "unchecked" })public class ViewFindUtils{ /** * ViewHolder简洁写法,避免适配器中重复定义ViewHolder,减少代码量 用法: * * <pr
2016-02-29 10:15:56 513
原创 给TextView中的部分文字变色和添加点击
只给textview设置字体颜色CharSequence str=getText("你说啥呢");SpannableString spannableString1 = new SpannableString(str);spannableString1.setSpan(new ForegroundColorSpan(Color.RED),str.length()-3, str.length(),S
2016-02-18 11:24:02 731
转载 android M权限问题
Android6.0带来了新的权限管理方式,本文主要来源于官方文档,加入了自己的理解,目的是想总结Android6.0权限管理的新方式,其他部分可能主要是总结式的带过,后续再详细分析。一.Security Architecture(安全体系结构)Android安全体系结构的核心是:默认情况下没有任何应用有权限去执行对其他应用、操作系统、用户有不利影响的操作。这是一个核心的设计理念。记住这句话对后面的
2016-01-30 11:37:21 2197
原创 让Activity在Android5.0上全屏
View类提供了setSystemUiVisibility和getSystemUiVisibility方法,这两个方法实现对状态栏的动态显示或隐藏的操作,以及获取状态栏当前可见性。setSystemUiVisibility(int visibility)方法可传入的实参为:1. View.SYSTEM_UI_FLAG_VISIBLE:显示状态栏,Activity不全屏显示(恢复到有状态的正常情况)。
2016-01-22 18:06:49 2113
原创 走向Android5.0之toolbar,Snackbar
一直以来,都只是听说过actionbar这个东西,仅仅知道这是一个标题头,然而对我来说我可以花费点功夫自己写一个通用的标题头,基本上也可以满足一般项目的基本需求,所以我也懒得去研究那个东西。然而在android5.0中,google推出了toolbar这个东西并且添加了很多交互在里面,所以这个东西也是值得我们去学习一下的;今天我们就来看一看这个东西都是怎么使用的首先 在gradle中是需要引入下面
2016-01-21 15:48:48 1110
原创 Android5.0 材质设计(纸墨设计)中的z轴理念
android5.0 引入了Z轴的概念,于是就有着这种风格,也就是目前比较火的Material Design。android:elevation 设置该组件“浮”起来的高度,to难过过设置该属性可以让该组件呈现3D效果。android:translationZ 设置该组件在Z方向(垂直屏幕方向)上的位移。对应的Java方法:setElevation(float) setTranslatio
2016-01-13 16:35:14 1020
原创 一个基于MD风格的android对话框,代码兼容性很好,样式也非常简洁
下面先来几张图看看: 怎么样,看样式还是不错的吧,这是一个从github上找的一个项目 项目地址:https://github.com/drakeet/MaterialDialog写这个文章的主要目的首先是介绍这个项目,第二是把源代码拿出来分享,第三是介绍几种用法 先上源码package me.drakeet.materialdialog;import android.app.Aler
2016-01-13 15:57:02 3627
原创 Android5.0以上的项目都会有的按钮点击特效--水波纹
下面是点击的效果话说这种效果应该怎样实现呢,目前我是专门针对5.0以上系统建立一个文件夹drawable-v21,里面放置带有水波纹特效的点击效果: 写一个ripple标签,这个就是水波纹特效<?xml version="1.0" encoding="utf-8"?><ripple xmlns:android="http://schemas.android.com/apk/res/android
2016-01-06 14:09:40 4670
原创 AndroidStudio 成长之路之Theme Editor
在这里找到Theme Editor 主要的亮点 1、主题风格编辑(支持实时预览) 2、支持不同API的预览展示
2016-01-06 11:40:30 520
原创 android Tools命名空间
第一部分 Lint安卓开发中,在写布局代码的时候,ide可以看到布局的预览效果。但是有些效果则必须在运行之后才能看见,比如这种情况:TextView在xml中没有设置任何字符,而是在activity中设置了text。因此为了在ide中预览效果,你必须在xml中为TextView控件设置android:text属性<TextView android:id="@+id/text_main" an
2016-01-05 15:54:18 615
原创 利用GSON对json数据中的时间类型字符串进行处理,并且进行数据库查询
1、在今天的项目中服务器给了一个“2015-12-14T08:43:20.168”类型的时间格式串,我要对他进行识别并且存储到SQLite中,最后还要利用时间进行查询和排序。 2、接下来讲诉处理步骤 首先、对该类型格式串进行格式化为Date类型并存储到数据库 new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ss.sss")
2015-12-15 10:55:35 2259
原创 给Android Studio导入第三方库的方法
接下来会出现下方这个界面 点击最右面的按钮去选择将要导入的库,导入完成后会出现下方界面 修改module的名字为自己想要的就行,接下来就是一直点击完成了
2015-12-10 10:48:43 340
原创 Android 输入法汇总
一、结构public final class InputMethodManager extends Object Java.lang.Objectandroid.view.inputmethod.InputMethodManager 二、类概述 整个输入法框架(IMF)结构的核心API,应用程序之间进行调度和当前输入法交互。你可以用Context.getSystemService()取得这一接口
2015-11-23 14:21:24 636
原创 Android setText()异常
今天在写项目的时候,突然出现一个错误,而且报错的位置很奇怪,这个地方肯定不会有错。后来经过debug查找,发现是在另一个activity中的一行代码执行完毕报的错,在一个TextView的setText方法执行结束后程序崩溃,这里我给传的值是一个整形。我给其前面加个空字符串后,就成功解决这个问题了。
2015-11-16 09:44:22 1540
原创 android studio设置debug.keystore
在Gradle中引入如下代码://配置keystore签名signingConfigs { release { storeFile file("自己的keystore的路径") storePassword "xxxxxxxx" keyAlias "xxxxxx" keyPassword "xxxxxxxx" }}b
2015-10-27 21:53:19 2697
原创 WebView相关研究
public class MainActivity extends AppCompatActivity {private WebView webView;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.
2015-10-21 15:14:00 365
原创 android最新版sdk取消APP的通知栏
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);//去掉信息栏
2015-10-19 19:57:47 458
原创 Android Studio获取SHA1和MD5值的方法
1、首先按住 开始键+R,并输入cmd打开命令窗口。 2、输入cd .Android 3、keytool -v -list -keystore 自己的key文件路径 4、然后会出现这个界面 大家会看到输入密匙,而且发现无法输入 其实不是这样,实际上是已经输入了,但是屏幕上不会显示而已。 5、最后就是结果了
2015-10-19 12:11:47 464
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人