- 博客(128)
- 资源 (38)
- 收藏
- 关注
原创 安卓转战React-Native之windows下android环境搭建爬坑血泪史
前言 最近又有新的项目立项,所以好久都没有写博客了,然后都是利用闲暇时间来学习React-native。由于安卓和ios的就业环境给移动端开发带来前所未有的冲击,于是乎很多伙伴们不得不另谋他路,然后现在比较火爆的Hybird和react-native也是对我们移动端的影响比较大,比如去面试会问你会nodej或者react不,前端工程师(js)转移动端的门槛变得很低,angularjs和reac
2016-05-24 23:23:24 11986 7
原创 Intellij IDEA快速补全代码,偷懒有度
实现的方式可以使用添加自定义模板设置快捷键,然后使用快捷键生成,这个有点麻烦,其实有很多的是可以后缀补全的。1. main 方法2.打印语句3.try…catch4. var 声明5.null 判空6.notnull 判非空7.nn 判非空8.for 遍历9.带索引的遍历10类型强转11.if 条件12.return语句
2019-04-03 15:31:08 23345 2
转载 MongoDB增删改查操作
本文包含对数据库、集合以及文档的基本增删改查操作文档操作增:增加时没有指定_id则默认ObjectId,_id不能重复,且在插入后不可变增加1.单条增加user={ "name":"egon", "age":10, 'hobbies':['music','read','dancing'], 'addr':{ 'country':'China...
2019-03-28 18:02:00 828
转载 mongodb与mysql命令对比
我们总是在对比中看到自己的优点和缺点,对于mongodb来说也是一样,对比学习让我们尽快的掌握关于mongodb的基础知识。mongodb与mysql命令对比关系型数据库一般是由数据库(database)、表(table)、记录(record)三个层次概念组成。而非关系型数据库mongodb是由数据库(database)、集合(collection)、文档对象(document)三个层次组成。...
2019-03-27 17:27:44 984 1
原创 mongo 概念介绍以及数据库操作
MongoDB的单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限,不同的数据库也放置在不同的文件中。mongo --port 27017mongo 的默认端口为27017,数据传输协议 TCP,数据库目录 /data/db1. mongo 使用shell 的常用命令1. show dbs #显示已有的数据库列表2. show collections #...
2019-03-27 15:15:47 2287 2
转载 mongoDB支持的数据类型
MongoDB文档存储是使用BSON类型,BSON(BSON short for Binary JSON, is a binary-encoded serialization of JSON-like documents)是二进制序列化的形式。类如JSON,同样支持内嵌各种类型。下表为MongoDB 常用的几种数据类型:数据类型描述String字符串。存...
2019-03-26 20:55:35 11901
原创 mac 下mongo 的安装和配置
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。初次使用mongo,知道是存文档的nosql 类型数据库,操作起来比较简单和容易。1.安装方便,可以去官方下载安装包,也可以包管理工具安装brew in...
2019-03-25 21:50:52 932
原创 安卓8.0 启动后台Service 引发一个 IllegalStateException
某天收到一加手机出错的原因,原因是后台保活Service 调用的startService() 出问题了,然后特么的jpush 也出了这问题,感觉好尴尬然后马上去极光的文档看来下,原来是老版本还没有适配8.0,
2018-11-29 11:12:01 980
原创 error:style attribute '@android:attr/windowEnterAnimation' not found 解决
不得不说谷歌有时候也是很坑的,这里吐槽下。最近把老项目用android studio 3.1 打开,发现报错: error:style attribute ‘@android:attr/windowEnterAnimation’ not found才发现是aapt2 的错误,果断把aapt2 给禁用掉: 升上3.1之后,gradle build总是出现“The optio...
2018-06-11 11:20:09 2427
原创 Android Studio从2升级到3 代码迁移需要的操作
特么的运行着 然后发现死丢丢跑不起来了,是创建helloworld都出错的那种,果断换成新版本来弄一下。代码import是一片红,哈哈module目录下的build.gradle 1.删除buildToolsVersion。Android Studio3.0之后不需要再指定buildToolsVersion,每个版本的Android Gradle插件都有默认版本的构建工具,不删除只...
2018-05-23 17:47:12 1363
原创 TextureView 做相机预览黑屏
特么使用TextureView 代替Surfaceview 来做相机预览页,因为用Surfaceview预览的话传一个SurfaceHolder进去,用Textureview预览的话需要传进去一个SurfaceTexture,其他的Camera流程不变。demo 是ok的但是发现放到项目里面是黑屏,起先以为是so库什么东西冲突了,后来发现是TextureView onSurfaceTextur...
2018-05-17 15:50:48 6711 1
原创 安卓组件化的锅
最近公司做了某个国企的单,我还以为是要做大的项目,然后想当然的使用组件化来开发app,直到今天我是后悔了。 组件化看起来高大上,其实不然,感觉一般的项目是用不到,哈哈,如果没有明确的需求前不宜使用组件化否则就变成了画蛇添足了。组件化用起来无非就是为了解耦和便于调试,当需求不明确就很鸡肋,需求不断变化就会导致代码很乱或者界面臃肿。组件化使用无非就是通过gradle动态配置a
2018-01-22 11:19:19 623 3
原创 解决错误ConcurrentModificationException
今天莫名的找bug日志发现了这个错误,有点懵逼了,看别人的代码就是这样的。google了一下原来是当方法检测到对象的并发修改,但不允许这种修改时,抛出此异常。说明以上办法在同一个线程执行的时候是没问题的,但是在异步情况下依然可能出现异常。解决办法:1) 通过Iterator修改Hashtablewhile(it.hasNext()) {Object ele = it.next();
2017-06-27 14:51:54 1904
原创 Fragment 使用hide和show,使用onHiddenChanged代替执行生命周期
ragment是我们经常使用到的一个控件,但是,相信大家会出现这样的一个问题,每次切换fragment的时候之前我们一直都是这样写的代码:/** * 根据传入的参数来改变当前的fragment * * @param fragment */ private void showFragment(Fragment fragment) { Fr
2017-06-05 17:12:32 25284
原创 XmlResourceParser出错解决
今天有点懵逼,对接的pos机在debug模式下安装在手机上是木有报错的,然后打包出来就出错了。然后看厂商的demo发现也是这样,我特么就感觉是没有代码混淆的问题,然后代码混了下果断ok. 错误如下:java.lang.NoSuchMethodError: No interface method i()I in class Landroid/content/res/XmlResourcePars
2017-05-16 15:56:22 2596 1
转载 微信小程序request出现400的坑
最近在跟着demo学习微信小程序,当进行网络请求时出现400,折腾了很久,代码如下:wx.request({ url : "https://api.douban.com/v2/movie/top250", data: {}, header:{ "Content-Type":"application/json" }, success: funct
2017-02-10 11:57:28 14145 2
转载 Python推导式尝试学习
列表生成式(list comprehension)是一种简化代码的优美方法。根据python文档,“列表生成式提供了一种创建列表的简洁方法。”在这篇教程里,我将会使用一些例子来展示如果使用列表推导式。列表推导式 列表推导式书写形式: [expr for value in collection ifcondition]1 平方列表如果你想创建一个包含1到10的平方的列表,你可以这样
2017-01-02 01:21:10 1117
原创 ubuntu16.04搭建优美的开发环境
ubuntu 开发环境的配置获取root权限 在终端中输入命令: sudo passwd root 会提示让你输入ROOT帐号的密码 Enter new UNIX password: (在这输入你的密码) Retype new UNIX password: (确定你输入的密码) passwd: password updated
2016-12-28 18:03:22 17428 1
原创 Ubuntu16.04下qq安装历程
说起来对于一个安卓开发人员,长期在win上开发的人没有qq是很操蛋的,对于一个ubuntu的小白来说也很痛苦,前几天更新ubuntu到了16.10发现很多不爽的地方,然后我卸了重新安装了16.04再次进行了开发环境的配置,当然免不了qq的使用。作为一个开发人员还是得有个qq的,然后呢,以前都没有试过在ubuntu上安装qq,然后测试了下,真的是各种坑爹。在网上搜索了好
2016-12-23 16:38:47 3545
原创 安卓开发实战之app之版本更新升级(DownloadManager和http下载)完整实现
前言本文将讲解app的升级与更新。一般而言用户使用App的时候升级提醒有两种方式获得:一种是通过应用市场 获取一种是打开应用之后提醒用户更新升级而更新操作一般是在用户点击了升级按钮之后开始执行的,这里的升级操作也分为两种形式:一般升级强制升级app升级操作:应用市场的app升级在App Store中升级需要为App Store上传新版App,我们在新版本完成之后都会上传到App St
2016-09-28 17:08:07 59475 19
原创 安卓实践开发之MVP一步步实现到高级封装
在上家干了快2年辞职后在家休息了快一个月了,说实在的不上班的感觉爽(睡觉睡到自然醒,游戏玩到手抽筋)。哈哈,又是快到一年过中秋的时候了,好久没有更新博客了,今天顺便撸一篇。前言话说MVP的模式已经问世好几年了,为什么很多公司还是不愿意接受呢?说实在的我就还是喜欢自己的mvc,不喜欢看见mvp庞大的架构,所以前公司的项目呢也不曾使用过mvp(同事也不接受这种模式),毕竟项目架构不是特别复杂的话使用mv
2016-09-12 16:51:27 17426 11
原创 安卓IPC之aidl使用(三)---System aidl调用
AIDL的理解:Service中的IBinder 还记得我们在MyService中利用new IMyInterface.Stub()向上转型成了IBinder然后在onBind方法中返回的。那我们就看看IMyInterface.Stub吧:public static abstract class Stub extends android.os.Binder implements aidl.IMy
2016-09-04 17:52:44 2551 1
原创 安卓IPC之aidl使用(二)---aidl本地实现
一直都以为aidl必须写一个服务端是吧,那样岂不是有时候需求怎么实现,如果app的service和client属于同一app,那样实现是不是更好的满足我们的需求呢。 本例子我们实现一个很简单的例子:实现2个数相加// ILocal.aidlpackage com.losileeya.localaidl;// Declare any non-default types here with imp
2016-09-04 17:16:45 1156
原创 安卓IPC之aidl使用(一)--aidl常见使用
在android上有很多跨进程的通讯方法例如aidl,messenger,ContentProvider,BroadCast,Socket等等,安卓进程间通信(IPC)那肯定要谈到AIDL。你知道你需要进程间通信、需要AIDL(以及Binder),那么可以默认你对这些概念已经有了一些了解,你(大致)知道它们是什么,它们有什么用,所以为了节约大家的眼力和时间。AIDL简单介绍 AIDL:Andr
2016-09-04 16:45:47 2693
原创 JAVA线程与多线程
去安卓面试的时候通常会问一些java问题,所以呢你可能觉得答问题时答案很蛋疼,今天来介绍一下线程。先看几个概念:线程:进程中负责程序执行的执行单元。一个进程中至少有一个线程。多线程:解决多任务同时执行的需求,合理使用CPU资源。多线程的运行是根据CPU切换完成,如何切换由CPU决定,因此多线程运行具有不确定性。● 线程java中的线程使用java.lang.Thread类或者java.lang.Ru
2016-08-25 19:10:10 3889 4
原创 自己动手做一个adb的wifi连接及adb命令的apk
前言估计搞安卓开发的小伙伴们都放弃了eclipse的开发转战android studio了吧,现在gradle都3.0 buiild都24.0.2了以后 都不再支持2.2及以下的版本了。eclipse的同学快上车。 上面的都不是重点,每当你大清早起来去公司上班,然后打开电脑发现你的usb线没有带,作为一个安卓程序员的你有点尴尬了。然后你果断的给android studio装上ADB WIFI插
2016-08-21 12:34:02 14295 2
原创 android 打包上线忘记password 和 alias在有 签名文件的情况下如何找回
哈哈,这种需求我也是醉了。 今天有个搞ios的朋友(以前公司同事,现在是Leader)问我他们公司安卓要做版本升级,然后签名文件有但是password 和 alias忘记了,总不能重新搞个签名文件吧,密码试了一大堆无济于事,我听后特么感觉想笑,但是真出现这样的问题特么也是尴尬。看下截图:为了保证以后特么出现这种情况,我个人还是很乐意操作的,蛋碎一地的事情经常发生,哈哈实际操作下吧。步骤一:准
2016-08-17 15:12:59 19494 9
原创 安卓实战开发之JNI再深入了解
JNI重新认识头文件:1.头文件中存放的是对某个库中所定义的函数、宏(define)、类型、全局变量等进行声明,它类似于一份仓库清单。若用户程序中需要使用某个库中的函数,则只需要将该库所对应的头文件include到程序中即可。2.头文件中定义的是库中所有函数的函数原型。而函数的具体实现则是在库文件中。3.在连接器连接程序时,会依据用户程序中导入的头文件,将对应的库函数导入到程序中。头文件以.h为后缀
2016-08-06 11:38:51 2764
原创 安卓实战开发之JNI从小白到伪老白深入了解JNI动态注册native方法及JNI数据使用
前言或许你知道了jni的简单调用,其实不算什么百度谷歌一大把,虽然这些jni绝大多数情况下都不会让我们安卓工程师来弄,毕竟还是有点难,但是我们还是得打破砂锅知道为什么这样干吧,至少也让我们知道调用流程和数据类型以及处理方法,或许你会有不一样的发现。 其实总的来说从java的角度来看.h文件就是java中的interface(插座),然后.c/.cpp文件呢就是实现类罢了,然后数据类型和java还
2016-07-23 19:06:41 5393 1
原创 安卓实战开发之JNI入门及高效的配置(android studio一键生成.h,so及方法签名)
前言以前也讲过NDK开发,但是开始是抱着好玩的感觉去开始的,然后呢会helloWord就觉得大大的满足,现在静下来想这NDK开发到底是干什么呢? NDK开发,其实是为了项目需要调用底层的一些C/C++的一些东西;另外就是为了效率更加高效些但是在java与C相互调用时平白又增大了开销(其实效率不见得有所提高),然后呢,基于安全性的考虑也是为了防止代码被反编译我们为了安全起见,使用C语言来编写这些重
2016-07-17 00:56:52 13696 3
原创 安卓实战开发之把arr替换为library给eclipse使用(菜鸟学习)
前言我特么也是醉了,公司硬是使用eclipse开发安卓项目(为了给技术老大检查代码,我平时开发都是android studio),然后呢公司有需求说是要集成杉德渠道系统,果不其然客户给的是android studio的项目demo,我们的技术老大呢问我这什么工程,我笑了(毕竟老大不是安卓开发),但是项目里面是arr而不是以前的jar或者so库,所以呢的手动转一下。具体操作aar是Google为And
2016-07-04 16:03:27 5526 2
原创 安卓实战开发之CardView的selector及GrideView的item按下状态保留selector(state_activated)的实现
android的selector对于android开发者而言再熟悉不过了,只要定义一个drawable目录下定义一个selector的xml文件,在布局文件中background引用这个xml文件或者在代码中setBackgroundDrawable的时候使用此xml就可以实现控件按下或有焦点或激活状态等不同状态的效果。你真的对selector的使用全了解吗?前言项目中确实用到了像多个标签,然后选中
2016-07-03 17:03:34 10016
原创 安卓实战开发之SQLite从简单使用crud
前言最近项目忙,然后呢很久没有更新博客了,react-native也是没有时间学习,然后项目里面用到了数据持久化(数据存储),Android系统中主要提供了三种数据持久化方式:文件存储、SharedPreference存储、数据库存储。说实在的毕竟app这种轻量级的使用数据库还是不多,然后呢要使用数据库也是在特定场合,这也导致了很多的移动端开发(对数据库操作不多)对数据库使用不太熟练。
2016-06-19 15:59:17 8112
原创 安卓转战React-Native之签名打包成Apk并极速多渠道打包
React Native进行签名多渠道极速打包成Apk前言搞安卓的开发应该知道开发好的apk都是需要上传到应用市场给用户下载的,当然有些公司的产品是不用上传到应用市场的(比如我们公司放七牛云)但是也需要放在云上面给用户下载。react-native直接run-android默认是产生一个debug的版本apk显然这是不符合开发需求的,理由很简单debug版本apk是没有进行代码混淆的这是很危险的,所
2016-05-29 23:35:06 13121 1
原创 安卓转战React-Native之windows下android环境搭建爬坑血泪史
前言 最近又有新的项目立项,所以好久都没有写博客了,然后都是利用闲暇时间来学习React-native。由于安卓和ios的就业环境给移动端开发带来前所未有的冲击,于是乎很多伙伴们不得不另谋他路,然后现在比较火爆的Hybird和react-native也是对我们移动端的影响比较大,比如去面试会问你会nodej或者react不,前端工程师(js)转移动端的门槛变得很低,angularjs和rea...
2016-05-24 23:25:25 669
原创 安卓实战之如何快速搭建app架构
前言最近公司的另一个项目又要立项了,作为公司的唯一安卓工程师任务来了(新来的移动端的老大说项目还是主要你负责,我就负责帮你们安排下进度),听了这话我是伤心的在这公司不管是几个还是1个安卓开发都是我来搭建,干着与工资不符的事情,好的一点是开发没有人干涉平时也能学习自己想学的东西。如何选择app架构(MVC/MVP/MVVM)最近越来越多的人开始谈论架构。我周围的同事和工程师也是如此。尽管我还不是特别深
2016-05-23 22:44:56 18123 9
原创 安卓实战中防止Button的频繁点击多次执行点击事件和点击切换文字
哈哈,今天来写两种button在安卓开发实战的对应效果处理,也是对button的点击事件触发过程的处理。 开发实战中button事件处理3种情况:情况一:button点击触发倒计时情况二:button频繁点击(特别是触发网络请求),本人公司是金融公司很容易产生两笔交易的情况。情况三:button点击时不断轮流切换文字 看效果: 情况一:button触发倒计时请移步我的:频繁点击 安卓
2016-05-21 22:17:55 6909
原创 android从源码解析并实现各种Toast效果合集
前言安卓中为了给用户的友好提示,一般的表现形式为Dialog、PopWindow、Toast,自从Snackbar的出现绝对是秒杀Toast了,Snackbar不仅能够简单实现toast的效果而且还能setAction,但是还是有很多的应用是使用了Toast的,并且安卓死丢丢也有toast的插件,可见toast还是有他存在的价值。看效果csdn传图片不能太大,马蛋来2张好了: 解读安卓的Toa
2016-05-09 21:49:56 5105 3
原创 安卓之ViewFlipper实现渐变视差导航页
前言以前的导航页总是使用viewPager配套fragment来实现的,某天一个妹子说其实导航页也可以使用ViewFilpper 来实现,哈哈确实不错,前段时间就用ViewFilpper 实现了京东快报,然后呢那时候对ViewFilpper 也随便了解了下,不过那个直接是xml实现的,这里不表了,接着看今天实现的渐变视差导航页。ViewFilpperViewFilpper 是Android官方提供的
2016-05-05 22:46:16 3624 3
原创 安卓开发接口回调经典案例网络请求
在Android中到处可见接口回调机制,尤其是UI事件处理方面。然后一般刷新ui的处理:广播,接口回调,handle或者使用eventbus或是otto,总的来说也就是个监听模式的使用吧。回调函数解释回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的
2016-04-26 12:48:33 5951 3
QuickContactBadge和AsyncQueryHandler实现联系人列表
2015-04-28
安卓版本更新完整版
2016-09-28
SelectMaster.rar
2016-07-03
alipay_demo
2016-05-09
下载进度显示
2016-04-17
EventBusApp.rar
2016-04-14
EventBusApp
2016-04-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人