自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程俊锋

Android 之路

  • 博客(41)
  • 收藏
  • 关注

原创 Android/IOS TAG

1 实用工具AJSON Json 处理B蓝湖 UI颜色尺寸设计C墨刀-众安 原型设计DIconfont-阿里巴巴矢量图标库 Icon 图标E在线markdown md 编辑工具F图标工场IOS Android/IOS图标Gfir.im Fir App公测平台H草料二维码 二维码生成工具IProcess...

2019-04-12 14:33:45 287

转载 Android Gradle 版本对应关系

各个 Android Gradle 插件版本所需的 Gradle 版本。为了获得最佳性能,您应使用 Gradle 和插件这两者的最新版本。插件版本 所需的 Gradle 版本 1.0.0 - 1.1.3 2.2.1 - 2.3 1.2.0 - 1.3.1 2.2.1 - 2.9 1.5.0 2.2.1 - 2.13 2.0.0 - 2.1.2 2.10 - 2.13 2.1.3 - 2.2.3 2.14.1+ 2.3.0+ 3.3+

2021-03-25 14:46:36 3808 1

原创 Android 大版本适配

1 市场份额总结:A市场主要集中在6/7,厂商集中在对8/9的优化B 所以熟悉android M/N的版本特性是基础,这块市场份额最大;同时研究android O/P的新特性,来应对厂商最新手机版本C 旧手机集中在4.4 以后,minSdkVersion设置为19,比较适用然后我们将App targetSdkVersion改为对应的版本号6/7/8/9 (23M/24N/26O/2...

2019-04-18 12:06:04 1027

原创 关于并发的思考:从数据库、到线程 、再到进程

并发,顾名思义就是同时进行,一并触发1 DB 数据库比较典型的,就是后端数据库更新,比如秒杀问题,只有一个商品,100个人抢常见的悲观模式,假设抢不到,A上来就持锁,后面的人全部等待,A处理完了再释放缺点也很明显,性能比较差,1个人处理,99个人等待推荐:乐观模式,假设可以抢到,所有人都去操作数据库,将唯一性的问题交给数据库如果保证一起update 谁成功? 谁失败?增加一个标记Ve...

2019-04-11 10:33:52 192

转载 Android shape 参数

<?xml version="1.0" encoding="utf-8"?><!-- shape drawable xml文件中定义的一个几何图形,定义在res/drawable/目录下,文件名filename称为访问的资源ID 在代码中通过R.drawable.filename进行访问,在xml文件中通过@[package:]drawable/filename...

2019-04-10 16:50:12 452

转载 Android异常大全

Android异常大全java.lang.NullPointerException这个异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的...

2019-04-10 09:03:17 283

原创 6 Android/IOS线程:Thread/Runnable 与 NSThread

Android Thread /Process1 为什么需要进程? 每个进程系统分配的资源有限,单进程会带来卡顿等情况。单纯的耗时操作(比如推送的长连接服务)可以放到单独的进程进程: android:process 指定运行在不同进程中。每个进程都有自己的虚拟机实例,所以涉及到进程间通信,我们可以通过AIDL来处理(当然通过共享shared_pref /文件也可以实现)需要注意,每个进...

2019-03-27 12:01:55 270

原创 Andorid/IOS 蓝牙开发总结

IOS 蓝牙ios 蓝牙依赖CoreBluetooth 库1 首先增加库 CoreBluetooth general-> Linked Frameworks and lib2 权限info.plist 申明权限,Bluetooth Peripheral Usage需要2个后台模式,app communicates usering COreBluetoothapp share...

2019-03-26 17:18:44 1336 1

原创 Beyond Compare Windows/Mac 永久使用方法

Beyond Compare 代码比对工具Windows(在提示已过期以后执行以下操作)1 卸载Beyond Compare2 然后重新安装,在启动之前,删除这个文件C:\Program Files\Beyond Compare 4\BCUnrar.dll3 删掉的时候,注意先去杀掉进程(如果无效请先去杀Beyond进程,然后再删文件)———————————————————...

2019-03-19 09:37:59 1620

原创 5 Android/IOS主页:Activity /Fragment/AppManager 与 UITabBarController/UINavigationController

Android 类似微信主页的实现:MainActivity + 4 个Fragment主要用到 ViewPager + FragmentPagerAdapter页面布局 + 适配器建立4个Fragment 给到 FragmentPagerAdapter , 适配ViewPager 即可Fragment 依赖 MainActivity 的生命周期【数组管理】IOS 类似微信主页的...

2019-03-13 12:01:48 290

原创 Android IOS 开发总结

分章节对Android/IOS 的开发过程进行对比,旨在巩固知识体系。1 环境: Android Studio 与 XCode2 主要参数:Android O 与 IOS 12.1.33 屏幕适配:dp/sp 与 pt4 设计模式: MVC/MVP 代理模式 单例模式5 主页:Activity /Fragment/AppManager 与 UITabBarController/UINavig...

2019-03-13 09:53:42 462

原创 2 Android/IOS主要参数:Android O 与 IOS 12.1​​​​​​​

Android 华为荣耀(5.2寸) 8.0.0 1080x1920 高清1080p xxhdpi 1 7使用FileProvider 跨进程访问文件 2 7 新增分屏模式 resizeableActiviy 3 8新增通知Notification Channel...

2019-03-12 10:27:22 225

原创 19 Android/IOS Demo: Github自研Demo​​​​​​​

https://github.com/cheng-junfeng/smart 自定义功能:模仿支付宝的首页功能自定义 2018/6/22 10:54 三方登录:集成友盟的SDK三方登录和分享(微信QQ的key值待后台开放账号的审核,暂无法用) 2018/6/6 16:44 环境模块:不使用系统接口,来获取运行中...

2019-03-12 09:42:39 195

原创 3 Android/IOS 屏幕适配: dp/sp 与 pt

1 Android 尺寸适配: 【dp sp -&gt;px 到 pt-&gt;px 】常用的dp sp 来定义尺寸。dp: 虚拟像素,在不同机器上自动适配公式:dp * densityDpi /160 = px 我们的 densityDpi 像素密度,比如160 320等我们用dp 描述宽高,用sp 描述字体(因为Android手机改变字体后,sp才会变化)dp sp ...

2019-03-12 09:41:32 1103

原创 16 Android/IOS最新平台:N/O/P 与 IOS11.1/12.1

android 7 N1 Notifcation 消息分组,捆绑,快速回复2 多屏: 分屏模式,并排运行两个应用 ******3 快速设置4 DataSaver 后台优化,限制后台网络 ******5 删除了Connectivity_action 新图片,新视频隐式广播,相应的响应需要特殊处理 *****6 私有文件被限制访问 sharePref 可读可写,会...

2019-03-12 09:40:21 225

原创 4 Android/IOS设计模式: MVC/MVP  代理模式   单例模式

1 MVC MVPAndroid MVP模型:Model 数据 + View(Activity/Fragment/View+Adapter) + Presenter(DataPresenter)数据代理Model 相对独立,部分View+Adapter 也相对独立,可以复用Activity 中抽取了数据处理部分 到DataPresenter 中来处理IOS MVC模型: model 数...

2019-03-12 09:39:17 224

原创 1 Android/IOS环境: Android Studio 与 XCode

1 开发环境工具:Android Studio 3.0.1+JDK1.8 +基于Gradle 4.4多模块编译配置SDK: 主流SDK26 (对应Android8.0) +最小SDK18语言:Java 语言 + (试用kotlin)适配:Android6.0/7.1/8.0的屏幕适配 + 华为/小米/OPPO厂商适配版本:输出apk + 本地debug签名 + r...

2018-12-18 15:34:07 1959

原创 14 Android/IOS常见报错: Exception 与 NSException

Android1 Error:Execution failed for task ':app:preDebugAndroidTestBuild'.Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for app (26.1.0) and t...

2018-10-17 13:44:50 197

转载 Android 开源项目

KuaiChuan仿茄子快传的一款文件传输应用, 涉及到Socket通信,包括TCP,UDP通信项目源码:https://github.com/mayubao/KuaiChuan运行截图: CoolShopping一个仿拉手团购的购物App,采用Bmob后台实现短信验证码注册、登录、收藏、订单管理、自动更新等功能,数据抓取自拉手团购项目地址:https://gith...

2018-10-17 12:11:48 301

原创 20 Android/IOS自动构建:Jinkins/Gradle  与 fastlane​​​​​​​

Android主要记录自动构建中遇到的问题目标:下载最新代码,编译执行1 Windows 下自动构建A 下载:下载对应分支git clone -b release git@172.16.93.30:Android/test.git最好cd test 然后git pull 一下B 编译:gradle build注意:1.1 local.properties ...

2018-09-17 18:47:03 369

原创 Android 项目总结(2)_20180810

 Viewpager Fragment对数据的处理,总结如下setOffscreenPageLimit   设置期望后面预加载的个数onCreated 中初始化基本数据 (变量),和请求网络数据 (列表) 和Adapter 适配器onCreateView 中绑定布局,或动态调整布局onViewCreated 中设置监听,和动态设置setUserVisibleHint  中只刷新需要刷...

2018-08-10 16:43:10 159

原创 Android 项目总结(1)_20180808

关于前期项目中的问题,做一下总结:后续还是用MK来写,直接复制,文本样式没了。1.List对象 排序public interface Comparable&lt;T&gt; {int compareTo(T var1);}让Bean执行此接口,重写compareTo() 来对比对应的属性Collections.sort(output); 最后使用集合的sort方法即可 ...

2018-08-08 17:12:57 347

原创 常用网站整理

图片1 图库:贴图库http://www.tietuku.com/7affded0071fadec2 自定义抠图https://www.gaoding.com/koutu?f=ps_menu3 SVG-PNGhttps://cloudconvert.com/4 PhotoShop CChttps://creative.adobe.com/zh-cn/products...

2018-07-13 10:03:21 313

原创 Android monkey测试总结

1 应用内monkeyadb shell monkey -p com.smart -s 100 -v --throttle 300 1000 &gt; d:/monkey.txt(adb shell monkey -p xxx.xxx.xxx -s 500 -v –throttle 300 20000) xxx.xxx.xxx(是你的包名),500 事件流,300是执行时间间隔,20000执行...

2018-07-07 12:08:32 467

原创 21 Android/IOS网页:WebView 与WKWebView

写在前面:记录开发过程中遇到的问题1.H5 页面加载到一半加载不出来public boolean onJsAlert(WebView view, String url, String message, JsResult result) {Toast.makeText(getActivity(), message, Toast.LENGTH_SHORT).show();...

2018-07-06 18:10:53 263

原创 22 Android/IOS资源文件:assets/res 与 Bundle

assets目录与res下的raw、drawable目录一样,也可用来存放资源文件,但它们三者有区别,对比总结如下表: assets res/raw res/drawable 获取资源方式: 文件路径+文件名 R.raw.xxx R.drawable.xxx 是否被压缩: NO NO...

2018-07-05 15:12:20 474

原创 Android Drawable自定义样式

1.Progress&lt;layer-list xmlns:android="http://schemas.android.com/apk/res/android"&gt; &lt;item android:id="@android:id/background"&gt; &lt;shape&gt; &lt;corners android:radius="...

2018-07-05 14:37:53 922

原创 Android 代码优化Tips

写在前面:开发实现有千千万万种,但是好的代码结构,会带来清晰的逻辑和更优的性能1.数据与布局异步加载public class MyListAdapter { private Context context; private ArrayList&lt;String&gt; groupList = new ArrayList&lt;String&gt;(); public MyLis...

2018-07-05 12:12:14 146

转载 Android 开源框架

https://github.com/Trinea/android-open-project网络请求xutils3基于 Afinal,包含 DbUtils、ViewUtils、HttpUtils、BitmapUtils 四大模块,可用于快速开发github地址 : xutils3相关博客:Xutils3的使用VolleyGoogle 提供的网络通信库,使得网络请求更简单、更快速github地址:集...

2018-06-26 10:28:37 528

转载 Android 10个开源项目

1.项目:Rocket.ChatGithub地址:https://github.com/RocketChat/Rocket.ChatStar:14175 Fork:2952 介绍:开源完整的聊天应用。demo:androidxy.com/zh/detail/e…2.项目:plaidGithub地址:https://github.com/nickbutcher/plaidStar:9797 Fork...

2018-06-23 11:50:07 714

转载 Android 优秀开源框架

分类详细框架名称简介Star 数最近更新UI刷新SmartRefreshLayoutAndroid 智能下拉刷新框架7.7k1天UI刷新Android-PullToRefresh比较早的一款下拉刷新框架8.5k4年UI刷新android-Ultra-Pull-To-Refresh下拉刷新框架8.5k1年UI刷新BeautifulRefreshLayout众多优秀的下拉刷新汇总2.0k1年UI图表M...

2018-06-22 08:41:50 260

原创 Android Handler基本原理

1 new Handler 默认使用的是Looper.mainLooper()然而可以设置为其它Looper, 比如 HandlerThreadHandlerThread handlerThread = new HandlerThread("jun");handlerThread.start();Handler handler = new Handler(handlerThread.getLoop...

2018-06-21 16:49:56 167

原创 Android Rxjava2基本应用

1 首先认识几个对象Observable 可观察者Observer 观察者Disposable 容器,使用后即可抛弃的东西Flowable (可观察者) rxjava2 新增的FlowableProcessor (Flowable的子类),增加了toSerialized 的方法,和...

2018-06-21 16:46:15 271

原创 Adb Shell基本命令

adb remout 挂载磁盘adb install -r app-release.apk 覆盖安装APKadb logcat 打印日志adb logcat &gt;&gt;A1111.logadb shell run-as com.smart 进入应用文件目录adb logcat &gt;&gt;A1111.logprocess 查看进程adb shell p...

2018-06-21 16:45:04 765 1

原创 Git 基本命令

1 生成ssh keyssh-keygen -t rsa -C"sjun945@outlook.com"2 配置email 和usergit config --list 查看当前配置git config --global user.name "John Doe"git config --global user.email "sjun945@outlook.com"git ...

2018-06-21 16:39:23 172

原创 Android AIDL基本步骤

aidl 步骤1 project- new aidl 文件,在src/main/aidl/底下是一个接口文件2 新建service 服务,新建 接口的庄对象,实现函数private IBinder mIBinder = new IMyAidlInterface.Stub() { @Override public int getCount() throws RemoteException...

2018-06-21 16:31:37 439

原创 Android JNI基本步骤

jni 步骤1 配置jni 路径 app--build.gradle--android下sourceSets { main { jni.srcDirs = [] }}2 java/jni/ 目录下创建jni操作文件(最好是单个类,静态方法调用)public class JniCount { static {System.loadLibrary("JniCoun...

2018-06-21 16:29:35 382

原创 Android 模块开发总结

1 资源冲突多个子模块中,res/assets 目录下的资源, 最终都在一起AS 会自动帮我们合并,默认是主模块,然后是后来的模块覆盖之前的子模块所以,资源名称一定要区分开,不然会有控件找不到的问题android { compileSdkVersion 26// resourcePrefix "file_" //资源前缀约束,会提示错误,但似乎并没有报错}resourcePrefix ...

2018-06-21 16:27:03 290

原创 Android 常用技术框架的基本使用

常用到的技术框架:1 数据库:GreenDao2 事件总线:EventBus3 链式调用:Rxjava24 网络封装:Retrofit2(Okhttps)5 视图:RecyclerView6 注解:ButterKnife7 图片:iconfont 1 GreenDao的使用1 配置依赖Project 的Gradle中buildscript{ dependencies{ classpath 'or...

2018-06-21 16:24:10 930

原创 Android Gradle常用配置

1 Gradle 编译,lintb报错配置: android-lintOptions - 屏蔽android { lintOptions { abortOnError false // if true, only report errors. ignoreWarnings true }}2 Gradle 添加aar配置: andr...

2018-06-21 16:21:33 228

空空如也

空空如也

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

TA关注的人

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