- 博客(72)
- 收藏
- 关注
原创 Android Studio检测不到新版本问题解决
Android Studio无法检测新版本问题解决大家都知道Android Studio可以直接在“Menu - Check for Updates…”自动检测并更新版本,还可以在弹出的检查框中点击”Updates”dialog设置更新的配置,如图:问题:但是今天发现个奇怪的现象:我目前的as版本为3.0.1,但是官方稳定版已经更新到3.1.4,点击Check for Update...
2018-08-09 15:48:18
1937
原创 App UI自动化测试之Mac环境安装appium
依赖环境:java✗ java -versionjava version "1.8.0_111"Java(TM) SE Runtime Environment (build 1.8.0_111-b14)Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)python$python --ve...
2018-07-13 19:14:19
1712
原创 python3解决pip升级到10.0.1之后会遇到的错误:module 'pip' has no attribute 'main'
错误:module ‘pip’ has no attribute ‘main’pip升级到10.0.1之后可能会出现这个错误。环境:pip version : 10.0.1python version : 3.6.4mac os : 10.12.6 错误出现路径还原:升级pip$python -m pip install pip --upgradeRequirem...
2018-07-11 19:01:04
2141
1
原创 git merge和git rebase区别笔记
初始场景: 基于正常的开发分支修改几个小bug,然后在合并到开发分支上。 git mergegit checkout featuregit merge hotfix或者git merge hotfix feature合并后的节点会按照commit时间顺序排列。 git merge操作会在当前分支上生成一个新的commit节点,并保留所有的操作历史节点,对问题的追溯很...
2018-02-24 15:38:07
2537
原创 Widows下TortoiseGit登录密码错误
整理之前的一个笔记,记录。TortoiseGit 2.3.0.0TortoiseGit登录密码错误,如下图,输入git的密码无法成功登录。原因是:TortoiseGit的登录密码和git是不一样的,TortoiseGit使用的是putty,因此需要使用git生成的秘钥进行转换。(1)生成ppk文件打开“puttygen.exe”(TortoiseGit\bin) -- Load -- 选择git...
2018-02-23 19:00:00
5619
1
转载 Android开发常用的gradle配置总结
如官网所说,Android Studio使用Gradle来自动化执行和管理构建流程,允许各种灵活配置参数。每个构建配置均可自行定义一组代码和资源,同时对所有应用版本共有的部分加以重复利用。Gradle独立于Android Studio运作,也就是说完全可以在没有as的环境下单独使用gradle构建运行安卓应用。一些构建运行的命令可参考官网。关于安卓开发常用的gradle配置如下:(注:
2017-07-17 15:25:41
3234
原创 解决Can not perform this action after onSaveInstanceState异常总结
上篇博客从源码层面分析了Can not perform this action after onSaveInstanceState异常产生的原因及流程,接下来分析下该崩溃的设计原因以及如何避。安卓为什么要抛出该异常呢?都知道系统在内存吃紧时会按规则优先kill掉部分非前台activity,为了保证用户体验,系统在kill掉某个activity之前会先调用onSaveInstanceSt
2017-07-07 15:59:21
16303
原创 Can not perform this action after onSaveInstanceState异常源码分析
Caused by: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState在使用fragment、dialogFragment等控件时可能会遇到以上异常。原因正如抛出的异常所说一样:不能在onSaveInstanceState之后执行该操作。
2017-07-07 15:58:32
3629
原创 Gradle version 2.2 is required错误解决
A problem occurred evaluating project ':app'.> Failed to apply plugin [id 'com.android.application'] > Gradle version 2.2 is required. Current version is 2.10.
2016-04-05 20:29:32
19275
原创 java final方法与java内联函数
《java编程思想》中讲到final方法时提到,使用final方法原因有两个, 一、锁定方法。防止任何继承类修改、覆盖 二、效率。在java早期实现中,如果将一个方法指明为final,就是同意编译器将针对该方法的调用都转化为内嵌调用。…..大概就是,如果是内嵌调用,虚拟机不再执,在最新java设计中,,,,,如果是内嵌调用,虚拟机不再执行正常的方法调用(参数压栈,跳转到方法处执行,再调回,处理栈参数,处理
2016-04-05 19:28:16
11223
原创 activity中onSaveInstanceState方法调用时机详解
onSaveInstanceState什么时候调用?onSaveInstanceState()的调用时机:在activity的一个生命周期中,onSaveInstanceState()并非一定调用。正如官网对该方法的解释所说:“This method is called before an activity may be killed so that when it com
2016-03-21 20:31:02
11247
原创 edittext常用总结;界面中有多个edittext,如何让默认第二个获取焦点
一个界面中多个edittext,默认第二个获取焦点(第三个、第四个同理)(1)默认第一个获取键盘焦点,因此需要将第一个edittext设置为focusableInTouchMode = false。这样第一个就不会默认获取焦点android:focusableInTouchMode="false"(2)触摸第一个edittext时,再将其focusableInTouchMode
2016-03-05 18:32:31
11138
原创 Activity之间使用intent传递大量数据带来问题总结
转载请注明:大飞 http://blog.csdn.net/rflyee/article/details/47441405Activity之间使用Parcel传递大量数据产生的问题。Activity之间通过intent传递大量数据,导致新Activity无法启动。Activity之间数据传递方式总结参考 这 里。比较常用的是直接利用intent传递,比如使用bundle,如下:Intent int...
2015-08-12 11:40:34
17487
6
原创 Activity之间传递数据的方式及常见问题总结
转载请注明:大飞 http://blog.csdn.net/rflyee/article/details/47431633Activity之间传递数据一般通过以下几种方式实现:1. 通过intent传递数据2. 通过Application3. 使用单例4. 静态成员变量。(可以考虑 WeakReferences)5. 持久化(sqlite、share preference、file等)一、通过in...
2015-08-12 11:39:04
16627
4
原创 动态语言、动态类型语言、静态类型语言、强类型语言、弱类型语言
关于如题这几个概念,大部分人应该比较熟悉,但是我昏了好久,所以写下来加深印象。1. 动态语言又叫动态编程语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如众所周知的ECMAScript(JavaScript)便是一个动态语言。除此之外如Ruby、Python等也都属于动态语言,而C、C++等语言则不属于动态语言。而其实我们平时说
2015-03-30 00:06:37
5473
原创 Android性能优化之LINT使用总结
实话啊,lint工具对于android应用开发中内存优化、性能优化、代码规范等有灰常灰常大的帮助作用。每个模块开发完成后,lint一下,有意想不到的收获。介绍:静态代码分析工具,无需运行,无需测试用例扫描整个项目,分析以下潜在的问题,分类指出问题描述、问题位置,并提供合理的修改建议(这是才是关键啊,不管有木有大问题,看看这些问题及描述,也能过把瘾啊):=
2015-01-26 22:21:35
3295
原创 华为部分真机调试无法显示log问题解决
真机测试时,部分华为手机无法获取全部的log信息。或者说无法获取Error以下级别的log信息。比如P7这是因为部分华为机出厂默认log设置为关闭状态,因此只能获取Error以上级别的log信息。蛋疼解决方案:1. 拨号界面输入:*#*#2846579#*#* 进入测试菜单选择界面。(一般手机都有,但不是全部,比如联想部分机型等)2. ProjectMenu – 后台设置 –
2014-11-02 20:50:09
8426
原创 Android EditText输入字数限制总结(包括中文输入内存溢出的解决方法)
限定EditText输入个数的解决方案很多,但是一般主要考虑两点,也就是处理两件事:(1)不同语言字符(英文、中文等)处理方式(2)输入字符达到数目后,是否仍然允许用户输入第一点,涉及的东东其实蛮多,不同语言在不同编码中占据字节数等,不同语言在U8等编码的表示范围等,这一整块知识很丰富, 自己暂时没有理的特别顺,稍后整理再说吧。第二点,目前主流ap
2014-08-26 23:37:46
13656
转载 eclipse.ini配置详情
Eclipse的启动由$ECLIPSE_HOME/eclipse.ini控制,如果$ECLIPSE_HOME 没有被定义,则Eclipse安装目录下的默认eclipse.ini会生效。eclipse.ini是一个文本文件,其内容相当于在Eclipse运行时添加到 Eclipse.exe之后的命令行参数。其格式要求:1:所有的选项及其相关的参数必须在单独的一行之内2:
2014-03-11 12:40:53
25205
原创 android shape的使用详解以及常用效果(渐变色、分割线、边框、半透明阴影效果等)
shape使用、渐变色、分割线、边框、半透明、半透明阴影效果。首先简单了解一下shape中常见的属性。(详细介绍参看 api文档)xml version="1.0" encoding="utf-8"?>shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape=["rectan
2014-03-08 16:43:16
40340
1
原创 NDK开发常见错误总结
NDK开发常见错误ndk开发过程中,经常遇到一些很小的错误,但是很多时候它并不像正常android开发,会给出详细的错误Log,这时候偶们就傻眼了。其实只要知道原因,改错还是很easy的,对症下药嘛。下边稍稍总结了几点,方便以后使用。1. android.mk文件不存在 $ ndk-build报错:Android NDK: Your APP_BUILD_SCRIPT poi
2013-12-30 23:37:10
5649
原创 异或加密算法
简单异或密码(simple XOR cipher)是密码学中中一种简单的加密算法。异或运算:m^n^n = m;利用异或运算的特点,可以对数据进行简单的加密和解密。/** * 简单异或加密解密算法 * @param str 要加密的字符串 * @return */private static String encode2(String str) { int code = 1
2013-12-18 21:35:33
3719
原创 Android项目使用Assets下的文件
Android项目在编译时,Assets下文件不被编译。Assets下的文件除了 html文件可以直接在项目中使用外,其他的文件都需要做处理滴。在项目中使用方法: 使用流读取。 AssetManager manager = getAssets(); InputStream open = manager.open("logo.png")
2013-12-16 00:26:13
3556
1
翻译 应用程序基础之03Manifest文件 (二)
Declaring application requirements 声明应用的需求---------------------------------- 有各种各样的设备都是基于Android系统运行的,但是他们提供不相同的特性和性能。为了防止你的应用被安装在一个缺乏你的应用所必须特性的设备上,在你的manifest文件中声明硬件和软件需求来明确的定义你的应用所支持设备的类型
2013-11-04 21:14:28
1479
翻译 应用程序基础之03Manifest文件(一)
Manifest文件(The Manifest File)(清单文件)*************************************************************Android系统在启动一个应用组件之前必须通过查看应用程序的AndroidManifest.xml文件(即“清单”文件)来知道组件的存在。因此你的应用程序必须在该文件中声明所有的组件,并且该文件必须
2013-11-02 21:55:06
1669
翻译 应用程序基础之02-应用程序组件篇(二)
应用程序基础之02-应用程序组件篇(二)Android系统设计的一个独一无二的方面是任何一个应用都可以启动其他应用中的组件。例如,如果你想让用户使用设备的相机拍摄一张图片,可能有其他应用已经完成了此项功能,那么你的应用就可以直接使用此功能,而不用自己再次开发一个activity去拍摄图片。你的应用中不需要包含甚至不需要连接相机应用中的代码。反而,你可以简单地启动相机应用的一个activit
2013-11-01 23:15:52
1436
翻译 应用程序基础之02-应用程序组件篇(一)
应用程序基础之02-应用程序组件篇(一)应用程序组件是一个Android应用程序关键的基石。每一个组件都是系统进入应用程序的不同入口点。对用户而言,并不是所有的组件都是实际入口点,它们之间有一些依赖,但是每一个组件的存在都有它自己的入点,并且扮演着一个特定的角色---每一个组件都是独一无二的构建模块,帮助定义你的应用的整体行为。有四个不同类型的应用组件。每一种类型都完成特定的目
2013-11-01 23:11:26
1885
翻译 应用程序基础之01序论
应用程序基础之01-序论Android应用程序使用Java编程语言编写,Android SDK工具将代码连同所有数据、资源文件一起编译进一个Android包,也就是一个以.apk为后缀的压缩文件。在一个单独的.apk文件中的所有代码被称为一个应用程序,Android操作系统的设备也是用这样的文件来安装应用的。每一个Android应用程序一旦被安装在一款设备上,那么它便存在与自己独立
2013-11-01 22:50:09
1688
原创 Java中常出现的乱码问题总结
编码也就是计算机能识别的数据与人类友好的数据的翻译过程。计算机的基本存储单位是byte,人类友好语言(汉语英语等各种语言)用char存储吧。那么编码其实就可以理解为char-byte、byte-char这样的过程。这样char-byte之间的翻译就需要一个标准了,可惜的是每个国家根据自己国家的母语设计出了不同的翻译标准,这边导致不同标准之间的翻译过程出现不统一,自然乱码问题就出现了。常见的
2013-10-27 22:02:06
2664
原创 [感悟]不选择其实也是一种选择!
献给我身边以及看到这句话的所有人: 我们的人生存在着太多的十字路口,面对这些十字路口我们必须做出抉择,向东、向西、向南或是向北... ... 有时候自己会犹豫,或者是担心、害怕自己会选择错误,恐惧的心理使我们止步不前。自己以为不做出选择就还有机会,就可以避免错误的道路。 但是你错了!因为,不选择其实也是一种选择!面对人生中的道
2013-09-08 10:49:01
1627
原创 向android模拟器中导入文件(包括以中文命名的文件)
学习过程中根据需求,一般要向android模拟器中导入文件,即往建立的虚拟SD卡中导入媒体文件。最简单的方法便是使用DDMS中的File Explorer(默认DDMS中有,如果没哟可以在Window->Show View中寻找)。另外一种方法是使用adb命令,方便并且功能强大。一、使用File Explorer。虚拟SD卡目录为/mnt/sdcard/,如上图所示,首先选中需要操
2013-08-17 19:41:35
7314
原创 使用android adb命令工具操作
常用的adb命令0. 列出系统上已经安装的android平台和已建的avd信息android list1. 显示系统中已安装的全部Android平台: android list targets2. 显示系统中已建的全部AVD(模拟器): android list avd3. 创建AVD(模拟器): android create avd
2013-08-17 19:37:16
3821
原创 Android SQLite3工具常用命令行总结
Android SDK的tools目录下提供了一个sqlite3.exe工具,这是一个简单的sqlite数据库管理工具。开发者可以方便的使用其对sqlite数据库进行命令行的操作。 程序运行生成的*.db文件一般位于"/data/data/项目名(包括所处包名)/databases/*.db",因此要对数据库文件进行操作需要先找到数据库文件:1、进入shell 命令adb sh
2013-08-05 15:48:57
8423
原创 Android Chronometer控件使用,计时器
Android Chronometer实现了一个简单的计时器,继承自TextView,因此可以使用TextView的text控制属性来控制时间显示的颜色、字体大小等;可以定义时间显示格式,默认“MM:SS”,即“分:秒”;
2013-07-26 00:29:54
3810
原创 Ubuntu下安装搜狗拼音输入法
Ubuntu默认输入法是ibus输入法,其实用着也可以了,但是说句实话在某些情况下真的不怎么智能。习惯了搜狗所以,查阅资料测试成功后整理如下,
2013-07-25 19:54:32
17975
1
原创 android 9Patch(.9)图片的使用
Android UI设计时,经常会使用图片作为背景,比如给按钮设置背景图片时,图片会默认缩放来适应整个按钮。但是有时这种缩放效果并不是我们所需求的。而我们只是希望缩放图片的特定位置,以此来保证按钮的视觉效果。此时,官方提供的9-Path图片处理工具就派上用场了。首先,9-Patn工具默认位于Android SDK 的tools文件夹中,双击“draw9patch”,选择Run即可。运行如
2013-07-25 00:11:44
4661
原创 GestureDetector学习之左右滑动,上下滑动屏幕切换页面
要实现滑屏等触发事件,视情况而定;如果实现的触屏或者手势效果较多,则使用第一种方法,实现OnGestureListener 接口(参考OnGestureListener);如果只是实现较少的效果,则考虑使用SimpleOnGestureListener(参考SimpleOnGestureListenter);主要分为以下三步:
2013-07-19 20:57:47
5273
原创 ubuntu下安装calibre(电子书的“一站式”解决方案,格式转换等)
Calibre是一个免费的开源的“一站式”的电子书解决方案,开源,它可以全面满足你的电子书需求。Calibre是免费的,源代码开放,拥有跨平台的设计。它是一个完整的电子图书馆,包括图书馆管理,格式转换,新闻,将材料转换为电子书,以及电子书阅读器同步功能、整合进电子图书阅读器。(解释来源http://baike.baidu.com/view/1737906.htm#3)将pdf格式的电子书转化为
2013-07-04 22:02:31
4636
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人