- 博客(48)
- 问答 (2)
- 收藏
- 关注
转载 Android Studio Git工具栏各个按钮功能整理
如您所知,最佳实践是始终对项目(甚至是个人项目)使用源代码管理(SCM)。 您是否知道Android Studio与Git集成了惊人的源代码管理管理功能? 如果您不知道或没有使用它的经验,请继续阅读这篇文章。 即使您已经使用了Android Studio的Git集成,您仍然可以在本文中学到一些有用的技巧。我将向您展示Android Studio中Git支持的许多功能,以及从Android Studio内部进行不同的Git操作(提交,推入,拉出,分支等)有多容易。在本教程中,我将带您浏览Android
2021-05-27 14:18:58
2333
原创 关于Retrofit网络请求中不同类型参数的处理方式
总结下 retrofit的不同类型的参数,请求方式。包含URL含参、?号后带参、表单、POST数据对象1.GET请求 1.)普通get请求 https://192.168.1.101/api/MovieList@GET("MovieList")Observable<ResultEntity<MovieEntity>> getMovieList(); 2.) url中含有参数 https://192.16...
2021-04-27 10:23:51
691
原创 android studio git 取消某个文件的版本管理
先进git的安装目录运行git-bash.exe然后用cd命令切换到项目的根目录如下如然后再执行命令git rm -r .idea --cached其中.idea是我想删除的文件夹,所以用了rm -r命令,如果你想删除的是文件,则用rm就行,慎用rm -r!!!!然后执行提交命令git commit -m '删除不必要的文件'最后进android studio 推送你可能会问为啥不直接在命令行里推送,多数情况家可能你项目还有其他的提交,如果盲目推送可能...
2021-04-08 14:51:42
593
转载 Android Studio 新建项目通过git上传到码云图文教程详解
一 创建远程码云代码仓库 首先我们打开码云,注册一个账号,接着在左上角处点击加号新建一个远程的项目仓库用于待会AS项目的上传,具体如下:按照上图所示,点击创建即生成远程代码仓库。 二 开始进行AS代码的上传 首先我们打开新建好的AS项目,点击AS顶部的如下:接着点击项目名称如下将项目加入到本地的git仓库中之后红色的字体会变成绿色。接着点击顶部vcs上传代码,加入备注后点击conmit and push ,接着点击de...
2021-04-07 17:53:00
209
原创 高并发的常见互联网架构及扩展原理
互联网分层架构常见互联网分布式架构如上,分为:(1)客户端层:典型调用方是浏览器 browser 或者手机应用 APP(2)反向代理层:系统入口,反向代理(3)站点应用层:实现核心应用逻辑,返回 html 或者 json(4)服务层:如果实现了服务化,就有这一层(5)数据-缓存层:缓存加速访问存储(6)数据-数据库层:数据库固化数据存储 整个系统各层次的水平扩展,又分别是如何实施的呢?1、分层水平扩展架构1.1 反向代理层的水平扩展反向代理层的水平扩展,是通过“DNS.
2021-03-18 13:50:03
692
转载 ANR的定位与解决
1、前言ANR对于Android开发者来说一定不会陌生,从刚开始学习Android时的一不注意就ANR,到后来知道主线程不能进行耗时操作注意到这点后,程序出现ANR的情况就大大减少了,甚至于消失了。那么真的是只要在主线程做耗时操作就会产生ANR吗?为什么在有时候明明觉得自己没在主线程做耗时操作也出现了ANR呢?一旦出现莫名其妙的ANR,怎么定位导致ANR的产生的位置和解决问题呢?那么接下来就来一个个的解决这些问题。2、ANR是什么?ANR全称Application Not Responding即
2021-03-12 17:42:22
832
原创 Android GreenDao使用注意事项
使用注解@unique 唯一约束(这个会默认创建索引)@NameInDb:有的时候数据库中的字段跟你的对象字段不匹配的时候,可以使用此注解。DaoMaster:用于创建数据库以及获取DaoSessionDaoSession:用于获取各个表对应的Dao类,可以缓存数据.这个没有具体用过DatabaseManager.getInstance().getSession().clear();//清楚 session 的所有缓存DatabaseManager.getInstance().getSe
2021-03-03 20:48:08
928
1
转载 Android Studio配置Git及创建本地文件
使用快捷键Ctrl+Alt+S打开Settings,接着点击Version Control --> Git在Path To Git Executable上输入Git的存放位置,如下图所示: 2 之后点击旁边的Test按钮,如果出现如下的成功提示,说明Git配置成功,如下图所示: 3 接着配置你的Github账号密码,输入完成之后点击Test按钮,如果账号密码都正确的话就会提示成功,那么就可以继续往下走了,如下图所示: END 创建本地仓库..
2020-12-23 15:19:06
333
转载 Android M扫描WiFi列表的问题
Android 6.0发布近一年之后,我们遇到了第一个Android 6.0的兼容性问题,getScanResults在Android6.0上返回了一个空列表,纳尼,你是在逗我么?去看了下Android 6.0某个分支下的getScanResult源码: public List<ScanResult> getScanResults(String callingPackage) {...
2018-08-07 21:02:38
348
转载 解决绕过android下apk使用usb设备权限查询相应问题,自动获取usb权限
转载请注明:http://blog.csdn.net/hubbybob1/article/details/50263925很多android的应用在使用usb设备时,尤其是usb摄像头,前段时间编写了一个有关usb设备的apk,但是在使用时总是会跳出系统对话框,用户体验很差,如下图所示,所以一直想要解决这个问题,在网上说了很多办法,但是我的能力有限都没有走通,在同事的帮助下终于解决的这个问题,...
2018-07-21 11:18:36
2317
2
转载 Android Studio中的CmakeList NDK配置
Android Studio2.2之后直接可以在创建工程时添加NDK支持了,添加之后,main文件夹下会多出一个native-lib.cpp这个文件,如果只为了一个简单的NDK接口,貌似这就结束了。直接在native-lib.cpp下编程即可。 但是,如果使用第三方库,就得重新配置了。到目前为止,网上大半文章都是.mk的配置方法,按照他们的步骤,在AS上一步一步做下去好像很难成功。 Andro...
2018-03-07 11:53:51
910
转载 GreenDao深入学习
目录session 缓存多表关联多表查询 自定义参数类型与数据库操作相关的AS插件session 缓存如果你有多个相同的查询语句去执行,猜猜看返回给你的对象是一个还是多个?比如说像下面这样QueryBuilder projectQueryBuilder = projectDao .queryBuilder() .w
2017-11-07 18:07:47
250
转载 Android高级动画(1)
为什么要学好动画动画在移动App开发中的重要性不言而喻,通俗点讲,动画可以让我们的App界面不那么死板,可以带来酷炫的交互效果,用Material Design专业点的说法,动画是一种高级的用户反馈,对用户操作、选择结果的一种反馈,对程序执行过程的动态展示,对用户视觉和注意力的引导,帮助用户更好地理解App的功能设计,Android5.0新生的动画更是体现出这个理念。所以从这点上说,动画的
2017-07-06 16:09:13
398
转载 最详细的 Toolbar 开发实践总结
最详细的 Toolbar 开发实践总结过年前发了一篇介绍 Translucent System Bar 特性的文章 Translucent System Bar 的最佳实践,收到很多开发者的关注和反馈。今天开始写第二篇,全面的介绍一下 Toolbar 的使用。说起 Toolbar ,可能有很多开发的童鞋还比较陌生,没关系,请接着往下看。初识 ToolbarToolbar 是
2017-07-03 17:12:22
297
转载 性能优化 - 消除卡顿
性能优化系列阅读Android性能优化性能优化 - 消除卡顿性能优化 - 内存优化性能分析工具 - TraceViewAndroid性能分析工具消除卡顿什么是卡顿及卡顿的衡量标准产生卡顿的原因通用优化流程定位卡顿原因什么是卡顿卡顿是人的一种视觉感受,比如我们滑动界面时,如果滑动不流程我们就会有卡顿的感觉,这种感觉我们需要有一个量化指标,在编程时如果开发的程序
2017-05-25 10:25:41
1430
转载 使用HttpURLConnection和HttpClient的区别
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/12452307最近在研究Volley框架的源码,发现它在HTTP请求的使用上比较有意思,在Android 2.3及以上版本,使用的是HttpURLConnection,而在Android 2.2及以下版本,使用的是HttpClient。我也比较好奇这么使用的原
2017-05-16 15:52:59
360
转载 安装APK的错误码(PackageManager.java)
安装APK的错误码,定义在android源码中的这个文件中:frameworks\base\core\java\Android\content\pm\PackageManager.java[java] view plain copy /** * if the package is already installed. *
2017-05-09 10:39:25
1911
转载 一句代码实现标题栏、导航栏滑动隐藏。ByeBurger库的使用和实现
本文同步自wing的地方酒馆现在,ByeBuger可以轻易地将任何view在滑动的时候隐藏或者显示。同时支持头部(标题栏)和底部(导航栏)效果。ByeBurger项目地址先看一下全新的效果:还不错吧。然而,实现这么炫酷的效果,仅仅需要一句代码!使用1.在gradle 编译库文件allprojects { reposito
2016-11-07 09:31:14
696
1
转载 设计模式学习--代理模式
概述———————————————————————————————————————————————————代理模式—为另一对象提供替身或占位符以访问这个对象。OO原则———————————————————————————————————————————————————封装变化多用组合,少用继承针对接口编程,不针对实现编程为交互对象
2016-10-27 10:00:32
222
转载 缓存工具类LruCache
LruCache是android提供的一个缓存工具类,其算法是最近最少使用算法。它把最近使用的对象用“强引用”存储在LinkedHashMap中,并且把最近最少使用的对象在缓存值达到预设定值之前就从内存中移除。其在API12被引进,低版本可以用support包中的类。一、分析源码这个源码是从网上找的,自己懒得去找源码了。具体分析也是来自网络:http://www.open-
2016-10-24 09:39:35
500
转载 android 实现静默安装、卸载
android中应用的安装卸载,大家(用android设备的)肯定不陌生。这里就来浅谈android应用的安装、卸载的实现方式。1.系统安装程序android自带了一个安装程序---/system/app/PackageInstaller.apk.大多数情况下,我们手机上安装应用都是通过这个apk来安装的。代码使用也非常简单:?123
2016-10-09 14:24:06
750
转载 教你认清MVC,MVP和MVVM
相信大家对MVC,MVP和MVVM都不陌生,作为三个最耳熟能详的Android框架,它们的应用可以是非常广泛的,但是对于一些新手来说,可能对于区分它们三个都有困难,更别说在实际的项目中应用了,有些时候想用MVP的,代码写着写着就变成了MVC,久而久之就对它们三个的选择产生了恐惧感,如果你也是这样的人群,那么这篇文章可能会对你有很大的帮助,希望大家看完都会有收获吧!文章重点:(1)了解并区分
2016-08-29 13:35:34
450
转载 架构师之路
安卓架构文章合集(a collection of android Architecture)fork from :https://github.com/Juude/Awesome-Android-Architecture!!!博客原地址:简书博客github地址:AndroidArchitectureCollection github地址 请关注github
2016-08-15 15:20:53
939
转载 Android中的内部类引起的内存泄露
引子什么是内部类?什么是内存泄露?为什么Android的内部类容易引起内存泄露?如何解决?什么是内部类?什么是内部类?什么又是外部类、匿名类、局部类、顶层类、嵌套类?大家可以参考我这篇文章 ,再查查一些资料,先弄清楚什么是内部类和内部类的特性再向下看。经常会遇见Android程序中这样使用handler:public class SomeActivi
2016-08-04 14:14:27
398
转载 android tv焦点特效实现浅析
Android TV上的焦点凸显特效相信大家都看到过,那么我们就来实现它吧,首先上张效果图注意事项放前面: 设置setClipChildren和setClipToPadding,你要放大的item需要在每一个父级页面都申明!!!先说一下实现原理,主要通过重写RelativeLayout实现item,之后在其中加入scalanimation
2016-07-15 13:45:28
1037
原创 tablayout在移动中如何计算子控件的坐标
目前做的一个项目采用的是谷歌支持包的tablayout+viewpage实现页卡的功能。这篇文章主要记录下,在自定义tablayout下,计算子控件坐标时遇到的几个问题。1、我们在主layout下,会布局一个xxtablayout,一般都会设置margin(比如值为50)。并且在代码中,将tab填充N个textview作为title。所以,我们在获取tablayout下的第一个子控件(
2016-06-23 15:01:56
798
原创 关于LayoutParams(int width, int height, float weight) 参数解析
今天做项目的时候遇到一个非常奇葩的问题,textview不能显示。问题如下: 我通过textView.setLayoutParams(new LinearLayout.LayoutParams(0, ViewGroup.LayoutParams.MATCH_PARENT, 1.0F));来设置textview参数的时候,在我同事的开发环境下(AS加最新版本的23.0.7的AD
2016-06-14 16:40:15
2634
1
原创 关于图片锯齿产生的原因和如何消除
在Android中,锯齿产生的原因,目前我知道有两种: 1、 当我们用Canvas绘制位图的时候,如果对位图进行了选择,则位图会出现锯齿。 2、在用View的RotateAnimation做动画时候,如果View当中包含有大量的图形,也会出现锯齿。我们分别以这两种情况加以考虑。解决方案: ◆ 用Canvas绘制位的的情况。在用Canvas绘制位图时,一般地,我们使用drawBi
2016-06-06 10:11:54
9898
转载 Spring MVC 表单标签介绍
本篇我们来学习Spring MVC表单标签的使用,借助于Spring MVC提供的表单标签可以让我们在视图上展示WebModel中的数据更加轻松。一.首先我们先做一个简单了例子来对Spring MVC表单表单标签的使用有一个大致的印象,然后再结合例子对各个标签介绍一下如何使用。1.首先,在com.demo.web.models包中添加一个模型TagsModel内容如下:
2016-03-03 17:46:47
518
转载 css中id选择器和class选择器的区别?
ID选择器: id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。 id 选择器以 "#" 来定义。 下面的两个 id 选择器,第一个可以定义元素的颜色为红色,第二个定义元素的颜色为绿色:#red {color:red;}#green {color:green;}下面的 HTML 代码中,id 属性为 red 的 p 元素显示为红色,而 id 属
2016-02-23 13:11:13
1076
原创 Android判断目标IP是否存在
一共有两种方法:一、通过TCP发送消息到目标IP,捕获异常。 此方法不累述了,此方法有一个最大的问题是当对方单向断网则不管用了(例如拔网线)。二、通过windows下ping命令的方式 此方法是目前最有效的方法,并且ping方式有别于SOCKET通信,可以直接在主线程中运行。private boolean startPing(String ip){
2015-12-29 14:05:51
1844
原创 Android 获取view的位置和设置view的位置
今天在动态设置子layout中的控件动态布局的时候,老是设置不到合适的位置,查阅了很多资料,终于搞定!现记录如下:一、首先是获取VIEW的位置介绍:有四种方法:getLocalVisibleRect , 返回一个填充的Rect对象, 当前Rect大小,left,top取到的都是0,只有botton和right有效getGlobalVisibleRect , 获取全局坐标
2015-12-18 17:16:57
11109
2
转载 十大Material Design开源项目
摘要:本文详细介绍了十个Material Design开源项目,从示例、FAB、菜单、动画、Ripple到Dialog,看被誉为“Google第一次在设计语言和规范上超越了Apple”的Material Design是如何逐渐成为App的一种全新设计标准。介于拟物和扁平之间的Material Design自面世以来,便引起了很多人的关注与思考,就此产生的讨论也不绝于耳。本文详细介绍了在
2015-11-19 15:13:32
309
转载 JSON解析详解
JSON是JavaScript Object Notation的缩写,可见JSON来源于JavaScript。JSON数据是一系列键值对的集合。JSON和XML的比较JSON比XML体积小JSON和JavaScript交互更加方便JSON对数据的描述性没有XML好JSON的速度要远远大于XMLJSON的解析要比XML的解析要方便JSON已经被大多数开发人员所接受,在网络
2015-09-10 17:38:58
327
原创 工程师文化
任何公司想让软件工程师有幸福感,不想离职,就需要建立工程师文化。工程师文化是:阶级不明显、人与人之间简单、沟通高效、会议和饭局少、分享与学习的氛围强、不会让外行领导内行、部门间不存在明显壁垒、政治任务型的项目少、愿意投资比较长期的项目、让工程师有一定的冗馀时间自我学习新知识。偶然间看到的,至少我觉得这样的环境让人很舒服。
2015-08-31 16:30:56
413
原创 关于listview item 子控件焦点的问题。
问题如上图,现象为:名词解释:假焦点:左边的textview。真焦点:“play”button。用遥控器下移动的时候,假焦点会移动到Item的 textview,真焦点移动到“play”Button上。再按“下”,移动到下一个item的textview,真焦点不动。直到假焦点移动到最后一个item后,真焦点才开始向下移动。解决方案:其实非常简单,首先descen
2015-08-25 15:21:19
645
转载 Android酷炫实用的开源框架(UI框架)
Android酷炫实用的开源框架(UI框架)前言忙碌的工作终于可以停息一段时间了,最近突然有一个想法,就是自己写一个app,所以找了一些合适开源控件,这样更加省时,再此分享给大家,希望能对大家有帮助,此博文介绍的都是UI上面的框架,接下来会有其他的开源框架(如:HTTP框架、DB框架)。1.Side-Menu.Android分类侧滑菜单,Yalantis 出品。项目
2015-08-19 10:02:45
362
原创 Android Activity启动模式
在android里,有4种activity的启动模式,分别为: “standard” (默认) “singleTop” “singleTask” “singleInstance”1. 如何决定所属task“standard”和”singleTop”的activity的目标task,和收到的Intent的发送者在同一个task内
2015-08-06 11:16:24
296
转载 Android 省市县 三级联动(android-wheel的使用)
转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/23382805今天没事跟群里面侃大山,有个哥们说道Android Wheel这个控件,以为是Andriod内置的控件,google一把,发现是个github上的一个控件。下载地址:https://code.google.com/p/android-wheel/
2015-07-22 15:30:59
637
原创 baseAdapter出现IllegalStateException错误的问题,以及优化方案
关于Adapter大家都会用,但是用的时候常常会出现:java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified
2015-07-15 14:38:17
617
空空如也
关于ListView与子控件焦点的问题,出现了两个焦点?
2015-08-25
启动第三方应用时,设置FLAG_ACTIVITY_REORDER_TO_FRONT无效
2015-05-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人