自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 APP共享内容

分享简单的文本内容 public void sharedSimpleContentClick(View v){ Intent intent=new Intent(); intent.setAction(Intent.ACTION_SEND); intent.setType("text/plain"); intent.putExt...

2019-05-27 17:35:50 309

原创 知乎 Android 客户端组件化实践

背景知乎 Android 客户端最早使用的是最常见的单工程 MVC 架构,所有业务逻辑都放在了主工程 Module 里,网络层和一些公共代码分别被抽成了一个 Module。现在看来,当时的业务线、产品功能及研发团队都比不上现在的体量和丰富度,遇到的问题随时组内沟通就可以解决。所以在知乎稳步发展的前几年,并没有遇到什么大的问题。后来公司发展速度加快,拆分了多个独立的事业部,每个事业部有独立的 ...

2019-05-27 15:54:58 191

原创 打造一个万能的适配器!!!

最近项目中 经常用listView和GridView ,可以说是项目中Listview GridView几乎是必用的组件,Android也提供一套机制,为这些控件绑定数据,那就是Adapter最近抽了时间,自己也打造了一个万能的适配器看我们之前的一些写法:public class ImageViewAdapter2 extends RecyclerView.Adapter<ImageV...

2019-05-26 21:35:10 112

原创 为什么有人说 996 却没人说初中高中生的 596?

昨天在知乎上看到这么一个问题:为什么有人说 996 却没人说初中高中生的 596?而就在前几天和朋友聊天的时候,正好讨论过这个问题,员工的时候 996 ,当学生的时候,596,甚至 5126 都不为过。为什么会出现这种现象?其实,仔细想想工作 996 ,学习 5126 不是某个人的错,工作 996 其实也不能把责任推给老板,学习 5126 也不能把锅让学校背。这是整个中国的大环境,国情导致的...

2019-05-25 14:42:23 220 1

原创 工作 = 赚钱?那你真的亏大了...

入职已一个月有余,每天都憋着一股劲,好不充实。恰逢这周 TB 连周末休息 4 天,难得的放松机会,闲下来就想写点什么,思来想去就写最近我个人感触比较大的一点吧:工作与赚钱的关系。前方高能,红果果,很骨感。工作是为了什么?请先思考并回答这一问题,再继续阅读本文…我想大多数人,包括过去的我,第一反应都:“赚钱”。别不好意思说钱,谁不需要养家糊口?谁还没点欲望?所以,工作为了赚钱无可厚非,别...

2019-05-24 19:33:43 202

原创 给我十分钟!带你Flutter从入门到上天!!!

简介Flutter是Google开发的新一代跨平台方案,Flutter可以实现写一份代码同时运行在iOS和Android设备上,并且提供很好的性能体验。Flutter使用Dart作为开发语言,这是一门简洁、强类型的编程语言。Flutter对于iOS和Android设备,提供了两套视觉库,可以针对不同的平台有不同的展示效果。Flutter原本是为了解决Web开发中的一些问题,而开发的一套精简版...

2019-05-24 16:19:17 368

转载 入职阿里巴巴的正确姿势

可以这么说,去阿里巴巴上班是很多程序员的终极梦想,毕竟阿里的技术在国内乃至全球都是数一数二的。成为一个阿里人,某种程度上,代表着你专业能力的一个合格性象征。这里给大家推荐一篇文章,听一听过来人的经验。下文中的第一人称“我”,来自作者「程序亦非猿」,一名来自阿里巴巴的程序员。在之前的文章里我提到过,2017年我实现了一个小目标,毕业三年加入阿里。听上去好像挺厉害,挺光鲜,但是实际上并不那么容...

2019-05-23 16:00:33 757 1

原创 面试经历:记一次Android面试

Android中的内存泄漏和内存溢出有什么区别?内存溢出是指程序在申请内存的时候,没有足够的内存可以分配,导致Out Of Memory错误,也就是OOM。内存泄漏:对象都有生命周期的,在生命周期完成之后,就该被垃圾回收和释放,如果得不到及时的释放,就会一直占用内存,造成内存泄漏。随着内存泄漏的堆积,可用的内存空间越来越少,最后会导致内存溢出。导致内存泄漏有很多原因,最常见的有内部类的使用,...

2019-05-23 14:52:13 238 1

原创 Android验证码输入框的实现!!!

前言验证码输入框是很多APP必不可少的组件,之前在重构注册登录页面的时候,重新设计了UI,所以不能再简单的用EditText来做了,所以这篇文章将分享一下如何实现一个常见的验证码输入框。正文重点在输入框,可能大多数APP里都是采用6个方框的UI效果,我这里是按照我们设计的要求,用6根横线来划出6个数字的位置。一开始我想的是直接用6个TextView,然后传递焦点的做法,但是发现实现起来有一定...

2019-05-22 19:53:48 2624

转载 10天我面试通过30多家企业,得出这3条经验。

年后正逢招聘季,作为职场新人,仅将此前在上海面试的经验分享如下,希望对您求职有用。个人概况:90后,大学肄业,无工作经验;10年写作经验,2年自媒体;曾环游中国,160多天无人区经历。求职方向:文案、销售、健身。作为大学辍学生,没有一技之长想要在上海滩月入过万起步是艰难的。正是和大多数求职者相似,所以必须要有明确的规划,以下是我的三点经验之谈。1.制定明确的面试策略最后期限:顾名思...

2019-05-22 17:27:38 435

转载 灵魂画师,Android绘制流程——Android高级UI

目录一、前言二、我们的目标是啥三、绘制流程从何而起四、Activity 的界面结构在哪里开始形成五、绘制流程如何运转起来的六、实战七、写在最后一、前言绘制流程可以说是Android进阶中必不可少的一个内容,也是面试中被问得最多的问题之一。这方面优秀的文章也已经是非常之多,但是小盆友今天还是要以自己的姿态来炒一炒这冷饭,或许就是蛋炒饭了

2019-05-22 16:00:09 232

转载 Android开发学习总结——appcompat_v7项目说明

一、appcompat_v7项目说明今天来说一下appcompat_v7项目的问题,使用eclipse创建Android项目时,发现project列表中会多创建出一个appcompat_v7项目,这是我搭建最新的Android开发环境创建第一个Android测试项目后发现的,我在创建Android时选择的Minimum Required SDK是API:8 Android 2.2(Froyo),...

2019-05-22 15:20:23 406

转载 Android开发学习总结——搭建最新版本的Android开发环境

最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是一直没有搭建开发环境去学习,Android的更新速度比较快了,Android1.0是2008年发布的,截止到目前为止Android已经更新Android5.0.1,学习Android开发的第一步就是搭建Android的开发环境,博客园里面有不少人也写了关于如何搭建Android开...

2019-05-21 21:46:43 170

原创 Android:实现模块 api 化

最近看了微信Android模块化架构重构实践这篇文章,刚好自己又正在搭建新项目的框架,用到组件化开发;感觉文章里面的一些技巧很有用,就跟着实现了一下,写一下自己的看法模块间的交互首先是解决模块之前的依赖问题,模块间肯定是不能相互依赖的,那如何进行数据交互就是一个问题了;比如用户模块和其他模块,其他模块如何在不依赖用户模块的情况下获取到用户信息;使用EventBus想要获取用户信息,那Use...

2019-05-21 17:20:42 277

原创 Android:应用开发进阶必经之路之性能优化(下)

2、IDE Android StudioAndroid Studio是谷歌官方提供的集成开发环境(后面简称AS),同样作为Android集成开发环境的Eclipse很好用,但AS更高效、顺手、便捷,这在没有使用AS之前是无法感受到的。AS不仅提供了程序开发、构建、调试的环境,还提供了一系列优化应用质量的工具,这些工具包括静态代码检测工具Inspect Code、Android Monitor、A...

2019-05-21 16:53:02 146

转载 Android阿里高德爱奇艺腾讯视频小米头条大厂面试经验分享

2019年是转折的一年,2018年算是收获的一年,先分享一下offer的情况。阿里高德(offer)爱奇艺(offer)腾讯视频(offer)小米(被拒)今日头条(被拒)在面试的过程中我深深的感受到,对于一个优秀的安卓开发来说,首先摆在第一位的还是他/她作为一个软件工程师的基本素养。无论你是做前端还是后端,最后定义你的优秀程度的还是作为软件工程师的基本素养,学习能力和编程能力,还有...

2019-05-20 19:46:17 198

原创 Android:应用开发进阶必经之路之性能优化(上)

前言性能优化在一款产品的迭代过程中非常重要;程序实现了功能、还原产品原型只能保证程序能用,但如果要让用户更愿意使用,产品得好用。试想一下如果你开发的产品启动慢、页面显示需要长时间转圈加载、页面切换卡顿、黑白屏、用一会机器就发烫、耗内存、OOM、程序切换到后台后占用内存无法释放…,这些问题就像正在玩游戏时弹出提示框这类糟糕的用户体验一样让用户恼火,如果用户不得不使用你的产品,可能还会一直忍受;但...

2019-05-18 21:44:38 243

原创 Android:应用保活实践

最近在做的项目中需要app在后台常驻,用于实时上传一些健康信息数据,便于后台实时查看用户的健康状况。自从Android7.0以上后台常驻实现越来越难,尤其是8.0及以上。关于保活的文章比比皆是,但是效果并不理想,关于保活的方法也就常说的哪几种,重点在于怎么组合运用。最终实现效果为:用户不主动强制杀死的话,能够一直存活(小米,华为,vivo,oppo,三星)。其中三星s8,华为nova2s用户...

2019-05-16 20:14:21 235

原创 Android:动态加载技术 简单易懂的介绍方式

我们很早开始就在Android项目中采用了动态加载技术,主要目的是为了达到让用户不用重新安装APK就能升级应用的功能(特别是SDK项目),这样一来不但可以大大提高应用新版本的覆盖率,也减少了服务器对旧版本接口兼容的压力,同时如果也可以快速修复一些线上的BUG。这种技术并不是常规的Android开发方式,早期并没有完善的解决方案。从“不明觉厉”到稳定投入生产,一直以来我总想对此编写一些文档,这也是...

2019-05-16 17:17:31 181

原创 安安静静的做个程序员,也挺好的——分析程序员、技术主管和架构师

技术主管技术主管,有些公司可能又叫「技术经理」,英文一般是 Tech Leader 或简称 TL。在拉姆·查兰 (Ram Charan) 那本《领导梯队》中提到一个人的工作角色中至少有百分之五十以上的时间是花费在管理事务上,那么他的角色才算是一个经理(Manager)。所以技术主管(经理)类似产品经理属于以经理命名却是非经理的角色。「技术主管」是开发团队中的某位程序员需要对一起创建系统的整个开...

2019-05-15 17:26:13 156 1

原创 Android:多个Activity共享全局变量

直接看实现方法吧~首先新建一个activity用来存放需要共享的全局变量的成员和方法,比如这里我新建一个MyDataActivity:package com.anwensoft.cardvr.activity;import android.app.Application; public class MyDataActivity extends Application { priv...

2019-05-15 16:44:30 1227

原创 Android:APP界面跟随系统语言显示

一、app 名称跟随系统语言首先在res目录下新建文件夹和values平级,名称如图所示,然后各在里面添加strings.xml文件,前面会显示国旗图标。英文strings.xml内容:<?xml version="1.0" encoding="utf-8"?><resources> <string name="app_name">test&l...

2019-05-15 16:20:42 2072 1

原创 Android:UI设计 常用控件

TextView<TextView android:id="@+id/first_txetview" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:textSize="24sp" ...

2019-05-14 19:46:32 279

原创 Android:在活动中使用 Menu

Android提供一种隐藏式的菜单栏,不占用显示空间又能实现菜单功能。一、菜单显示首先在res目录下创建一个menu目录,在menu目录下新建一个菜单文件(menu resource file)。在该文件中添加菜单代码:<menu xmlns:android="http://schemas.android.com/apk/res/android"> <item...

2019-05-14 16:49:34 70

原创 Android:活动中的提示 (Tosat) 和打印信息 (Log)

一、ToastToast 是 Android 系统提供的一种很好的提醒方式,在程序中可以使用它将一些简单的信息反馈给用户,这些信息会在一段时间后自动消失,并不会占用屏幕空间。使用:首先要定义一个弹出Toast的触发点,例如设置一个按钮,在点击按钮的时候弹出一个Toast。public class MainActivity extends AppCompatActivity { @...

2019-05-14 16:33:48 632

原创 Android:使用 Intent 连接多个活动

Intent 是 Android 各组件之间进行交互的一种重要方式,一般被用于启动活动、启动服务以及发送广播等场景。显式 Intent:Intent有多个构造函数重载,其中一个 Intent(Context packageContext,Class cls)。第一个参数要求提供一个启动活动的上下文,第二个参数是指向想要启动的目标活动。创建好 Intent 后,用 startActivity()...

2019-05-14 15:47:48 311

原创 程序员招聘行话大全,能听懂证明你是历经磨难的老司机

刚开始投简历时,你总以为是这样的,其实大部分情况下是那样的……面试之后,HR让回去等消息,傻傻的等待,半个月以上没有回音,各种焦虑……明面上的意思就是实际意思的公司,貌似都是说的是别人的公司~~~~下面是职场达人总结的招聘行业术语(俗称招聘黑话),一看就懂证明你是历经磨难且具有拼搏精神的老司机,让我们一起来看看吧:1、能承受较大的工作压力——加班2、抗压能力强——加班+替别人扛雷3、工...

2019-05-13 22:12:57 380

原创 程序员的工作经验!看完让你受益终生!!!

IT 行业是一个变化非常快的行业,它需要我们持续去学习新的知识和技能。 但是,工作以后,我们经常会发现自己学习的东西很少了,倒不是没有时间去学习, 而是学习的效率太低了。久而久之,就演变成『一年的工作经验,重复用十年』。当然,有些人会说自己经常加班,没有时间学习,这只是表象,时间挤挤总是有的。 你想想你为了上王者,浪费了多少时间?为了刷今日头条,又消磨了多少光阴?另外,很多人推崇碎片化学习,但...

2019-05-13 21:59:22 319 1

原创 Android:ReactNative语法基础(下)

PropProp可以理解为组件中的属性,它可以通过外界传递进来的参数,类似于构造函数的参数1、属性参数使用自定义组件的时候,传递参数到自定义组件中<View> <PropsText name = "小明", age = 18 /></View>2、默认属性在React中可以提供默认参数default...

2019-05-13 16:57:30 81

原创 Android:ReactNative语法基础(上)

ES6特性类模块化箭头函数函数参数默认值模板字符串解构赋值延展操作符对象属性简写PromiseLet与Const1、类引入类的概念,让其具有面向对象的开发class Person { constructor(name,age) { this.name = name; this.age = age; }}2、模块化...

2019-05-13 16:13:42 152

原创 2019年流行的Android必须知道框架库及开发语言,看这一篇就够了!

导语2018 已经悄悄的走了,2019 也已经匆匆的来了,我们在总结过去的同时,也要展望一下未来,来规划一下今年要学哪些新技术。这几年优秀Android的开源库不断推出,新技术层出不穷,需要我们不断去了解和掌握,在提高自身开发水平的同时,我们需要付出更多学习精力和时间。俗话说,打铁还需自身硬,为了在这个日新月异的技术时代为了生存不被淘汰,必须要求自身掌握的技术不断跟进时代脚步,所以我们必须付出才...

2019-05-10 22:11:29 638

原创 Android:Kotlin语法基础

主函数fun main(args: Array<String>){ println("Hello World")}变量1、常量val修饰常量,编译器规定常量必须初始化,若不想初始化,可用**by lazy{}**对常量进行懒加载val a: Int = 1 // 强类型常量val b = 2 ...

2019-05-10 21:51:13 827

原创 Android进阶:框架打造之IOC框架

什么是IOCIOC(Inversion of Control):控制反转。开发过程中类里面需要用到很多个成员变量传统的写法:你要用这些成员变量的时候,那么你就new出来用IOC的写法:你要用这些成员变量的时候,使用注解的方式自动注入进去优点:代码量减少,加速开发缺点:性能消耗加大,阅读性差,加速65535框架的思路框架例子//实现Button自动findViewById的工作@V...

2019-05-10 19:40:07 145

原创 Android:性能优化!!!

布局优化核心思想:减少布局的层级优化方式:多嵌套情况可以使用RelativeLayout减少嵌套。布局层级相同情况下优先使用LinearLayout,比RelativeLayout高效。使用**增加布局复用,减少布局层级,**懒加载。绘制优化核心思想:避免在**View.onDraw()**执行大量操作优化方式:避免创建新的局部对象,因为在**onDraw()*...

2019-05-10 17:02:30 66

原创 Android:【动画】带帧动画的Selector

普通selector只能在两种状态图片之间切换,animated-selector允许通过帧动画从一个状态切换到另一个状态XML代码:<?xml version="1.0" encoding="utf-8"?><animated-selector xmlns:android="http://schemas.android.com/apk/res/android">...

2019-05-10 15:21:37 327

原创 Android:Activity与Fragment、Service之间的数据通信

1、Activity向Fragment传递数据?在Activity中创建Bundle,将数据以putString(key,value)形式放入bundle中,最后通过setArguments(bundle)方法,将其关联,在Fragment【与Activity依附的Fragment】中直接通过getArguments().getString()来获取。直接通过强转将其强转为Activi...

2019-05-09 21:48:03 1209

原创 Android完整详细阿里腾讯面试题含答案(二)

1、配置改变时,会导致Activity被杀死并且重新创建,那么我们要如何避免该情况的发生?第一种解决思路:设置配置文件中Activity的configChanges属性。我们可在AndroidManifest.xml中对应的Activity中设置android:configChanges=“orientation|screenSize”。再次旋转屏幕,Activity不会被杀死重建,会直接调用...

2019-05-09 21:27:02 373

原创 Android完整详细阿里腾讯面试题含答案(一)

1、四大组件是什么?Activity【活动】:用于表现功能。Service【服务】:后台运行服务,不提供界面呈现。BroadcastReceiver【广播接收器】:用来接收广播。Content Provider【内容提供商】:支持在多个应用中存储和读取数据,相当于数据库。2、四个组件的生命周期?Service的生命周期:首先Service有两种启动方式,而在这两种启动方式下,它的生...

2019-05-09 17:15:01 5364

转载 面试想拿 10K,HR 说你只值 7K,该怎样回答或者反驳?

最近朋友在面试的时候,HR突然来了句:你只值7K。朋友后面和我说了这个事。我想如果是我处在这种情况下该怎么回答或者反驳,发现自己并不能很好的回答或者反驳。不知道大家会怎么回答或者反驳?作者:上官文商链接:www.zhihu.com/question/28…正确的做法是:不动声色,继续跟HR谈下去、把面试流程走完,并且争取拿到这个7K的offer。这里有一个小技巧:如果拿到offer,礼貌...

2019-05-09 15:32:58 1858 2

原创 Android 动画之属性动画

简介Android 开发中,总是需要一些动画来优化用户的交互体验,提高用户满意度。因此,Google 为我们提供了一些用于处理动画效果的动画框架。Android 的动画框架分为两类:传统动画(Animation):通过系统不断调用onDraw方法重绘界面,来达到动画的效果。属性动画(Animator):通过操纵一个属性的get/set方法,真实地改变目标的某些属性。传统动画框架的局限性...

2019-05-07 19:46:57 129

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除