android
文章平均质量分 52
大雄童鞋
学无止境
展开
-
Kotlin基础(四)控制流和函数
控制流if elseif / while / when / for break continuevar array = arrayOf(1, 2, 3, 4, 5) //遍历 for (a in array) { if (a > 2) { print(a) } } //范围内 for (a in 5..2原创 2017-12-26 10:49:57 · 241 阅读 · 0 评论 -
Kotlin基础(三)集合类型
集合基本这3大类型 Array 有序可重复 Set 无序不重复 Map无序可重复//默认数组10个1var lists = Array<Int> (10,{1})//创建数组//数组不可改变(类似Java中的Arrays.asList())var list = arrayOf(10,1,2,6,7,8,9)var set = setOf<Int>(77,88,99)原创 2017-12-26 10:41:18 · 420 阅读 · 0 评论 -
Kotlin基础(二) 基础类型和操作符
整数型Java中int a = 1;Kotlin中var a = 1 或 var a : Int = 1 浮点型Java中float a = 1.125fdouble a = 1.125Kotlin中一般只用双精度double,不用floatvar a = 1.125 或 var a : Double = 1.125 布尔型Java中boolean b = false;Kot原创 2017-12-26 10:32:25 · 268 阅读 · 0 评论 -
Kotlin基础(一) 常量、变量、可见性修饰符
常量预期范围内恒定不变的量(不可再被赋值) 给常量一个值,叫“赋值”,即 val 常量名 = 值在Java里面一般大写定义:比如FragmentActivity的TAGprivate static final String TAG = "FragmentActivity";public static final int MSG_REALLY_STOPPED = 1;Kotlin里面这样写(va原创 2017-12-26 10:25:10 · 717 阅读 · 0 评论 -
Android API 25 (7.1.1) Nougat (Android.jar子包整理)
一直想了解下Android里面的所有东西,今天简单整理一下随意打开一个项目,以25为例,这里截取部分包 所有包的整理如下:原创 2017-11-27 17:25:10 · 1676 阅读 · 0 评论 -
升级Android Studio 3.0 时卡在Building 或者refresh
今天升级Android Studio 3.0,不幸的是,我又遇到了卡在Building 或者无限refresh的问题。开始我以为要下载,所以就没管它,等一会儿就好了,可以等了20分钟了,发现还是卡在这里,后来我发现我的本月免费lanter高速流量用完了,对,它确实在下载。但是很慢,关键是我看不到进度啊。于是我百度了一把查看哪些软件占用网速 https://jingyan.baidu.com/alb原创 2017-11-15 15:01:22 · 1276 阅读 · 0 评论 -
Java API学习(三)java和javax在Android中的应用
在线中文api:http://tool.oschina.net/apidocs/apidoc?api=jdk-zhJava版本:1.8Android版本:23java的api有java和javax2个包java和javax都是Java的API包,java是核心包,javax的x是extension的意思,也就是扩展包,它和java各有各的用处了解完java和javax,下面看看它们在Android原创 2017-09-22 09:51:12 · 3854 阅读 · 0 评论 -
Java API学习(二)javax包
在线中文api:http://tool.oschina.net/apidocs/apidoc?api=jdk-zhJava版本:1.8Android版本:23java的api有java和javax2个包java和javax都是Java的API包,java是核心包,javax的x是extension的意思,也就是扩展包,它和java各有各的用处上篇了解了java包中的内容,今天了解下javax包原创 2017-09-21 19:31:27 · 9962 阅读 · 0 评论 -
郭霖的LitePal版本历程
官方(持续更新…):https://github.com/LitePalFramework/LitePalAndroid数据库高手秘籍(零)——前言 http://blog.csdn.net/guolin_blog/article/details/38083103 Android数据库高手秘籍(一)——SQLite命令 http://blog.csdn.net/guolin...原创 2017-05-04 17:55:04 · 17324 阅读 · 8 评论 -
Android系统的理解(Android系统的框架)
Android系统 从低到高分别是 1. Linux Kernel 内核层:即一大堆系统驱动,蓝牙驱动,摄像头驱动等… 2.Android系统库:C/C++ 库的集合,各种引擎:浏览器引擎,数据库引擎等…(给系统组件用的) 3.Android 运行时: java核心库 4.应用程序框架层:系统管理类库,Activity 管理、消息通知等 5.应用层:开发应用程序的,开发者的平台原创 2015-11-11 10:50:05 · 801 阅读 · 1 评论 -
Android Camera结合Zxing优化扫码
先上个图: 由于之前集成的zxing扫塑料上面的码不太好扫,决定优化。Zxing的解码我们优化不了了,经过测试,是因为亮度不够,所以最终选择在灯光和放大焦距完成了最终的优化。 设置模式只需要几行代码即可://得到Camera对象Camera camera = CameraManager.get().getCamera();Camera.Parameters parameters = came原创 2017-08-04 12:44:09 · 5836 阅读 · 4 评论 -
谷歌官方详细介绍 Android Studio 3.0 Canary 1
原文:http://developers.googleblog.cn/2017/05/android-studio-30-canary-1.html文 / Google Android 产品经理 Jamal Eason借 Google I/O 2017 的东风,Android Studio 3.0 今天就可以在我们的 Canary 发布渠道上下载。Android Stu转载 2017-06-20 13:58:07 · 1599 阅读 · 0 评论 -
Android自定义View写柱状图
首先借鉴了3个案例然后进行了整合,在原有基础上增加了点击和移动事件: http://blog.csdn.net/nugongahou110/article/details/49517725 http://z.sye.space/2015/10/20/ChartView/ http://blog.csdn.net/zhanggang740/article/details/51769423?loc原创 2017-04-25 15:10:49 · 2109 阅读 · 0 评论 -
Kotlin基础(五)类
定义一个可以被继承的类:open关键字 属性列表:constructoropen class BaseDao constructor(var sex : Boolean, var name : String) {}//类ADao继承了BaseDao 类,可以选择是否设置默认值//有默认值的情况下,可以不传参数class ADao(sex : Boolean = false, name: St原创 2017-12-26 10:57:26 · 281 阅读 · 0 评论 -
Kotlin基础(六)接口、泛型
接口定义:Interface 接口名{//各种属性或方法定义}//接口和泛型interface IBaseDao<T> { val city : String get() = "北京" var grade : Int fun <T>add(t : T) fun del(id: Int) fun update(id: Int, stu: Student)原创 2017-12-26 10:59:12 · 928 阅读 · 0 评论 -
DownloadManager+NumberProgressBar+Executors线程池实现多并发下载APK安装
在github上面苦苦寻找都木有找到有关Android自带下载器DownloadManager多并发下载的,于是就决定自己试试写一个。 先上个图: 我的上篇文章 http://blog.csdn.net/u013277740/article/details/51737080 只实现了单个下载安装,这次升级一下实现步骤: 1、初始化一个缓存线程池cachedThreadPool = Exec原创 2017-06-19 15:26:54 · 2136 阅读 · 0 评论 -
Android调用go语言 - 详细版
Android调用go语言就一句话:Android Studio 引入go代码打包的aar进行代码调用 准备工作:Android 方面: 1、JDK环境 2、Android SDK 3、Android NDKGo方面: 1、Golang环境 2、gomobile安装Android方面JDK,SDK,NDK我就不说了,注意环境变量配置的时候,不要出错(比如空格) 安装好后,...原创 2020-05-29 13:38:16 · 2490 阅读 · 0 评论 -
工厂模式实现并发请求多个接口 (同步后台数据实现离线APP)
背景:客户现场没有网络,需要在APP上面录入信息并上传后台服务器解决方案: 使用APP之前,先(下载)同步后台基本数据,同步完成后,客户直接使用离线版进行数据录入即可。具体实现: 方案一、登录APP后,后台扔过来一个文件,客户端去下载(不利于更新数据) 方案二、登录APP后,分在线和离线两种模式,在线模式同步后台的基本数据后,离线模式就可以直接使用了。 采用原创 2018-02-06 20:38:26 · 2356 阅读 · 3 评论 -
Android 灵活切换下拉刷新(策略模式+反射)
最近想换下拉刷新了,但是不想舍弃以前的,就想能不能两个都并存,在使用之前配置一下,配置A就使用A,配置B就使用B。(原理就是通过反射来控制使用相应的策略) 使用很简单,只需要修改模式类型就可以直接切换下拉刷新的模式了://模式一private int refreshMode = RefreshContext.SWIPE_REFRESH;//模式二private int refreshM...原创 2018-02-10 12:53:28 · 567 阅读 · 0 评论 -
Android 自定义Log 多模式
先上个效果图: 模板一: 模板二: LOG常用的方法有以下5个: Log.v() Log.d() Log.i() Log.w() Log.e() 。分别对应下图,除Assert 1、Verbose 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v(“”,”“);2、Debug 的输出颜色是蓝色的,仅输出de...原创 2018-02-08 10:24:24 · 1375 阅读 · 0 评论 -
Android版本更新 ~ 版本号判断
先贴一个后台返回的一般版本更新接口格式:拿到后台返回的数据后,对比版本号,如果相等,当前已是最新版本,后台返回的code大于本地应用的code,则允许下载更新。假设目前已判断到后台code > 本地code下一步为了节省流量,不用每次都下载,判断下本地是否已经下载了apk,而没有安装,如果已经下载了,那么就直接安装更新,但是有个问题,本地的apk和你现在的apk是否是同一个版本呢?原创 2018-01-19 17:23:17 · 2128 阅读 · 0 评论 -
Android 文件存储(一)Environment
1、常量 //与Environment.getExternalStorageState();返回的状态进行比较String MEDIA_BAD_REMOVAL//SDCard卸载之前被删除时的存储状态。String MEDIA_CHECKING//如果SDCard存在并进行磁盘检查。String MEDIA_MOUNTED//如果SDCard存在,并在其安装读/写访问。String ME原创 2017-04-14 14:07:16 · 757 阅读 · 0 评论 -
Android Studio运行main方法
这样想做一些测试就很简单了实现步骤如下: 1、当前项目右键->new->Module->Java Library 2、修改你创建javaLib的build.gradle文件改为(重要):apply plugin: 'java'apply plugin: 'application'mainClassName = 'java.MainRun' 3、来个main方法就ok了pa原创 2017-04-13 14:58:22 · 10849 阅读 · 0 评论 -
Android Studio 2.0代码热更新
1. 进入Android Studio2.0打开项目后依次进入 File—>Setting—>Build,Execution,Deployment—>Instant Run查看即时运行的设置项目,你可能会发现勾选项目是灰色的 2. 这个是因为你的project gradle是旧的,点击下Update Project稍等片刻就好。 更新我发现Project gragl转载 2016-03-29 18:34:47 · 6986 阅读 · 0 评论 -
Android开发艺术探索小记(第十四章)
JavaJNI : java Native Interface(java本地接口) 作用:方便java调用c/c++代码封装的一层接口NDK:Android工具集合 作用:访问C代码;生成动态库(linux:so文件,windows:dll文件) 好处: 1.so库反编译困难,提高安全性(可以放一些appkey,secrect) 2.直接使用现有的c/c++开源库 3.便于平台移植 4原创 2016-03-01 18:07:49 · 558 阅读 · 0 评论 -
含有HeaderView和FooterView的RecyclerViewAdapter
package com.group.buy.adapter;import java.util.ArrayList;import java.util.List;import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;import android.view.View;import andro原创 2015-11-25 18:32:33 · 695 阅读 · 0 评论 -
常用的android开发网站
http://codekk.com/open-source-project-analysis 开源整合https://github.com/Trinea/android-open-project Ui开源整合http://www.androiddevtools.cn/ 官方各类工具插件下载 最新的android studio http://too原创 2015-12-24 11:22:57 · 457 阅读 · 0 评论 -
ListView和RecyclerView比较
1.ViewHolder作用:View复用Listview自己定义RecyclerViewRecyclerView.ViewHolder则变成了必须2.LayoutManager作用:布局管理器Listview官方推荐只做垂直滚动功能RecyclerViewLinearLayoutManager,可以支持水平和竖直方向上滚动的列表。 StaggeredGridLayoutManager,可以支持交翻译 2016-01-28 13:49:30 · 1536 阅读 · 0 评论 -
JenKins+GitHub 自动化构建
1.从http://mirrors.jenkins-ci.org/windows/latest下载windows下的最新安装版jenkins。(如果不能安装,从http://mirrors.jenkins-ci.org/war/latest/jenkins.war下载war包,手动配置,配置说明参见https://wiki.jenkins-ci.org/display/JENKINS/Use+Jen原创 2015-11-16 19:43:36 · 2137 阅读 · 1 评论 -
自动补全控件
自动补全控件需要注意:android:completionThreshold=”1″(也可是使用editext+addTextChangedListener代替) 属性设置了一个阀值,规定用户打了多少字符之后才出现自动提示,默认值是2,我在这里改成了1。原创 2015-11-19 18:18:28 · 595 阅读 · 0 评论 -
枚举单例
声明枚举实例的通常做法:/*** Singleton pattern example using Java Enumj*/public enum EasySingleton{ INSTANCE;}通过EasySingleton.INSTANCE来访问DCL实现:/*** Singleton pattern example with Double chec转载 2015-12-23 10:15:14 · 786 阅读 · 0 评论 -
android studio 2.0安装
studio 2.0 解压就可以啦 https://dl.google.com/dl/android/studio/ide-zips/2.0.0.0/android-studio-ide-143.2443734-windows.zip32bit JDK 请点击android-studio\bin\studio.exe 64bit JDK请点击android-studio\bin\studio64原创 2015-12-02 16:09:52 · 1224 阅读 · 0 评论 -
Android Volley完全解析总结
看了郭霖的大作之后,对volley有了更深的理解了,感谢大神!其中蓝色部分代表主线程,绿色部分代表缓存线程,橙色部分代表网络线程。我们在主线程中调用RequestQueue的add()方法来添加一条网络请求,这条请求会先被加入到缓存队列当中,如果发现可以找到相应的缓存结果就直接读取缓存并解析,然后回调给主线程。如果在缓存中没有找到结果,则将这条请求加入到网络请求队列中,然后处理原创 2015-11-21 10:05:23 · 602 阅读 · 0 评论 -
SmartTabLayout+PtrFrameLayout+ViewPager+Fragment简单实现
先来个效果: 1.引入相关layout //下拉刷新 compile ‘in.srain.cube:ultra-ptr:1.0.11’ //Tab切换 compile ‘com.ogaclejapan.smarttablayout:library:1.6.0@aar’ compile ‘com.ogaclejapan.smarttablayout:u原创 2016-03-28 19:27:49 · 6838 阅读 · 0 评论 -
AndroidStudio导入项目到VisualSVN Server并忽略(ignore)相关文件详细步骤
当你提交代码的时候,如果出现各种你不想提交的文件的时候,你也许会选择在项目左边栏选中java–>src来进行提交,这样操作是没有问题,但是如果你想使用快捷提交的图标进行提交的话,就会很蛋疼了。 如图就是此图标: 花了一中午时间借助VisualSVN Server 工具,终于实现了点击快捷提交图标出现如图的效果(很干净,只看到我想要看到的东西):步骤如下: 1.下载VisualSVN S原创 2016-04-01 15:59:04 · 2659 阅读 · 0 评论 -
Andorid简单调试步骤
做开发的,最基本的调试要会,今天简单做个步骤,希望对小白有帮助。 网上很多教程讲的都是使用这个按钮进行调试 今天我只讲个简单的吧。 简单流程:正常Run app也就是用“倒右三角”直接运行,运行之后,想调试那个功能,再进行调试 举个简单的例子:当你忘记findviewbyid的时候就直接setText的时候会出现空指针异常如图: 步骤: 1.点击运行,进入到你想调试的页面(如原创 2016-05-05 14:30:21 · 1735 阅读 · 0 评论 -
WebView·开车指南
北京市东城区首席Bug布道师开山之作,一整月交通事故血泪经验,教你如何快速成为‘伪’老司机,开启WebView飙车之旅。Tips由于WebView的用法实在太多,如果您只是想查询某个功能的使用——建议Ctrl+F(Commad+F)在本页面搜索关键字查找。文章给前半部分大多是方法的介绍,若嫌琐碎可直接拖到最后看代码演示。Thanks for reading~!٩(♡ε♡转载 2017-04-12 18:22:44 · 526 阅读 · 2 评论 -
第四章ListView使用技巧(Android群英传)
ListView常用技巧 ListView常用拓展 1、ListView常用优化技巧1、使用ViewHolder模式提高效率 @Override public View getView(im position, View convertView, VîewGroup parent) { ViewHolder holder = llull; 判断是否缓存 if(convertYie原创 2017-02-14 09:39:19 · 389 阅读 · 0 评论 -
Android头部状态栏SystemBarTint
1.首先去参考下:https://github.com/jgilfelt/SystemBarTint 下载相关jar包放置项目中的lib目录 2.在BaseActivity中重写Oncreate方法:@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInst原创 2015-11-13 09:15:18 · 1092 阅读 · 0 评论 -
第五章Android Scroll分析(Android群英传)
学习本章将明白: 1、发送滑动效果的原因 2、如何处理实现滑动效果5.1、滑动效果是如何产生的? 滑动一个view其实就是移动一个view,原理与动画效果的实现很相似,都是通过不断改变view的坐标来实现 所以要实现view的滑动就必须监听view的触摸事件,根据事件传入的坐标,不断的改变view的坐标来实现view 跟随用户触摸的滑动而滑动我们先了解一下1、Andro原创 2017-02-16 15:36:07 · 393 阅读 · 0 评论