Android
文章平均质量分 50
Android开发相关
黄元帅
努力做好一件事
展开
-
Android viewGoup.dispatchTouchEvent(ev)源码
Android viewGroup.dispathTouchEvent()源码翻译 2016-12-05 21:32:55 · 582 阅读 · 0 评论 -
Android studio 设置默认编码及一些设置
Android studio 设置默认编码及一些设置来源:http://ask.Android-studio.org/?/article/14界面设置默认的 Android Studio 为灰色界面,可以选择使用炫酷的黑色界面。 Settings –> Appearance –> Theme ,选择 Darcula 主题即可。 字体设置系统字体设置如果你的Android Studio界面中,中文转载 2017-03-28 18:15:48 · 5431 阅读 · 0 评论 -
Android Studio解决Java程序输出中文乱码
Android Studio解决Java程序输出中文乱码问题描述在使用Android Studio开发Java程序时,发现使用sys语句向控制台输出中文字符时,出现乱码,如下:解决办法经查阅资料,发现需要手动在build.gradle中添加代码需要添加如下代码: //新版 tasks.withType(JavaCompile) { options.encoding = "UTF-8"原创 2017-03-28 14:53:44 · 5326 阅读 · 3 评论 -
【图解】Windows环境下JDK安装与环境变量配置
【图解】Windows环境下JDK安装与环境变量配置下载JDK首先,我们去Oracle官网去下载最新的JDK(Java Development Kit) http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html安装JDK找到刚才下好的安装包,双击,老套路Next注意,这里需要注意一下jdk原创 2017-03-27 09:53:42 · 908 阅读 · 0 评论 -
FindBugs规则整理
FindBugs是基于Bug Patterns概念,查找javabytecode(.class文件)中的潜在bug,主要检查bytecode中的bug patterns,如NullPoint空指针检查、没有合理关闭资源、字符串相同判断错(==,而不是equals)等.转载 2017-03-23 10:52:25 · 1660 阅读 · 0 评论 -
Android Studio查找功能(搜索功能)及快捷键
Android Studio查找功能(搜索功能)及快捷键一、Edit中的查找1、在当前窗口查找文本【Ctrl+F】F3、方向键向下、回车都可以将焦点移动到下一个查找关键字出现位置 方向键向上、Shift+F3 都可以将焦点移动到上一个关键字出现位置2、在当前工程内查找文本【Ctrl+Shift+F】先会弹出一个对话框,直接点击【find】,开始在整个工程内查找该字符串 关于快捷键失效情况的解决办原创 2017-04-06 14:39:09 · 3214 阅读 · 0 评论 -
Android Studio全局搜索快捷键(Ctrl+Shift+F)失效的解决办法
AndroidStudio全局搜索快捷键(Ctrl+Shift+F)失效的解决办法焦点调整可能你的焦点在下面的一排调试窗里,这种情况将焦点调到主界面即可输入法冲突可能在不同输入法下系统缓存区对输入的”Ctrl+Shift+F”的识别不同,这种情况下可以将输入法切换成系统默认的状态”Shift+Ctrl’或’Ctrl+command’均可完。原创 2017-04-07 17:38:19 · 14418 阅读 · 1 评论 -
解决Android Studio下Android Device Monitor中Perspective列表不全的问题
解决Android Studio下Android Device Monitor中Perspective列表不全的问题这个问题其实困扰了我一天多,工作中要用到Hierarchy View这个Android Studio自带的布局分析工具。但是发现我可能按了一个假的Android Studio(2.2版本)效果如下:正常的应该是这样:考虑到可能的原因:1、SDK Tools下载不完整 2、菜单显示不全原创 2017-04-12 17:49:34 · 1205 阅读 · 0 评论 -
Windows如何配置Android的ADB环境变量
Windows如何配置Android的ADB环境变量1。查看自己Android Studio配置的sdk路径打开Android Studio后点击【File】->【Project Structure】,如图:这里我的sdk绝对路径是: “C:\Program Files(x86)\Android\sdk”2。配置环境变量右键【我的电脑】->【高级系统设置】->【环境变量】,新建变量【Android原创 2017-04-13 23:52:54 · 1469 阅读 · 0 评论 -
Android Studio格式化(Format)代码快捷键
Android Studio格式化(Format)代码快捷键今天写代码的时候,发现“{”、“}”往往需要人工去数来检验到底是哪端缺少括号,那么Android Studio中有没有快速整理代码,即格式化代码的快捷键呢?经查阅资料,发现:Windows下快捷键为:Ctrl+ALT+L注意,这个快捷键与Windows QQ的锁QQ快捷键是冲突的,解决方法可以是关掉QQ或者更改相应的快捷键。另,Mac下的快原创 2017-04-20 22:45:32 · 18321 阅读 · 0 评论 -
Android Studio轻松将零散字符串整理到strings.xml
零散字符串的定义直接暴露在代码中(在strings文件外)的字符串,影响之后的统一更改和国际化配置。零散字符串出现的位置布局文件我们知道,布局文件中的一些控件会经常设置默认text,所以这里可能会用到零散字符串,如下图:java代码文件除了布局文件外,我们常在java代码文件中动态去修改布局文件的内容,所以其中不可避免地出现零散字符串,如: mTvContent = (TextView)vie原创 2017-07-10 15:28:07 · 2996 阅读 · 0 评论 -
Android Studio技巧之自定义TODO
1、TODO简介TODO可以理解为Android Studio中注释的一种,是用来挖坑留给以后继续改善代码(填坑)的。而FIXME属于TODO的一个分支,用来强调被注释处代码存在优先级高的可修改。2、TODO的使用及常见形式如下图,我们可以在编译器中快速使用TODO标记一处代码:并且,在之后可以利用下面两种方式可以快速定位查阅待修改代码块:第一种:左下角TODO栏:第二种:View—Tool Win原创 2017-08-16 12:34:05 · 5101 阅读 · 0 评论 -
Android Studio下解决HierarchyView无法使用的问题
写这篇博客的主要目的是给大家提供一种解决办法,笔者的使用情境是这样:先用自带模拟器运行应用,然后打开Android Device Monitor,运行HierarchyView发现提示:查网上先有的解决办法,有的说是:使用root权限执行:adb kill-server adb start-server就可以恢复,然而笔者并没有发现这样做有什么用可能是问题并不相符或者是笔者没并没有设置root权限原创 2017-09-01 14:40:27 · 1808 阅读 · 0 评论 -
【3】Android项目目录结构
Android项目目录结构大致分为4个部分,如下图所示:1、Manifests 全局描述2、java 代码逻辑区3、res 资源区4、Gradle Scripts 构建这样对于初学者会有一个直观的体验。...原创 2018-12-27 00:18:44 · 332 阅读 · 0 评论 -
【4】Android UI组件层次结构
用数据结构中树的概念来解读会非常清晰,Android UI组件顶层是一个viewgroup,表示总容器。各分支的结点可能为view或viewgroup(可以抽离单独构成另一UI组件的总层次),其中根结点为viewgroup,除根以外的分支结点为view或者viewgroup,叶子结点只能为view。在之后的文章中会具体阐述view实例在布局中的层次。...原创 2019-01-05 17:38:11 · 1126 阅读 · 0 评论 -
Android:深度探究线性布局LinearLayout中权重(layout_weight)属性
在LinearLayout布局中,子控件对于父布局的分割显得尤为重要,在不考虑适配的情况,我们可以设置具体的高度和长度来分配。但这样对于不同尺寸的设备要分别进行绘测,另一方面这样做代码的可复用性也是相当低的所以,今天我们要介绍的是LiearLayout中的layout_weight属性,通过设置它可以按权重分割父布局(LinearLayout)在讲解之前,提前说明一个使用规则,即在垂直排列的Line原创 2017-08-30 15:02:11 · 10955 阅读 · 0 评论 -
【2】Gradle:“Hello World!”
既然搭建好了Gradle环境,那么就让我们来编写一个HelloWorld程序吧!首先新建一个名为【HelloWorld】的文件夹:然后利用文本编辑器新建一个名为【build.gradle】的文件,内容如下:然后在终端进入【HelloWorld】目录下,输入 gradle Hello:我们可以看到控制台成功输出“Hello World!”,接下来让我们解释一下这几行代码的具体含义 你可以通过 g原创 2017-09-05 10:54:08 · 691 阅读 · 0 评论 -
【1】Mac下搭建Gradle环境
1、下载GradleGradle下载地址:https://gradle.org/install2、配置环境打开命令行:Finder->应用程序->实用工具->终端0、创建.bash_profile文件输入touch .bash_profile1、打开.bash_profile文件输入open -e .bash_profile2、编辑.bash_profile文件在文档里输入:export GRADL原创 2017-09-03 23:58:58 · 1141 阅读 · 0 评论 -
Intent(信使)显式与隐式调用
Intent(信使)显式与隐式调用程序的3个核心组件——Activity、Service、BroadcastReceiver——是通过Intent传递消息的,本篇简单列举一下Intent在Activity间的显式和隐式的使用方法。原创 2017-03-17 13:55:41 · 1838 阅读 · 0 评论 -
利用Intent传值
那么,如果我们想要在不同的Activity之间传值,该如何操作呢? 让我们仔细考虑Intent中action和category的概念,当我们在页面A设置Intent的action及category时,其实可以将这两个属性当成要传递的数据。但我们总不能把想要传递的数据放到这两个属性里吧,别担心,Intent类有专门的方法解决这个问题。原创 2017-03-20 15:05:26 · 875 阅读 · 0 评论 -
【图解】Windows系统搭建Android开发环境
Windows系统搭建Android开发环境转载 2017-03-24 10:36:50 · 1270 阅读 · 0 评论 -
Android Studio运用adb查看当前使用的Activity类
Android Studio运用adb查看当前使用的Activity类这个问题是我在实习的时候遇到的,我来描述一下:领导分配了一个任务,要求更改一个具体页面的回调方法,我拿到项目代码后,发现代码文件大概有几百个,那么如何在这几百个文件中快速地锁定需要修改的代码文件呢?在AndroidManifest中找到启动Activity,然后根据业务界面去逐层寻找;如果之前的技术人员命名十分规范,也可以根据原创 2017-04-06 11:51:08 · 3746 阅读 · 0 评论 -
Android自定义按钮之圆角矩形
需要准备的知识Shape可以定义Android控件显示属性,即不同控件的设定形状,分别有矩形(rectangle)、椭圆(oval)、线(line)、圆环(ring)四种图形。其中可控的属性包括:corners(圆角)、gradient(渐变)、padding(间隔)、size(大小)、solid(填充)、stroke(描边)。开始圆矩如上图,比较重要的是corners属性,其中radius值的含义原创 2017-07-10 11:52:30 · 2890 阅读 · 0 评论 -
Android布局中动态修改TextView等控件中文字的颜色
在Android界面展示信息时,有时我们需要相近或相邻的文字显示不同的文本格式,这时该怎么办呢?我们有至少两种办法:添加多个控件在控件修改局部文本今天我们来谈一下如何在控件中修改局部文本。1、SpannableStringBuilder类我们要用到SpannableStringBuilder这个类,这是一个内容和标记都可以更改的文本类,它与SpannableString的关系类似于String原创 2017-08-07 17:10:25 · 4442 阅读 · 0 评论 -
详解Android布局中gravity与layout_gravity属性
在android布局中,我们经常会用到“重心”-gravity这个属性。但是gravity有不同的类型:gravitylayout_gravity相对布局中的layout_center等属性今天我们就来具体说说。1、gravitygravity属性是对控件自身内容对自己的限定,拿布局文件test.xml举例来说:此时在TextView中并没有对gravity属性进行操作,文字内容如上图。接下原创 2017-08-17 17:37:07 · 31036 阅读 · 1 评论 -
Android布局中margin与padding的区别
我们知道Android开发不仅仅有代码的动态控制,而且还涉及到布局的静态搭建(xml)。几乎在每一个xml文件中,我们总会看到margin和padding这两个属性,今天让我们初步探究一下它们之间的区别。首先为了便于说明,我们先画一个三层布局,如下图。这里布局的意思是广义的,泛指View等等。padding的含义在日常英语中,padding的含义为“垫料”,“衬料”等。在Android布局中,pad原创 2017-08-04 17:20:34 · 18586 阅读 · 6 评论 -
Android布局中为View(广义)设置边框
在之前的一篇Android布局中我们提到了如何为Button设置圆矩形样式:Android自定义按钮之圆角矩形那么对于其他控件,比如Linearlayout这种布局控件,我们如何设置自定义边框呢。我们从结果的角度分析,Android中大多数控件都是可以设置background,也即大多数控件都可以设置边框。另外,对于Android控件之间的关系和控件种类,在之后的博客中我会进行详细介绍。待续。原创 2017-08-13 14:41:33 · 1877 阅读 · 0 评论 -
Android中如何清除缓存
1、清除缓存涉及到的方法一般来说,比较常有且容易混淆的有下面这两组:getCacheDir()与getFilesDir()getExternalCacheDir()与getExternalCacheDir()先说短的:getCacheDir()方法获取的路径是/data/data//cache getFilesDir()方法获取的路径是/data/data//files再说长的:Androi原创 2017-08-13 16:05:00 · 3457 阅读 · 0 评论 -
Android获取App版本号及版本名
1、应用场景在界面显示App相关信息后台根据该App版本号和最新版的区别来决定是否更新2、具体步骤在Android中,应用程序的版本号是在AndroidManifest.xml文件中进行配置的,而PackageInfo类则封装了从该配置文件中获取的所有信息,描述了包内容的整体信息,因此,可以使用PackageInfo对象的versionName属性获取应用的版本号。3、代码实现//版本名原创 2017-08-13 16:43:42 · 2142 阅读 · 0 评论 -
Android应用关闭系统软键盘
应用场景用户进行输入操作后自动收回软键盘,提高用户体验代码实现public static void closeKeybord(EditText mEditText,Context mContext) { InputMethodManager imm = (InputMethodManager) mContext.getSystemService(Context.INPUT_MET原创 2017-08-13 17:23:11 · 1150 阅读 · 0 评论 -
【Android】由简至繁打造一种可记录字数的万金油EditText
1、最简版EditText在API 19版本下,拿一个最简单的EditText Demo 给大家看看效果:从体验的角度,这里至少暴露出下面几个问题:EditText边框及样式EditText默认长宽不限定EditText字数无及时提示前面两个问题可以通过静态修改来实现,而第三个问题则需要实时监听EditText来实现,下面给出具体的修改步骤,来打造我们的万金油EditText。2、改良版Ed原创 2017-08-22 17:50:34 · 903 阅读 · 0 评论 -
Android Studio出现错误: 编码UTF-8的不可映射字符
今天准备为以前的老项目添加一些新的功能,在用Android Studio导入项目后,出现了很多条这样的错误:File was loaded in the wrong encoding:‘UTF-8’以及:错误: 编码UTF-8的不可映射字符直接反馈是代码中的注释或者字符串会变成乱码,影响代码的阅读甚至是程序的运行(如下图)。下面给出解决方法:1、先点击右下角的UTF-8,选择一种...原创 2019-04-22 17:19:42 · 13447 阅读 · 5 评论