
android技术文档
RaleighLuo
-----------------------------------------------------
展开
-
修改 Android Studio for mac中Ctrl + 左键 = 右键的功能
在mac中使用Android studio,需要进入某一个类时要使用ctrl+左键来进入,但是这个又是系统右键的快捷键,所以我们需要覆盖一下快捷键的设置。KeyMap中搜索Declaration,点击Add Mouse Shortcut,添加cmd+左键,即可完成覆盖,以后再也不会弹出右键的提示了。————————————————版权声明:本文为CSDN博主「PaulYoung_Blog」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://bl转载 2020-07-23 11:17:07 · 878 阅读 · 0 评论 -
Realm在Application中使用的坑
目的:在用户使用前,就能快速看到最新数据,并且还不影响UI线程,采用异步事务操作。在应用启动时,初始化化Realm后,获取数据库数据,异步线程中进行事务操作, 如下几个坑点(只有刚初始化才会出现,后面就正常了)1.deleteAllFromRealm原代码: realm.executeTransactionAsync(new Realm.Transaction() { ...原创 2020-04-22 12:47:37 · 447 阅读 · 0 评论 -
Android 外部SD卡/U盘无法写入解决方法(需要root)
Android平板替代FTP服务器实战 一文得到很多人的好评。 但今天我遇到一个问题,就是我买了只TF卡装上去以后发现:一般程序无法写入TF卡,而系统自带的文件工具能够写入。 什么原因呢? 好在这个平板已经是root的,马上调出rootexplorer文件管理器查看SD卡和内部存储器的权限(permission) 。 发现虽然SD卡和内部存储器都是属于(owner)是Sys转载 2017-06-05 15:01:16 · 2545 阅读 · 0 评论 -
如何使用Android Studio打包混淆的Jar
使用AS打包混淆Jar包,百度一下,一片一片的,但是很多都是零零散散的写得不是很详细或是直接拷贝,按照他们的教程测试总不是很顺利,所以这里我就把我个人学习AS打包混淆Jar的成果总结出来,希望对大家有帮助。个人觉得写得还是比较详细的使用gradle混淆打包Jar使用AS开发项目,引入第三方库是非常方便的,我们只需要在build.gradle中配置一行代码就可以轻松引入我们需要的转载 2017-05-15 12:44:05 · 343 阅读 · 0 评论 -
mac 下Android studio 中Terminal执行adb命令
当你的Android studio刚安装到您的Mac电脑中的时候,你是没有办法直接在Terminal里面执行adb命令的,这是因为你并没有配置。会提示这个错误 bash: restart: command not found .所以下面让我们来配置ADB。1.如果你的电脑里面有.bash_profile文件,请直接转到52.进入主页 命令:echo $HOME3.转载 2017-05-03 09:10:10 · 3089 阅读 · 0 评论 -
超实用!Android Camera2.0新API与Camera旧API使用对比总结
超实用!Android Camera2.0新API与Camera旧API使用对比总结前言:Camera2.0新API是Android5.0(L)API Level 21 推出来并用以取代之前的CameraAPI,在该版本之后Deprecate掉了旧的Camera.Java相关的接口。从底层的实现就大不一样,详情请见官方文档。附 下表的百度云盘链接,这样看起来很麻烦对不对转载 2017-04-19 14:27:47 · 900 阅读 · 0 评论 -
解决android:background背景图片被拉伸问题
ImageView中XML属性src和background的区别:background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸。src是图片内容(前景),bg是背景,可以同时使用。此外:scaleType只对src起作用;bg可设置透明度,比如在ImageButton中就可以用Android:scaleType控制图片的缩放方式转载 2017-04-19 14:23:25 · 3031 阅读 · 0 评论 -
TextView文字同步讯飞语音滚动解决方案
讯飞语音同步滚动TextView文字播放的问题SpeechSynthesizer mTts = new SpeechSynthesizer(context, mTtsInitListener);1.最简单方式 private SynthesizerListener mTtsListener = new SynthesizerListener.Stub() { 。。。。省略原创 2017-04-19 11:06:31 · 1087 阅读 · 0 评论 -
使用Android Studio的lint清除无用的资源文件
如上图:在项目中,点击菜单栏的Analyze -> Run Inspection by Name ...弹出输入框:Enter 之后会弹出: 一般选择整个项目或某个模块,当然也可以指定某个目录OK之后 Studio会自动分析,然后可以根据结果清除无用的资源文件。Note:1. 一般得提前删掉已经无用的java文件 2. 接着根据分析后的结果删除转载 2016-12-30 18:53:29 · 369 阅读 · 0 评论 -
Build a UI with Layout Editor(翻译文章)Android Studio 可视化界面编辑器
原文 在Android Studio 的布局管理器中,你能够迅速的通过在可视化编辑器中拖拽控件而不用在xml文件中手动编辑了。这个编辑器能够在不同的尺寸上的设备预览你的布局。你可以自动调整你的布局保证能在不同的设备上适配。这个布局管理器在你使用ConstraintLayout进行布局的时候功能显得尤为强大。ConstraintLayout是一个提供兼容库兼容到 2.3以上的库。转载 2016-12-09 09:18:21 · 953 阅读 · 0 评论 -
Google有三个.cn网站可以访问了,但它们只面向开发者
12 月 8 日,Google 在北京举办了一场规模空前的开发者活动,推出了三个不需科学上网就能访问的子站点。developers.google.cnfirebase.google.cndeveloper.android.google.cn虽然 Google 早在 2010 年就正式退出了中国市场,但它在开发者群体中的影响力却从未消散。根据市场研究机构 IDC转载 2016-12-09 09:10:15 · 6423 阅读 · 0 评论 -
JAVA抓取网页的图片,JAVA利用正则表达式抓取网站图片
利用Java抓取网页上的所有图片:用两个正则表达式:1、匹配html中img标签的正则:]*?>2、匹配img标签中得src中http路径的正则:http:\"?(.*?)(\"|>|\\s+)实现:[java] view plain copy print?package org.swinglife转载 2016-08-23 14:58:24 · 2251 阅读 · 0 评论 -
关于对Android的videoView和mediaController的吐槽
这几天在做视频播放器一直在研究videoview。 videoview是和video连用的。2个组件分别都提供一个方法关联另一方: mediaController-setAnchorView(videoview),videoview-setMediaController(mediaController)。我习惯在一个布局文件中设置好videoview的位置之后,在activity的onCreat转载 2016-08-08 14:37:11 · 2446 阅读 · 0 评论 -
免费手机号码归属地API查询接口
原文 http://itindex.net/detail/50687-免费-手机-属地主题 API免费手机号码归属地API查询接口一、淘宝网APIAPI地址:http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=15850781443参数:tel:手机号码返回:JSON转载 2016-07-06 17:03:03 · 16597 阅读 · 4 评论 -
Android App 增量更新的使用姿势
简述增量更新,根据字面理解,就是下载增加的那部分来达到更新的目的,实际就是这个意思。原理用一个旧的Apk安装与一个新的Apk安装包使用bsdiff工具,执行命令生成一个差异文件,此差异文件就是我们修改需要更新下载的那部分。引入代码及so文件首先,根据你的系统的架构选择不同的so文件放到你的工程中接着,需要把加载so文件的Java类引入到你的工程中,引入时,需转载 2016-04-19 21:45:44 · 593 阅读 · 0 评论 -
Android Service使用拾遗[阿里工程师分享]
Service作为android的四大组件之一常用来帮助我们完成一些需要放在后台处理的任务,通过startService和bindService两种方式被调用。因为Service也是在主线程中运行的,所以如果处理耗时任务,一般在Service里再单独创建工作线程去执行耗时任务。使用Service的另一个用处是可以减少业务逻辑与界面的耦合,在产品演进中具备快速迭代的能力。有的应用有服务需要一转载 2016-04-19 21:36:50 · 553 阅读 · 0 评论 -
Java多线程之synchronized和volatile的比较
在做多线程并发处理时,经常需要对资源进行可见性访问和互斥同步操作。有时候,我们可能从前辈那里得知我们需要对资源进行 volatile 或是synchronized 关键字修饰处理。可是,我们却不知道这两者之间的区别,我们无法分辨在什么时候应该使用哪一个关键字。本文就针对这个问题,展开讨论。happens-before 模型简介如果你单从字面上的意思来理解 happens-before转载 2016-04-19 21:21:14 · 361 阅读 · 0 评论 -
使用 Android Studio 进行 NDK 开发
在AndroidStudio中进行NDK开发比起以往的Eclipse要方便的多,下面来介绍下如何使用AndroidStudio这个IDE工具实现NDK相关开发工作。1. 准备工作下载好NDK开发包之后,直接解压到任意目录,然后需要配置一下系统环境变量,之所以要配置环境变量,是为了方便使用命令ndk-build脚本进行NDK编译。配置参考如下:# 在.bash_profile中配置如转载 2016-04-19 21:17:49 · 446 阅读 · 0 评论 -
Android开发中,那些让你相见恨晚的方法、类或接口
PS:本文类容来自我在知乎上对 Android开发中,有哪些让你觉得相见恨晚的方法、类或接口? 这一问题的回答,目前就总结这些,日后若有新的发现,随时补充。欢迎点赞。getParent.requestDisallowInterceptTouchEvent(true);剥夺父view 对touch 事件的处理权,谁用谁知道。ArgbEvaluator.evaluate(flo转载 2016-04-19 21:06:22 · 263 阅读 · 0 评论 -
Android性能优化之如何避免Overdraw
可能有些人不明白什么是过度绘制,简单言,我们app一个页面所显示的效果是由像素一帧一帧绘制而成。过度绘制就是意味着这一帧被绘制多次。如果是静态的布局,可能影响不是很大,如果是动态的,比如ListView,GridView,ViewPager等在性能上就会差一点,常见的比如listView上下滑动,过度绘制的情况下,就会出现卡顿,或者跳跃感很明显。 当然过度绘制肯定无法避免,我们只能减少不必要的转载 2016-01-18 09:31:09 · 407 阅读 · 0 评论 -
Android中常见的坑有哪些?
对于安卓开发入门级程序猿而言,由于不熟悉代码、工具等等,掉进一些坑中是难免的,今天小编在一个Android培训网站上看到一位大神总结的Android开发中比较常见的坑及其原因和解决办法,赶脚还不错,分享出来,给大家提个醒。1、Activity调用 startActivityForResult 会立马返回,不能正常调用,这是为什么捏?原因:因为Activity转载 2016-01-18 09:28:08 · 508 阅读 · 0 评论 -
Android Theme and style
每家公司的app都有自己的统一的特色,这就涉及到theme和style,当然他们只不是仅仅为了这个特点存在,想activity的进入动画等都能通过theme和style实现,简单并且减少了代码数,熟练使用theme and style也能做出很炫的效果。what is theme ?主题是对整个应用中所有的Activity都起作用,或者对指定的Activity起作用 定义格式通转载 2015-11-17 09:27:15 · 451 阅读 · 0 评论 -
url转码
目前URLEncoder.encode(str,”utf-8”)转码方式是encodeURLcomponent的方式,也就是对于特殊字符它也会转码,比如`http://192.168.1.20:2000/api/work-orders/pe`nding?$count=true转码后会变成http%3A%2F%2F192.168.1.20%3A2000%2Fapi%2Fwork-orders%2Fpe原创 2015-09-09 11:02:18 · 1306 阅读 · 0 评论 -
字符串转数字,包括正数,负数,小数
字符串转数字,包括正数,负数,小数/**字符串转换为整数 * @param str * @return */ public static int strToInt(String str){ int result=0; if(isNum(str)){ result=Integer.valueOf(str);原创 2015-09-01 10:38:58 · 11522 阅读 · 4 评论 -
介绍ModelViewPresenter在Android中的应用
这篇文章是我学习MVP模式时翻译的,原文是Konstantin Mikheev所写,传送门。 因英语水平有限,翻译的很生硬,基本靠Google,请见谅。以下是译文。这篇文章我会通过一个最简单的例子去一步步介绍MVP模式在Android中的最佳实践。同时我也会介绍一个使MVP模式在Android开发中变简单的library。简单?怎么才能从中获益呢?什么是MVP转载 2015-08-27 17:23:14 · 769 阅读 · 0 评论 -
RecyclerView高度随Item自适应 GridLayoutManager和LinearLayoutManager都适用
ScrollView嵌套RecyclerView时,android:layout_height=”wrap_content”并不起作用,RecyclerView会填充剩余的整个屏幕空间,也就相当于android:layout_height=”match_parent”,通过重写GridLayoutManager或LinearLayoutManager 的onMeasure方法进行可重置Recycle原创 2015-08-13 14:37:56 · 29423 阅读 · 7 评论 -
说说Android中的ANR
有过Android开发经历的人都不会对ANR陌生,它和崩溃一样是程序设计的问题。本文将以较为深入的视角来介绍什么是ANR,出现场景,如何避免以及如何定位分析ANR,希望可以帮助大家在编写程序时有所帮助。什么是ANRANR全称Application Not Responding,意思就是程序未响应。如果一个应用无法响应用户的输入,系统就会弹出一个ANR对话框,如下图所示,用户可以自行选择转载 2015-07-18 23:53:54 · 489 阅读 · 0 评论 -
Android如何实现毛玻璃效果之Android高级模糊技术
自从iOS系统引入了Blur效果,也就是所谓的毛玻璃、模糊化效果,磨砂效果,各大系统就开始竞相模仿,这是怎样的一个效果呢,我们先来看一下,如下面的图片:效果我们知道了,如何在Android中实现呢,说白了就是对图片进行模糊化处理,小编先给大家讲一下Android高级模糊技术的原理,如下:·首先我创建了一个空的bitmap,把背景的一部分复制进去,之后我会对这转载 2015-07-18 23:51:21 · 801 阅读 · 0 评论 -
推荐几个非常有用的开发工具之Android Studio插件
我们都知道Eclipse开发Android将在今年年底google不再继续提供相应的开发支持,转而开始强烈发展Android Studio,现在我就分享几款能帮助团队提升工作效率的几个Android Studio插件和工具。1、SelectorChapekSelectorChapek是一款帮助我们快速完成Selector的AndroidStudio插件。安装方法如下:①转载 2015-07-18 23:48:49 · 638 阅读 · 1 评论 -
Mac下Android studio 之NDK配置教程
1.概述最近项目全线转移到Mac下使用使用Android studio开发。遇到关键代码封装到 ***native***层,此时在win下的NDK配置步骤全部失效。 为此,花费了大量时间用来查阅资料,在此,记录下来,分享给大家供以后配置中作为参考。2.环境本人使用的开发配置 是:MAC OS 10.10 +androioid studio 1.2+android-ndk-r10e-da转载 2015-07-18 23:47:48 · 948 阅读 · 0 评论 -
Android 开发有哪些新技术出现?
开发工具Android Studio: Google 官方放弃 Eclipse 和 Android Studio 普及。AS 虽然不算新,但是对 Android Studio 这个软件的更新速度快的惊人,有大量的新功能发布。例如支持很多注解代码提示注解、Live code template、支持自动生成 Parcelable 实现等等,作为开发者,持续关注这个更新列表Recent Ch转载 2015-07-18 23:46:35 · 519 阅读 · 0 评论 -
【安卓笔记】gradle入门,安卓gradle入门
随着Android Studio越来越完善,更多的开发者舍弃掉Eclipse。但是新的IDE与以往的Eclipse有很大区别,这导致部分开发者望而却步,其中一个大家觉得比较麻烦的是Android Studio采用的新的构建系统,gradle。那么这篇文章我将对gradle进行一个简单介绍(主要讲gradle配合Android Studio的使用),希望帮助大家熟悉gradle。一. gra转载 2015-06-19 10:58:52 · 484 阅读 · 0 评论 -
android设置软键盘搜索键以及监听搜索键点击时发生两次事件的问题解决
在输入框中加入android:imeOptions="actionSearch",调用软键盘时,回车键就会显示搜索二字。我想在点击搜索时,跳转到下一个页面,但是调用setOnKeyListener,每次都执行两次。最后上网看到别人的文章,解决了问题,解决方法是调用setOnEditorActionListener而不是用setOnKeyListener来监听点击搜索按钮。代码如下(转载 2015-06-12 10:09:40 · 509 阅读 · 0 评论 -
Android Studio开发入门-引用jar及so文件
一、引用jar文件 1.将jar文件复制、粘贴到app的libs目录中; 2.右键点击jar文件,并点击弹出菜单中的“Add As Library”,将jar文件作为类库添加到项目中; 3.选择指定的类库。 注:如果不执行2、3步,jar文件将不起作用,并且不能使用import语句引用。 二、引用so文件 网上有很多引用so文件的转载 2015-06-09 16:27:05 · 358 阅读 · 0 评论 -
Eclipse插件大全介绍及下载地址
eclipse插件大全介绍,以及下载地址Eclipse及其插件下载网址大全1 Eclipse下载EMF,GEF - Graphical Editor Framework,UML2,VE - Visual Editor都在这里下载http://www.eclipse.org/downloads/index.php2 lomboz J2EE插件,开发JSP,EJ转载 2015-05-12 11:36:12 · 838 阅读 · 0 评论 -
Android小技巧(3)
正文UrlQuerySanitizer——使用这个工具可以方便对 URL 进行检查。Fragment.setArguments——因为在构建 Fragment 的时候不能加参数,所以这是个很好的东西,可以在创建 Fragment 之前设置参数(即使在 configuration 改变的时候仍然会导致销毁/重建)。DialogFragment.setShowsDi转载 2015-05-08 17:11:01 · 406 阅读 · 0 评论 -
Android判断APP是否在前台运行
APP开发中经常会遇到这种需求,需要检查当前的APP是不是可见的,比如,如果是可见的就维持一个socket长连接,如果切到后台不可见了,就断开这个连接。Android本来并不允许APP去监听home键事件,所以我们没发像iOS那样通过监听home键事件来做对应的处理。不过还好Android的Activity的生命周期给我们提供了一种解决这个问题的方法,我们只需要在每个Activity的onStar转载 2015-05-08 17:01:02 · 587 阅读 · 0 评论 -
Android中判断app何时启动和关闭的技术研究
只有两种东西能让一个团队团结,恐惧或忠诚。—《速度与激情7》——欢迎转载,请注明出处 http://blog.csdn.net/asce1885 ,未经本人同意请勿用于商业用途,谢谢——原文链接:http://engineering.meetme.com/2015/04/android-determine-when-app-is-opened-or-closed/存在的转载 2015-05-08 16:12:52 · 408 阅读 · 0 评论 -
调用系统图片裁剪器
选择图片Url=data.getData(),拍照url=Uri.fromFile(new File(your image dir, your image name));Intent intent =new Intent("com.android.camera.action.CROP");intent.setDataAndType(uri,"image/*");inte原创 2015-01-28 13:53:47 · 413 阅读 · 0 评论 -
android中小常识
android中如何设置焦点在某一个指定的View上:view.requestFocus();大的滚动条设置:listView.setFastScrollEnabled(true);EditText光标在右边,输入内容从右往左:android:gravity="center_vertical|right"或者editText.setGravity(Gravity转载 2015-01-07 13:36:21 · 442 阅读 · 0 评论