我不是程序员
文章平均质量分 74
很简单的一些Android冷知识
zkbilian
一人之下,互相关注!!!
展开
-
ScrollView 嵌套 ListView出现问题及三种解决方案
嵌套开发会出现 ListView数据显示一条的问题, 解决办法:MainActivity:public class MainActivity extends Activity { private ListView mLv; private List<String> list; private ArrayAdapter<String> adpter;//系统适配器 @...原创 2017-04-18 08:52:55 · 415 阅读 · 0 评论 -
Android 矩阵前奏
提示:矩阵这个词是无意间想起来的,在美颜相机里发现可以给不同的照片 设置色彩,很好奇就百度搜了一下,发现原来是用矩阵实现的,并且分为颜色矩阵和普通矩阵,也懒的写了,就随便敲了几行代码保存起来, 以后有时间弄懂了再来补充矩阵:图片出现倒置,拉伸变形,通过矩阵对图片进行处理 pro:前乘 post:后乘public class MainActivity extends Activi...原创 2018-04-17 19:29:41 · 161 阅读 · 0 评论 -
接口回调使用步骤
/***接口回调一般在什么时候用? 工具类里使用它,处理完数据之后把值存储到方法里面,在主Activity调用* listenter方法,直接进行处理*///1.先创建一个接口---&gt;里面写一个取得图片的方法 方法形参(需要发送什么,就写什么) public interface Call{ public void getBitmap(Bitmap bitm...原创 2018-04-18 09:38:06 · 1467 阅读 · 0 评论 -
HttpClient和HttpURLConnection理解
HttpClient:是一个被封装的开源框架,DefaultHttpClient和它的兄弟AndroidHttpClient都是HttpClient具体的实现类,它们都拥有众多的API,而且实现比较稳定,bug数量也很少。但同时也由于HttpClient的API数量过多,使得我们很难在不破坏兼容性的情况下对它进行升级和扩展,所以目前Android团队在提升和优化HttpClient方面的工...原创 2018-04-18 10:47:15 · 845 阅读 · 0 评论 -
Android 图片三级缓存原理实现
图片三级缓存类原理:先从缓存中查找,缓冲中没有,再从SD卡中查找,SD卡没有,从网络查找下载,下载完成,在SD卡和缓存中分别保存一份Lruch : 类似于内存强引用的缓存,存储方式为键值对存值(K,V),取值 方便,当缓存中内存的大小超出本身的内存的时候,它会自动将最前面的内存强制抛出交给垃圾回收机制(GC)进行回收set集合在安卓中的使用:去重的功能如何避免图片错位的问题,给set集...原创 2018-04-18 20:21:23 · 462 阅读 · 0 评论 -
HttpUrlConnection中setDoInput和setDoOutput的区别
今天写三级缓存类,用到了这两个方法,特意从网上找了一些资料学习:HttpUrlConnectionhttpUrlConnection.setDoOutput(true)httpUrlConnection.setDoInput(true)理解:HttpURLConnection conn = (HttpURLConnection)url.openConnection(); ...原创 2018-04-18 20:40:01 · 1325 阅读 · 0 评论 -
Android 仿QQ好友列表功能实现
ExpandableListview在垂直滚动展示两级列表的的视图。这与ListView不同,它有组对象和子对象,通过点击组对象来单制度展开子对象的内容,它的适配器跟普通的ListView不一样,需要继承BaseExpandableListAdapter ,都是用来给View提供数据,展示布局。ExpandableListView是Android中可以实现下拉ListView的一个控件...原创 2018-04-19 16:25:36 · 12094 阅读 · 11 评论 -
Android WebView,了解一下 (一)
前言在你们使用很多App时,用过很多种电商平台,唯品会,淘宝,京东等等,它们都内置了Web网页(Hypri), 这是我在京东上发现里面找的,在这里我要说个小技巧,怎么分辨一个App哪个是原生的还是h5做的,看看能不能长按点击复制,这说明它是一个网页,像这种该如何实现,Android里有一个叫WebView的组件实现的目录简介1.WebView是一个基于...原创 2018-04-20 14:40:11 · 377 阅读 · 0 评论 -
Android SQLite数据库使用,了解一下
SQLite简介轻量级 : SQLite数据库是一个轻量级的数据库, 适用于少量数据的CURD;文件本质 : SQLite数据库支持大部分SQL语法, 允许使用SQL语句操作数据库, 其本质是一个文件, 不需要安装启动;数据读写 : SQLite数据库打开只是打开了一个文件的读写流, 如果有大数据量读写, 需要高并发存储, 那么就不应该使用SQLite;在安卓里面数据库怎么...原创 2018-04-19 20:07:05 · 580 阅读 · 0 评论 -
Android 百度地图,了解一下
前言现在基本上每个人手机都有地图这一APP把,常用的就属谷歌地图,百度地图,高德地图等等,它带来了我们意想不到的方便,比如IT程序员去面试,都遇到过找不到路的囧境把,如果面试的途中,手机突然没电,那么没有地图的指引是很少能找到正确地点的,害羞的人连问路都不好意思问~~2333333百度地图开放平台百度地图SDK文档中心简介百度地图 Android SDK是一套基...原创 2018-04-23 16:08:56 · 744 阅读 · 0 评论 -
Android 友盟分享借鉴最实用总结(2018更新)
前言当你出去外面旅游,拍了很多好看的照片,想要跟别人分享,但是身边没有人,那怎么办呢,肯定是利用手机上的App 发个朋友圈啥的把,这就要用到分享功能了,作为一个IT程序员,不少人都有选择证把,分享集成有好多个平台,在这里我推荐用友盟,因为它可以搭配统计一起使用,根据个人习惯而定.介绍友盟统计 友盟官方集成文档 友盟多功能Android Demo使用(一)...原创 2018-04-24 17:02:23 · 996 阅读 · 0 评论 -
Android 实现微信分享 签名说明
获取签名文件导出 带签名 的apk文件,将该apk文件安装至手机中。安装微信的签名工具,打开GenSignature应用程序,填写你App的包名,点击“Get Signature”即可得到签名。微信开放平台申请应用填写App的相关信息,注意确保包名跟签名填写正确,填写完成提交微信审核。微信集成测试在进行微信集成测试时,请填写你申请App的AppID。测试时需要导出带签名...原创 2018-04-24 20:05:55 · 2647 阅读 · 0 评论 -
Android怎么生成签名APK
先说明一下,as生成的签名文件后缀是.jks Ecpelice 生成的签名文件后缀是.keyStroe创建自己的签名文件,Android Studio软件中选择Build->Generate Signed APK。点击Next按钮这里可以选择Create New Key Store或者Choose Existing Key Store,选择存在的KeyStore文件也是...原创 2018-04-24 20:23:06 · 414 阅读 · 0 评论 -
Android git命令上传和推送github
Git常用命令速查git brach 查看本地所有分支 git status 查看当前的状态git add -A 添加所有文件git commit -m “xxxx” 提交git branch -a 查看所有的分支git branch -r 查看远程所有分支git commit -am “init” 提交并且加注释git remote add orgin git@ ...原创 2018-03-28 14:59:12 · 571 阅读 · 0 评论 -
Android 理解新的依赖方式
在我们开发安卓项目的时候,不会所有的功能都自己去造轮子,经常要使用到各种的其他包,其中有谷歌给我们提供的各种support包,也有各种第三方的功能库,有时候我们自己也会将一些功能封装成包。这些包存在和导入的形式也多种多样,有远程仓库的,有直接拷贝到本地的,jar包、aar包、so包等。所幸我们都可以在主工程和各个Module的build.gradle里进行统一管理。本文将在Android Stud...原创 2018-04-17 09:49:51 · 1319 阅读 · 0 评论 -
Android打包混淆Copy解决,有那么难吗?
外国妹子身材真好啊,那些男的都走开有件重要的事情要说一遍,下班了。夜深人静,我坐在我的爱人身上,全身瘫痪,有种葛优躺的感觉 ,我的椅子又被我做歪了。 在应用发布前,对代码进行混淆处理,可以让我们的代码即使被反编译,也让其难以阅读。AS自身集成Java的ProGuard作为压缩,优化和混淆工具,混淆规则文件是:proguard-rules.pro,启用混淆规则的话修改build....原创 2018-04-16 20:29:17 · 277 阅读 · 0 评论 -
自定义组合控件学习之Scrollview
说一下为什么要用自定义组合类:那是因为它可以减少使用的布局,节省很多.xml文件,管理方便 ,只用一个类就可以完成多个控件的操作逻辑思想:自定义ScroollView 简单嵌套了一个自定义广告轮播和测量好高度的ListView,还有商品菜单展示效果图:代码MainActivity.javapublic class MainActivity exten...原创 2018-04-17 11:58:32 · 694 阅读 · 0 评论 -
自定义View快速入门(一)
思路首先,为什么需要自定义View?现有的View满足不了你的需求,也没有办法从已有控件派生一个出来;界面元素需要自己绘制。现有View可以满足要求,把它做成自定义View只是为了抽象:为这个自定义View提供若干方法,方便调用着操纵View。通常做法是派生一个已有View,或者结合xml文件直接inflate。目前常用的基本上是第二种方式,这种方式非常简单,与通常的View...原创 2018-04-17 15:23:31 · 770 阅读 · 1 评论 -
Android JsonObject和JsonArray解析
前言从接口获取一大堆字符串的时候,需要通过解析保存到 Bean类里面使用,网上有很多开源框架Gson,Jackson可以实现,不过有一句话是怎么说的,对,就是只会用框架的程序员不是一个好的程序员介绍你们只需要记住json解析方式是一种轻量级的数据传输格式,比任何数据传输性能要高出很多使用 http://v.juhe.cn/toutiao/index?ty...原创 2018-04-12 20:25:18 · 15167 阅读 · 6 评论 -
Android动画总结
Android 动画分类1.帧动画(Fragme动画)传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影、gif2.补间动画(Tween动画)可以使视图组件移动、放大、缩小以及产生透明度的变化, 缺点: 1.补间动画是只能够作用在View上 2.只能够实现移动、缩放、旋转和淡入淡出这四种动画操作 3.只是改变了View的显示效果而已,而不会真正去改变View...原创 2018-04-13 10:24:54 · 427 阅读 · 0 评论 -
Android 实现仿ImageButton图标按钮的功能
如今在现在日常开发中已经很少会用到ImageButton这个控件,它本身没有带text属性,简直Low的不得了,一般人们选择用组合控件实现这个功能,所以必须自定义实现,这样的做法可以提高布局优化,对性能还是有所提高的,很简单,只需要你们用一分钟的时间来copy下面代码ImageB.javapublic class ImageB extends LinearLayout { pri...原创 2018-04-12 12:11:08 · 3454 阅读 · 0 评论 -
Android实现图片浏览功能(图片器原理实现)
项目开发中做图片浏览的时候会用到这个功能,用原理实现的小工具效果图: public class MainActivity extends AppCompatActivity implements View.OnClickListener { int imgs[] = {R.mipmap.ceshi, R.mipmap.ceshi2, R.mipmap.ceshi3, R.mi...原创 2018-04-12 15:03:53 · 6953 阅读 · 0 评论 -
Android事件分发机制
前言Android事件分发机制是每个Android开发者必须了解的基础知识网上有大量关于Android事件分发机制的文章,但存在一些问题:内容不全、思路不清晰、无源码分析、简单问题复杂化等等今天,我将全面总结Android的事件分发机制,我能保证这是市面上的最全面、最清晰、最易懂的本文秉着“结论先行、详细分析在后”的原则,即先让大家感性认识,再通过理性分析从而理解问题;所以,请各位读者先记住结论,...转载 2017-05-31 11:17:48 · 643 阅读 · 0 评论 -
Android 面试会问到的面试题(持续更新中)
Java基础1.内存泄露的原因资源对象没关闭。如Cursor、File等资源。他们会在finalize中关闭,但这样效率太低。容易造成内存泄露。SQLiteCursor,当数据量大的时候容易泄露使用Adapter时,没有使用系统缓存的converView。即时调用recycle()释放不再使用的Bitmap。适当降低Bitmap的采样率,如: BitmapFact...原创 2018-03-27 15:34:42 · 4536 阅读 · 1 评论 -
ListView详解多种方式有图
在Android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能夠根据数据的长度自适应现实。 列表的显示需要三个元素:1.ListVeiw 用来展示列表的View。 2.适配器 用来把数据映射到ListView上的中介。 3.数据 具体的将被映射的字符串,图片,或者基本组件。根据列表的适配器类型,列表分为三种,ArrayAdapter,Simpl...原创 2017-03-31 13:51:30 · 406 阅读 · 0 评论 -
Intent传值常用类型
前言Intent可以用来启动Activity(startActivity(Intent))、Serveice(startService(Intent))等组件,可以用来绑定Activity和Service以建立它们之间的通信(bindServiceConnaction(Intent,ServiceConnection,int)),可以作为Broadcast Intent发送给广播接收器(sen...原创 2017-03-30 09:57:35 · 1550 阅读 · 0 评论 -
GridView实现九宫格(看一遍就会了)
GirdView的一些属性:android:numColumns="auto_fit" --------列数设置为自动android:columnWidth="90dp",----------每列的宽度,也就是Item的宽度android:stretchMode="columnWidth"------缩放与列宽大小同步android:verticalSpacing="10dp"----------...原创 2017-04-02 19:50:37 · 2723 阅读 · 0 评论 -
Android 调用系统相机和图片(只需1分钟)
主界面 MainActivity/** * 一共分为 四部分 , 1. 自带 压缩的照片 * 2. 原图大小的图片 * 3. 可以 裁剪一部分 * 4 .调用 手机相册 */public class MainActivity extends AppCompatActivity implements View.OnClickListener { p...原创 2017-06-08 16:00:37 · 363 阅读 · 0 评论 -
ListView分页加载实现点击加载和手动滑动功能(面试必问)
前言先介绍一下什么是分页?以QQ好友列表为例:假如你的好友总共有100个,那么考虑性能等因素,第一次只获取并显示前10条数据。当用户加载更多时,再去获取后面的10条数据,并与之前的数据合并一起展示给用户。先来看一下效果图:使用下面是代码:public class MainActivity extends Activity implements OnClickListener, OnScrollLi...原创 2017-07-13 15:32:08 · 557 阅读 · 0 评论 -
如何选择图片加载库框架
前言图片加载几乎是任何 Android 项目中必备的需求,而图片加载的开源库也越来越多,我们姑且在 GitHub 上搜索下 android image 关键字,出来的前五个按照 Star 数排序的项目如下:可以看到前四个是大家比较熟知的图片加载库,有 UniversalImageLoader、Picasso、Fresco、Glide,提供图片加载的功能,本文只讨论单纯的图片加载库。我相信大家很纠结...原创 2017-07-13 18:57:42 · 380 阅读 · 0 评论 -
Android开发以来所记载最全的有关项目的网址
网址大全 RxTools/README.md at master · vondear/RxTools · GitHub https://github.com/vondear/RxTools/blob/master/README.md程序员网址Android 学习网址 开源中国 - 找到您想要的开源项目,分享和交流 https://www.oschina.n...原创 2017-12-13 14:55:00 · 1384 阅读 · 0 评论 -
Retrofit2快速入门使用及文件上传(单上传、多上传)
前言在开发项目中经常会遇到上传头像的问题,那我们如果使用Retrofit做网络请求时,如何进行使用,在文章的最后有最清晰的使用方法 Retrofit可以认为是Okhttp的 “升级版”,为什么这么说?那是因为其内部默认是基于OkHttp来进行封装的,它们属于同一家公司Square介绍常用的网络请求方法@GET 使用@Query单个参数 ...原创 2018-03-08 20:53:47 · 10043 阅读 · 0 评论 -
Android集成第三方支付宝支付开发App(面试必问)
Android集成支付宝实现支付功能android支付包括支付宝,微信,其他第三方整合支付等,只要我们耐心的阅读文档和开发简述,大家都会自己做出来,先来简单的讲解一下简介支付宝快速接入连接 点击打开 支付宝文档中连接 App支付文档中心应用是开发者以软件形式向用户提供的特定场景或行业解决方案。具备开发能力的服务商入驻开放平台后,需要通过创建应用的方式接入蚂蚁各项产品...原创 2018-03-28 19:52:13 · 5061 阅读 · 0 评论 -
实现CirleImageView圆形图片的多种方式
前言在android开发中,圆形图片一般大部分在头像设置是比较常见的,人的美观或许喜欢圆形,比正方形更加优雅,所以就有了圆形图片的扩展使用首先这篇文章是让我们如何实现圆形图片的功能 ,分为四个部分:画圆自定义imageview导入第三方开源框架Glide图片处理框架第一种:一般要做正圆形图片,只能是正方形的基础上才能实现,否则就变成椭圆了,下面说说如何使长...原创 2018-03-29 11:10:41 · 423 阅读 · 0 评论 -
PhotoView使用及解决滑动冲突
前言这是一个图片查看库,可以实现图片浏览功能,支持手势或者点击缩放的功能,支持在ViewPager中使用,允许应用程序通知照片上的用户点击使用方法:首先在根build.gradle文件添加allprojects { repositories { maven { url "https://jitpack.io" } }}然后在模块buil...原创 2018-03-29 15:37:21 · 2063 阅读 · 0 评论 -
Gilde 3.7最全详解介绍和使用
前言在这里主要是讲3.7的用法,4.0以上的请转换别的博客大部分现在主流用的最多的版本是3.70介绍Glide,是一种快速、高效的图像加载框架,提供了易用的API,高性能、可扩展的图片解码管道,以及自动的资源技术Glide支持拉取,解码和展示视频快照,静态图片和动态图片,默认情况下,Gilde使用的是一个定制化的基宇HttpUrlConnection的栈,并且Go...原创 2018-04-01 21:01:13 · 3845 阅读 · 2 评论 -
Android 如何正确选择网络请求框架
思维导图介绍Okhttp框架扩展使用 Retrofit2.0 使用详解一、为什么要使用网络开源框架Android系统自带网络请求Android系统自带的网络请求模块有两个,一个是HttpClient,另一个是HttpUrlConnectionHttpUrlConnectionHttpURLConnection是一种多用途、轻量极的HTTP客户端,使用它来...原创 2018-04-02 20:19:34 · 4129 阅读 · 0 评论 -
[Android自定义控件]自定义属性attrs.xml中format
前言在我们自定义控件的时候,需要自己定义布局xml对象属性,就需要styles.xml自定义,然后再自定义java文件中获取信息,记录方便自己使用使用xml首先需要自定义命名空间:xmlns: zkbilian ="http://schemas.android.com/apk/res-auto" 1.reference:参考某一资源ID属性定义: <declare-sty原创 2018-04-03 10:48:57 · 716 阅读 · 0 评论 -
Zxing仿微信快速集成二维码扫描库
前言本文讲解一下别人写的快速集成二维码扫描库,核心的扫描功能是通过Zxing实现的介绍功能:支持对本地图片Bitmap的扫描功能支持默认的二维码页面支持自定义UI的操作支持对条形码的扫描功能支持生成二维码操作支持控制闪光灯开关使用配置Mainfast权限 <uses-permission android:name="an...原创 2018-04-03 20:06:45 · 1730 阅读 · 0 评论 -
2018年Android开源项目控件框架大全
1.多页切换 TabHost高仿网易云音乐客户端的 Home 页面切换 Tabhost,并且三角形是透明的,实现方式,自定义 AnimTabsView 继承 RelativeLayout 里面对当前选中的 item 处理 三角形变成透明效果,即在 onDraw 里面对三角形图片经行透明度处理,AnimTabsView 提供 setOnAnimTabsItemViewChangeListener...原创 2018-04-04 19:19:22 · 2122 阅读 · 0 评论