- 博客(35)
- 资源 (2)
- 收藏
- 关注
原创 Kotlin环境变量——Android Studio
Android项目(Java)如何支持KotlinAndroid Studio3.0以后内置kotlin插件,无需安装。 Android 工程支持Kotlin只需两步:1、Gradle添加Kotlin编译插件2、Gradle 添加Kotlin标准库的依赖注:新建的Kotlin项目,直接就支持写kotlin代码,无需手动添加插件和依赖。创建应用的时候可直接选择默认是Kotlin语言的项目:一、Gradle添加Kotlin编译插件在项目跟目录的build.gradle中添加插件:classp
2020-11-12 12:59:05
372
原创 Android启动优化-计算启动所有方法耗时
一般在application中会做一些三方SDK等的初始化工作,收集这些初始化方法所消耗的精确时间,才能给我们提供优化的方向。手动打点手动打点,方法开始的地方埋点计时,方法结束的地方埋点,计算二者差值,可在适当时机上传到服务器进行数据分析。一、普通方法:先写一个工具类LanchTimer private static long startT; /** * 起始时间 ...
2020-02-23 14:05:09
758
原创 Android启动优化
一、启动分类Android的启动分冷启动、热启动。1、冷启动:当启动应用时,后台没有这个应用的进程,需创建新的进程。冷启动过程:click (点击应用图标)——>ipc——>Process.start——>ActivityThread——>bindApplication——>lifeCycle——>ViewRootImpl2、热启动:就是后台存在当前...
2020-02-23 00:13:19
2511
原创 Fragment相关
Activity套嵌Fragment的 getFragmentManager()相关,Fragment套嵌Fragment要使用getChildFragmentManager()方法。
2018-09-21 09:27:19
320
原创 React native 常见问题总结
1、Expected a component class,got[object Object]原因:引用组件首字母得大写,如view是小写的故出现错误2、 'Navigator is deprecated and has been removed from this package. It can now be installed '这是因为RN版本0.43以上的话...
2018-03-07 15:00:49
438
原创 RxJava的使用
一、RxJava简介RxJava是基于事件流的异步操作,类似于Android的handler、AsyncTask。官方地址:https://github.com/ReactiveX/RxJava RxJava用的就是观察者模式,里面有几个角色:Observable:被观察者,负责产生事件Observer :观察者 ,负责对obervable产生的事件进行响应Subscribe :订阅,就是负
2017-12-05 15:39:13
428
原创 AndroidManifest.xml之动态修改应用的图标和应用名称
一、activity-alias标签Android支持动态修改应用程序的图标和应用名称。如双11双12的时候淘宝和京东等APP在不需要更新的情况下自动更换了图标,所以动态更新应用的图标和名称的最佳应用场景就像电商类项目的促销活动时使用。 Android之所以支持动态更新图标是因为在AndroidManifest.xml中有一个activity-alias标签,从标签名字上就能看出这是activit
2017-12-04 17:06:55
10446
3
原创 IOC及依赖注入
1、IOC 全称:Inverse of control 意思就是 反转控制 就是将我们创建对象的方式反转了,以前创建对象是我们开发人员自己创建和维护。现在把创建对象这一工作交给了spring来完成。反转控制就是把创建对象的方式给反转了。 2、依赖注入 注入方式: set方式 构造方式
2017-12-02 15:19:29
237
原创 spring导入约束及注册对象到容器
一、导入约束在eclipse中: window->preference 找到xml catalog 点击Add: 点击 File System添加spring的约束,这里以添加bean的约束为例,找到自己下载的 约束文件,如: G:\Spring\spring-framework-4.2.4.RELEASE-dist\spring-framework-4.2.4.RELEASE\sc
2017-12-02 14:29:18
376
原创 spring项目搭建及导包
下载spring包官网下载:http://spring.io/或者:https://repo.spring.io/webapp/#/artifacts/browse/tree/General/libs-release-local/org/springframework/spring/下载自己想要的版本的新建web项目导入需要的包 红线标记是spring最基础的四个包,同时还需要导入日志包3.新建s
2017-12-02 12:46:19
1466
原创 aidl的使用
一、aidl介绍我们可以去官方文档看看官方对aidl的介绍,https://developer.android.com/guide/components/aidl.html AIDL(Android 接口定义语言)与您可能使用过的其他 IDL 类似。 您可以利用它定义客户端与服务使用进程间通信 (IPC) 进行相互通信时都认可的编程接口。 在 Android 上,一个进程通常无法访问另一个进程的内
2017-11-24 15:58:35
395
原创 View的加载流程源码分析
从activity的setcontentView()开始查看View是如何加载的。 /** * Set the activity content from a layout resource. The resource will be * inflated, adding all top-level views to the activity. * * @p
2017-11-22 16:58:21
471
原创 ContentProvider的使用
1、为什么使用内容提供者 内容提供者是应用程序为了给其他应用程序提供访问数据库中数据的接口。2、编写内容提供者步骤: 1.在工程中添加一个内容提供者的类,继承contentprovider这个父类,在oncreate方法得到数据库的实例对象; 2.在清单文件中配置内容提供者,注意需要指定主机名和exported属性; 3.在内容提供者类中添加匹配器,实现增删改查的方法
2017-11-22 10:05:13
305
原创 React native Model组件的使用
1、Model的介绍 从官方文档可以知道,Modal组件可以用来覆盖包含React Native根视图的原生视图(如UIViewController,Activity)。其实model就是一个遮盖层,可以遮盖iOS的UIViewController,也可以遮盖Android的activity。如编写各种dialog。 2、Model的使用import React,{Component,PropT
2017-11-21 17:26:24
3795
1
原创 IntentService详解及源码分析
一、IntentService介绍IntentService是处理异步的一个类,继承Service。在intentservice内部有一个工作线程处理耗时操作。启动intentservice的方式跟启动一般的Service是一样的。 IntentService任务完成后自动停止,不需要我们手动控制,也不需要像Service那样调stopSelf()来停止。 Intentservice可以启动多次
2017-11-20 14:10:20
294
原创 React native 之ES6语法(promise,箭头函数)
这里总结几个ES6与ES5区别中常用的几块。一、箭头函数ES6中提供了使用(=>)符号来定义函数。 箭头函数是用箭头符号在需要回调函数的地方之间定义不需要名称,代码简洁。 将需要的参数放在=>前的()中即可,=>后就是函数体,就可以使用传入的参数。 如:var function = ()=>...;//这个是不需要参数的情况下var function = (param) => param..
2017-11-19 13:35:07
2000
原创 codepush相关
CodePush 是微软提供的一套用于热更新 React Native 和 Cordova 应用的服务。 CodePush 是提供给 React Native 直接部署移动应用更新给用户设备的云服务。CodePush 作为一个中央仓库,开发者可以推送更新 (JS, HTML, CSS and images),应用可以从客户端 SDK 里面查询更新。CodePush 可以让应用有更多的可确定性,也可
2017-11-16 16:13:45
438
原创 React Native 常见错误汇总
1、./gradlew assembleRelease 打Android包的时候出错* What went wrong:Execution failed for task ':app:bundleReleaseJsAndAssets'.> A problem occurred starting process 'command 'node''解决:执行 ./gradle...
2017-11-16 15:57:41
951
原创 自定义控件—canvas、paint
一、简介Android上绘制2D图形的基础是canvas和paint。canvas是画布,paint是画笔。canvas决定形状,那paint就是决定绘制的具体的颜色和效果。canvas虽然是基础,但是很强大。二、paint(画笔)这里主要介绍paint的几个常用的方法。Paint.setStyle(Paint.Style.FILL);//设置画笔的填充模式 //具体
2017-11-15 10:38:11
335
原创 Andfix集成与使用
一、简介AndFix是阿里开源的热修复方案,是轻量级的。好处是集成简单,跟我们使用其他第三方就多了一步生成apatch文件,就是补丁文件。AndFix能在线修复的bug,能立即生效不需要重启。不过andfix只能修复方法级别的bug,不能新增方法,也不能修改资源和so文件等。与微信开源的tinker相比能做的确实少了点,但是andfix方便,集成简单,学习成本低,看项目需求可以选择到底用那家的方案。
2017-11-13 11:21:43
505
原创 React Native本地存储
React native中给我们提供一种键值对本地存储系统,就是AsyncStorage。类似于Android中的SharedPreferences,存储的是全局的。用法如下:存数据:AsyncStorageData(codeSate){AsyncStorage.setItem("codeSateKey",codeSate,function(errs){ //TODO:错误
2017-11-13 09:56:04
798
原创 Webview常见的一些坑
一、远程代码执行漏洞Android API level 16以及之前的版本存在远程代码执行安全漏洞,该漏洞源于程序没有正确限制使用WebView.addJavascriptInterface方法,远程攻击者可通过使用Java Reflection API利用该漏洞执行任意Java对象的方法,简单的说就是通过addJavascriptInterface给WebView加入一个JavaScript桥接接
2017-11-10 17:16:12
755
原创 React native 第三方组件汇总
1、基于react-native-camera库实现的一个二维码/条形码扫描器 https://github.com/ztind/react-native-qrscan 2、单选radio https://github.com/antiantian/radio https://github.com/thegamenicorus/react-native-flexi
2017-11-10 11:13:18
703
原创 React native 开发常用的方法
1、JSON.stringify(data):将一个对象转换成字符串。 2、JSON.parse(data):将字符串转换成Json对象。 3、parseInt()… 类型转换 4、setTimeout RN里面的延时操作的方法,如:setTimeout(()=>{ this.loading.show();//延迟1000 }
2017-11-10 10:51:25
913
原创 React Native动态布局
一、根据state的值动态改变布局import React, { Component,PropTypes } from 'react';import { StyleSheet, Text, View, Image, TouchableOpacity, Dimensions, Platform, Alert, ToastAndroid, TextInput,}
2017-11-09 15:33:42
1275
原创 Windows下搭建React native开发环境
一、环境搭建 react native本地搭建其实就是简单的几步: 1、首先得安装node.js,下载地址:https://nodejs.org/en/,下载最新的,如图: 2、打开cmd运行执行以下命令: npminstall−greact−native−cli成功后reactnative环境就搭建完成了,是不是很简单。可以在命令行输入: npm install -g react-
2017-06-14 17:20:39
1842
原创 greenDao 3.0基本使用
一、greenDao概念greenDao是一种实现ORM( Object Relation Mapping 即 对象关系映射)多的技术。greenDao支持android原生的数据库SQLite,且代码库仅仅100k大小。greenDao 会根据modle类自动生成实体类(entities)和Dao对象,并且Dao对象是根据entities类量身定做的并且一 一对应。二、集成greenDaoAndr
2017-06-14 14:32:13
305
转载 Android 7.0 行为变更 通过FileProvider在应用间共享文件
出处: http://blog.youkuaiyun.com/lmj623565791/article/details/72859156 本文出自张鸿洋的博客一、概述之前项目的新特性适配工作都是同事在做,一直没有怎么太关注,不过类似这些适配的工作还是有必要做一些记录的。对于Android 7.0,提供了非常多的变化,详细的可以阅读官方文档Android 7.0 行为变更,记得当时做了多窗口支持、
2017-06-13 14:58:09
1094
转载 Android7.0 PopupWindow的兼容问题
原文链接:http://www.cnblogs.com/popfisher/p/6434757.html Android7.0 中对 PopupWindow 这个常用的控件又做了一些改动,修复了以前遗留的一些问题的同时貌似又引入了一些问题,本文通过在7.0设备上实测并且结合源码分析,带你了解关于 PopupWindow 的相关改动。 Android7.0 中下面两个问题解决了,这里强调一下,不是
2017-06-13 13:42:38
452
转载 给 Android 开发者的 RxJava 详解
<h3>前言</h3>我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有人说『RxJava 真是太难用了』,另外更多的人表示:我真的百度了也谷歌了,但我还是
2017-06-13 13:09:45
473
转载 android中的BuildConfig
原文链接:http://blog.youkuaiyun.com/pony_maggie/article/details/51984819版本:Android stuido 2.2什么是BuildConfigBuildConfig其实是个Java类,在我们编译android工程时它自动生成。类的实现基本是下面这样的:public final class BuildConfig{ public Build
2017-06-13 12:51:30
1239
原创 activity之间的切换效果
Android中提供overridePendingTransition方法实现activity之间切换效果,在startActivity后,调用overridePendingTransition方法。例: Intent mainIntemt = new Intent(MainActivity.this,NewActivity.class); startActivity(mainIntemt
2017-06-13 12:39:51
364
转载 Android Studio MVP插件MVPHelper可一键生成MVP代码
好用呀,赶紧收藏原文链接:http://androidwing.net/index.php/27MVPHelper一款Intellj IDEA 和Android Studio的插件,可以为MVP生成接口以及实现类,解放双手。Github 地址 https://github.com/githubwing/MVPHelper##注意对于MVP模式,定义一个Contract类来放置Model Vi
2017-06-13 11:23:23
1624
原创 Android shrinkResources 问题
一、shrinkResources 作用 android { buildTypes { debug { minifyEnabled false shrinkResources false } release {
2017-06-09 15:32:10
3425
原创 Android常见问题
1.Configuration with name ‘default’ not found.原因及解决:打开settings.gradle发现里面有很多个include ‘:app’这样的include,然而发现在工程的目录下面根本没有include的项目,所以将需要include的项目添加进来,如果 include的项目不需要,则将其include语句直接删掉,重新sync尝试。2.java.u
2017-06-09 14:40:06
472
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人