android开发总结经验
android_☀
要越来越强大,加油☀
展开
-
android开发新手老手必知
本文是在我在巩固android基础知识参考第一行代码第二版挑重点需理解总结出来的知识点。 1.1.1 安卓系统架构**Android 四层架构**: 1,Linux内核层(android系统基于Linux内核,为安卓设备的各种硬件提供了底层驱动,比如音频,相机,蓝牙,WIFI,电源等) 2,系统运行库层(Android系统会通过一些C/C++库来支持我们使用的各个组件,使其能更好地为原创 2017-02-18 10:44:40 · 396 阅读 · 0 评论 -
关于不同环境android studio 打包替换出现闪退的问题
以前都是我同事在打包,今天我也来打包,发现打出来的包运行正常,但是如果是覆盖以前的包会出现闪退,我也是醉了,一直百度不到原因LOG显示大概是这样的Build fingerprint: 'HUAWEI/TAG-AL00/HWTAG-L6753:5.1/HUAWEITAG-AL00/C92B168:user/release-keys'Revision: '0'cpuAbi/cpuAbi2: 'arm原创 2017-07-28 11:18:21 · 1630 阅读 · 4 评论 -
Recyclerview之瀑布流分割线左右间距均等问题
今天来记录下瀑布流左右分割线均等设置! 在网上看了很多例子,都是什么万能分割线之类的,但是真正用到瀑布流的分割线却会出现不一致的情况。原因: 下面展示一下非瀑布流的item布局情况:上面那种布局相当于网格布局,每个item的高度都是一样的,所以 他的index就是左右左右,position所对应的itemView就是准确的, 左0,右1,左2,右3,以此类推… 这时候我们可以用下面代码原创 2017-08-25 18:21:44 · 7690 阅读 · 10 评论 -
android studio 安装 Parcelable插件以及使用详细步骤教程
直接上正题: 打开android studio 后:File->setting->Plugins->搜索关键字-> Android Parcelable code generates ->安装重启即可,具体步骤如下图安装步骤1:安装步骤2:安装步骤3:安装步骤4:接下来说下使用步骤:首先创建你要序列化的对象类,然后实现Parcelable接口,然后出现红线, 把鼠标移动到红线处,按Alt+in原创 2017-08-26 12:57:59 · 1915 阅读 · 0 评论 -
安卓开发传递对象:当Parcelable序列化对象用Intent传递发生闪屏或者值不对应时
错误提示:android.os.BadParcelableException: ClassNotFoundException when unmarshalling: 安卓序列化对象有两种,一种是Parcelable,另一种是Serializable,当然Parcelable从 某些效率来讲是比Serializable要好,虽然实现有点复杂,但是也有开源的插件可使用, 后面会介绍过程:当我们用i原创 2017-08-26 12:29:03 · 417 阅读 · 0 评论 -
关于EditText、AutoCompleteTextView类似这类控件的简单输入限制
**要求**:假如你希望在EditText中只能输入数字并且还要有相对应的字符。例如输入:1.2.3 (version_name输入)**处理**//EditText控件需要初始化EditText et_version_name;//我们只需要一行代码(此时EditText只能输入括号里面的字符,即"数字"和".") et_versi原创 2017-09-26 16:46:35 · 406 阅读 · 0 评论 -
安卓开发之简单动态设置TextView大小SP或者DP
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12);// 12 sptextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 12); //12 dp原创 2017-09-30 11:35:29 · 3301 阅读 · 0 评论 -
安卓开发监听recyclerview的滑动时某一控件距离顶部的距离来做显示隐藏某些布局
有两种方法!大家可以根据自己的情况做!下面说下步骤!1、首先添加recyclerview的监听来 recyclerview.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrolled(Recycle原创 2017-11-15 11:52:33 · 9094 阅读 · 0 评论 -
安卓开发之TextView使用lineSpacingExtra时由于手机系统在5.1.1以下版本最后一行也会有距离的处理
提示:1、因为发现这个东西也跟着手机系统的不一样而不一样,目前发现在5.1.1系统以下会出现,所以我就在代码中动态判断设置padding来解决。2、首先普及一下,如果需要textview中不需要默认的padding的话则在xml布局文件添加includeFontPadding属性 设置为false即可正题: 1、我发现在布局文件加:lineSpacingExtra之后textview看起来就不居原创 2017-12-07 15:25:34 · 951 阅读 · 0 评论 -
处理当调用软键盘没有把底部布局顶上去时!
由于弹出软键盘挡住了布局,很不舒服,对用户体验也不好,所以需要解决!1、在清单文件的application节点内添加 android:windowSoftInputMode=”adjustResize|adjustUnspecified|stateHidden”2、在需要的界面上添加 View decorView = getWindow().getDecorView(); ...原创 2018-03-23 10:38:38 · 295 阅读 · 0 评论 -
okhttp网络框架的使用get和post请求
首先引入okhttp网络框架,很简单如图:在app项目中的build.gradle里的dependencies 里添加compile ‘com.squareup.okhttp3:okhttp:3.2.0’ 这句代码依赖。 然后点击Sync Now即可使用。Get请求(主要获取数据)//构造request对象 Request request = new Request.Builder().ge原创 2017-08-04 17:52:26 · 490 阅读 · 0 评论 -
安卓开发之EventBus的使用分享以及例子源码
开头: 如下图就是最后的效果 在第一个界面,内容什么都没有,点击更换英雄到第二个界面输入要发送的消息数据去更新第一个界面即可。(平时我们开发中更改某个用户的信息返回来要马上更新数据可用到…)例子介绍:1,先添加EventBus依赖,如下图,在builde.gradle 里的dependencies添加compile 'org.greenrobot:eventbus:3.0.0' 之后在Snyc原创 2017-08-10 12:54:39 · 323 阅读 · 0 评论 -
关于android studio log日志打印信息不全的原因以及解决方法
今天我发现我打印的日志出来的数据不全,于是就去查找原因。原因1、打印的msg过长,接口响应结果过大,将会导致Logcat控台数据显示不全。2、 Android系统的单条日志打印长度是有限的,单条Log信息的长度是固定的,为4*1024个字符长度 (也就是4k内存左右)!解决方法我原创 2017-07-25 16:18:44 · 11623 阅读 · 0 评论 -
关于Popupwindow弹框后外部背景变暗
popupwindow弹框后屏幕变暗(也就是背景变透明) 在弹框或者关闭弹框的时候调用下面这个方法就行了 例如: backgroundAlpha(0.6f); /** * 设置添加屏幕的背景透明度 * @param bgAlpha 外部透明度 */ public void backgroundAlpha(float bgAlpha)原创 2017-03-10 15:49:49 · 947 阅读 · 0 评论 -
安卓开发关于图片上传后出现旋转的问题
首先,描述一下我今天发生的情况,在我们APP苹果手机拍出来的图片用安卓手机来上传成功后图片是旋转90度来展示的,(当然我不清楚你们是不是这种情况发生的,但是以下的方法来解决应该是都可以的)这很尴尬,开始排查。其次,我的方法很简单,就是在上传图片之前把有问题的图片在转换一次就行了。。。 提示:我们是用图片路径来保存的 步骤: ****1、我们将获取的到图片路径来做处理,我们把原来的图片路径带进去判原创 2017-07-13 12:32:46 · 1641 阅读 · 0 评论 -
安卓性能优化之布局优化(二)
大家可以先看看我的上篇文章介绍,接下来进入正题< include>标签的使用。 用法实例: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.androi原创 2017-07-20 13:16:48 · 240 阅读 · 0 评论 -
安卓高效开发的SparseArray替代HashMap用法的个人总结
SparseArray为什么替代HashMap 他比HashMap更加高效,对内存也进行了优化。它可以用来替代hashmap进行对象的存储,其内部实现了压缩算法,可以进行矩阵压缩,大大减少了存储空间,节约内存。此外它的查找算法是二分法,提高了查找的效率。替换规则如果用到了:HashMap<Integer, Integer> hashMap = new HashMap<Integer, Integ原创 2017-07-21 17:18:44 · 557 阅读 · 0 评论 -
安卓开发中android studio批量查找替换项目中的字符串
这两天公司比较闲,我就开始整理整理项目,把项目中很多状态码归纳为一个类,然后把项目中用到的那些状态码都用这个类的静态变量来搞。正题:批量替换项目中的字符串 步骤: 1、在你需要替换的项目中右键打开选择 Replace in Path... 2、打开之后跳到一个界面,具体操作看图 3、Find之后如果存在要替换的字符串会弹出一个框,直接选择全部文件即可好了!这样就成功啦!温馨提醒: 在项目比原创 2017-07-12 16:05:36 · 27836 阅读 · 0 评论 -
如何将Android studio 的项目变成Lib工程,供项目使用
最近公司项目比较松,在这里我优化项目时,突然想到就写一下关于项目怎么搞成lib包来给其他项目引用的过程,下面就是所有的步骤,说得很详细呢!1.先创建一个PersonLibDemo的一个Android项目,在这个项目创建一个类,方便测试在别 的项目是否找到使用他2、然后对应的build.gradle下边apply plugin: ‘com.android.application’ 改成 apply原创 2017-07-21 20:06:22 · 9112 阅读 · 3 评论 -
安卓开发EditText禁止中文输入
首先在strings.xml 文件加入此字符串<string name="rule_text">0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`¬!"£$%^*()~=#{}[];':,./?/*-_+<>@&</string>其次在布局文件里引用即可android:digits=原创 2017-07-31 19:38:16 · 4034 阅读 · 0 评论 -
Android studio 打开一个新项目后会报错
报错信息如下:Error:Connection timed out: connect. If you are behind an HTTP proxy, please configure the proxy settings either in IDE or Gradle.原因:1、项目打开过程中,AS会提示 类似:Gradle: Download: http://repo1.maven.or原创 2017-08-01 10:37:56 · 1385 阅读 · 0 评论 -
安卓开发下载图片保存到手机后图片没在相册看到的问题
今天我们用户反馈关于图片下载保存后,图片在相册中一直找不到,但是在文件的路径里是可以看到的!解决:其实我们只要保存图片成功后执行刷新一下相册就可以啦!代码贴上!MediaScannerConnection.scanFile(context, new String[]{path}, null, null);//path:图片保存的路径希望对遇到问题的同学有所帮助哈!!原创 2017-07-24 18:30:21 · 2521 阅读 · 0 评论 -
Android Studio 中的类文件前标识图标显示为 j 且敲代码时也没有提示了的问题
如图:其实是因为你的android studio 设置了省电模式了, 点击File->power save mode 勾选去掉即可,如图:希望对大家有所帮助!!!原创 2017-08-09 11:56:35 · 4529 阅读 · 2 评论 -
android studio更新之后打包遇到V1(Jar Signature)、 V2(Full APK Signature)问题
昨天更新了android studio 打包时遇到两个勾选框,于是开始了解…问题刚开始默认是勾选 V2(Full APK Signature),然后我就打包去测试先了,发现安装失败。之后发现与签名有关系。发现android 7.0中引入了APK Signature Scheme V2(Full APK Signature),V1(Jar Signature)来自JDK两者区别 V1:仅验原创 2017-07-25 11:20:49 · 9130 阅读 · 4 评论 -
安卓开发ADB无线局域网上调试真机监听查看LOG日志(一开始可能需要连数据线,连接上后数据线可拔掉)
条件:1、同个wifi下2、开启调试模式3、adb环境配好或者不配的话去切换到adb路径下操作命令也行步骤:1、打开Android studio ,打开Terminal命令台,ping 一下所连wifi的ip地址是否正常可正常发送接收到数据包2、连接手机上的ip,可能会出现以下说端口相关的提示3、这时我们定义一下端口4、再次连接加上端口(可能被拒绝,看看手机是否给调试,记得去...原创 2019-09-12 15:50:25 · 828 阅读 · 0 评论