自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Flutter原生插件-Android

Flutter原生插件一、什么是Flutter插件1、Flutter的四种工程类型a、Flutter Application​ 全新的APP,标准的Flutter App工程,包含标准的Dart层与Native平台层b、Flutter Module​ 混编到已有的安卓/iOS工程内c、Flutter Plugin​ Flutter平台插件工程,包含Dart层与Native平台层的实现。Plugin其实就是一个特殊的Package。 Flutter Plugin提供Andro

2020-11-29 19:08:47 2079 1

原创 (二)Andfix的手写实现

在上一篇Andfix文章中提到了,Andfix需要根据Android版本来维护,所以要适配不同的Android版本,这里根据Android5.1版本为例,简单介绍一下Andfix的手写实现。一、生成修复后java类的dex文件假如类A中的方法B有bug,新建一个A_fixed类,并添加一个B方法,这里的B方法是修复后的,然后重新编译,生成dex文件,在app/build/intermedi...

2019-09-04 14:21:20 239

原创 (一)Andfix热修复原理

AndFix,全称是Android hot-fix。是阿里开源的一个Android热补丁框架,允许APP在不重新发布版本的情况下修复线上的bug。支持Android 2.3 到 7.0。一、动态加载热修复、热更新、插件化都是利用动态加载的原理(相关知识:类加载机制、虚拟机)二、热修复Andfix(最轻量级的热修复,只能改方法)Android热修复的先驱,通过动态加载dex文件,在nat...

2019-09-04 14:19:49 449

原创 沉浸式状态栏

沉浸式状态栏,最简单的理解就是:通知栏会根据手机内容适应性变色。Android对沉浸式的支持是从4.4开始的。沉浸式状态栏的实现主题在主题配置中添加<item name="android:windowTranslucentStatus">true</item>具体如下:<style name="Theme.AppCompat.Light.NoActi...

2019-08-23 17:30:58 158

原创 Mac下配置openCV(XCode)

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和MacOS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。踩坑日常:在opencv官网上,找openCV for Mac的安装包,但是不知道是官...

2019-07-22 14:22:57 215

原创 Canvas常用API

Canvas介绍画布,通过画笔绘制几何图形、文本、路径、位图等。常用API分为:绘制、变换、保存状态、恢复。Canvas API绘制。1.1 drawBitmap(Bitmap bitmap, float left, float top, Paint paint);在指定坐标绘制位图。1.2 drawLine(float startX, float startY, float stop...

2019-06-24 10:23:21 443

原创 Paint画笔常用API

一、Paint介绍Paint画笔,常与Canvas、Bitmap、Path等一起使用,用于绘制自定义View。Paint,保存了绘制几何图形、文本和位图的样式和颜色信息。常用的API也与颜色、效果(滤镜、颜色混合)、文本相关。二、Paint API源码中,Paint的方法内部都是调用的 native 方法。构造方法。Paint有三个构造方法,一个无参构造方法 Paint(),两个有...

2019-06-22 16:32:02 601

原创 Android UI绘制

一、Android UI绘制流程及原理

2019-06-03 17:48:03 484

原创 Android 签名机制

Android 签名机制签名的作用升级应用。只有以同一个证书签名,系统才会允许安装升级的应用程序。(升级时签名证书和包名都要相同)。防止应用被恶意篡改。只有签名相同的文件才能覆盖安装。应用程序模块化。同签名的多个应用,可运行在同一个进程中,此时可以把应用程序以模块的方式进行部署,用户可独立升级其中的一个模块。代码/数据共享。以同一个证书对多个应用程序进行签名,利用基于签名的权限检查,就...

2019-05-27 16:29:31 279

原创 viewpager嵌套、viewpager+高德地图mapView一起使用的坑

公司项目中有两个viewpager的嵌套的情况,本来正常的viewpager嵌套没有什么问题,滑动没有冲突,但是后来设计说两个viewpager的页面都不给滑动,导致第二级的viewpager切换出现问题:在一级和二级viewpager的多次切换后,二级的viewpager的页面没有内容了(我在二级的两个fragment中放了两个textview,但是后来文本不见了)...

2019-03-28 14:07:03 1013 1

原创 Android定位权限判断及开启

最近在做基于高德sdk的一个定位的应用,遇到了定位权限判断错误的问题,之前查的是根据LocationManager来判断系统定位是否开启,原以为这个就可以判断应用是否具有定位权限,但是发现这个是用于判断系统的gps是否开启,跟应用是否有定位权限无关。后通过查阅高德的api和常见问题,发现可通过高德定位的 onLocationChanged 回调返回的错误码来判断应用是否有定位权限。查看高德api...

2019-03-18 10:45:44 9929

原创 Android Studio神坑之R文件报错

问题描述。最近把同事的代码导入到我的as上,就一直有R文件报错,但是程序又可以正确运行,只是R文件都不能索引,R文件显示红色的J。尝试方法在度娘上搜了n种解决办法,clean、rebuild,修改R文件大小限制,删除.gradle、.idea文件,修改gradle版本号等等,全都试了一遍,然而没卵用。最后查到as的版本号与build:gradle的版本号(如下图)不同,才导致这个问题。...

2019-03-13 16:04:59 1266

原创 Eclipse+tomcat的安装和配置

一. 安装Tomcatwindows系统下,安装Tomcat点此链接查看安装方法Mac OS下安装Tomcat:点此链接查看安装方法二. 安装EclipseEclipse是个开源免费Java 集成开发环境(IDE),安装方法比较简单,在网上查询“eclipse在windows/Mac下安装”有很多结果,可自行搜索。三. 启动Tomcat先找到Tomcat所在目录,用cd命令...

2019-03-05 20:23:44 388

原创 Git使用总结(持续更新)

Git使用总结(持续更新)Git是分布式版本控制工具,在云端有一个远端库,用于代码共享,方便团队合作开发。每个人都可以 从远端代码库拉取代码到本地仓库,然后在本地拉取分支或者进行各种功能开发、bug修复等工作。合作开发就要求远端仓库的代码正确性。不让自己的错误代码污染远端仓库,不给同事添麻烦。习惯1:在每次push代码之前首先保证自己的代码运行没有问题,再pull云端develop分...

2018-05-24 15:25:00 208

原创 Android学习之活动的生命周期

Android是使用任务Task来管理活动的,一个任务就是一组存放在栈里的活动的集合栈被称为返回栈Back Stack。四种活动状态运行状态 位于返回栈栈顶,可见。暂停状态 不位于栈顶,但仍可见。停止状态 不位于栈顶,并完全不可见。销毁状态 从返回栈中移除。三个生存期完整生存期 活动在onCreate()方法和onDestroy()方法之间所经历的,就是完整生存期。一般情况下,一个

2017-06-27 18:20:26 374

原创 Android学习之Intent

Intentintent(意图),指明当前组件想要执行的动作,在不同组件之间传递数据。一般可被用于启动活动,启动服务,以及发动广播等场景。intent使用分为显式和隐式两种。显示Intent的使用在第一个Activity代码中加入以下代码,可调用第二个Activity。Intent intent = new Intent(FirstActivity.this,SecondActivity.cla

2017-06-27 17:46:14 399

原创 ATM面向对象分析与设计之——设计类图

类图综述类图描述了ATM系统的全部类的关系和功能。类描述user 类是描述使用者的实体类,是client和administrator的父类,属于抽象类。 client类和administrator类继承自user类,cardNum和ID属性的数据类型不同,具有多态性。 card类是bankCard类和adCard类的父类,是实体类,有cardNum(卡号)、password(密码)、bank(所

2017-06-07 11:15:01 6055

原创 ATM面向对象分析与设计之——活动图、状态机图

活动图1.活动图综述 此活动图描述了ATM的运行流程,包含登录、取款、存款、转账、修改密码、打印凭条、查询余额、退卡、查询交易记录动作。 2.动作描述 (1)登录(有用户和ATM管理员两个动作):用户或ATM管理员登录ATM系统。 (2)取款:用户从ATM中取款。 (3)存款:用户存款。 (4)转账:用户转账。 (5)修改密码:修改密码。 (6)打印凭条:打印交易凭条。 (7)查询

2017-06-07 11:12:14 4437

原创 ATM面向对象分析与设计之——顺序图

1.顺序图综述顺序图详细描述了用户和ATM 系统之间以及管理员和ATM系统之间的交互过程,其中对涉及了用户及管理员登录ATM系统,用户在系统上进行的存取款、转账、查询余额等多种操作进行结构化控制。2.结构图详述2.1用户部分 类:Client、ATM 对象:用户(主动对象)、银行。 消息描述:(以下涉及消息全为同步消息)。 (1)外层操作(登录系统、退出系统): 1.用户向银行发送登录的

2017-05-01 20:44:41 5525

原创 ATM面向对象的分析与设计之——分析类图

1.类图综述参与者(actor):用户,ATM管理员 边界类(boundary):表示参与者与系统之间进行的交互以及信息交流,图中有查询交易记录界面、打印凭条界面、登录界面、修改密码界面、 转账界面、主界面、取款界面、存款界面、查询余额界面。 控制类(control):标识为一个用例具有的事件流的控制行为,途中主要有交易记录管理、打印凭条控制、登录管理、密码管理、转账管理、操作控制、取款管理

2017-05-01 20:40:29 1628

原创 ATM面向对象分析与设计之——用况图

1.登录1.1简述 这个用例是描述用户或ATM管理员录入卡号并输入密码进入主界面的动作。 1.2参与者 用户、ATM管理员。 1.3前置条件 ATM系统处于开始界面,用户或ATM管管理员将银行卡/管理员卡插入ATM机或者用户选择无卡存款。 1.4事件流 1.4.1基本流 用户/管理员将银行卡/管理员卡插入ATM机或者用户选择无卡存款,用例开始。(1.4.2.1

2017-04-28 22:15:14 1831

原创 三种方法实现按钮的点击事件

匿名内部类实现点击事件初始化button对象之后,设置监听器,在onClick()方法中实现监听点击按钮事件Button button = (Button) findViewById(R.id.button);button.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v){

2017-04-19 19:16:58 1713

原创 打开android studio 工程时卡在refreshing gradle project

最近android studio又更新了,提示我要update,我选择update之后,打开工程就出现一只在加载,android studio下方的进度显示一直是“refreshing ‘caculator’ gradle project”,(caculator是工程名)卡了两个多小时。去百度搜索了一下,都说是gradle版本更新下载太慢了,因为要翻墙,最方便的方法就是下载一个VPN软件,翻墙下载,

2017-04-19 10:57:15 336

原创 ATM 系统的面向对象分析与设计之一——问题陈述、词汇表、领域类图

这是在面向对象分析与设计实验课上的实验内容,第一次做,很多内容有待修改,有很大改进空间,各位若有意见,欢迎评论!ATM系统问题陈述ATM系统用于银行的ATM自助存取款机,能够自助存取款(有卡)、无卡存款、打印凭条、余额查询、修改密码和转账。ATM不可无卡取款。银行的ATM管理员登陆系统可查看ATM七日内的交易信息。ATM的开始界面显示本银行的相关信息,还有无卡存款按键;主界面有存款、取款、余额查询

2017-04-13 17:51:21 1409

原创 Android Studio一直卡在refreshing gradle project 中

今天Android Studio更新了,然后就打不开我昨天建的一个project,一直显示refreshing gradle project,上网查了一下原因,说是因为被墙,所以连不上gradle的网站,下载速度很慢,连上VPN,等着AS下好gradle的话要等好几个小时(查的时候好像只看到一个人等了,四个小时才打开)

2017-03-31 20:08:42 392

原创 Android五大存储方式之四——ContentProvider

ContentProviderContentProvider是Android四大组件之一,用于保存和检索数剧,是Android系统中不同应用之间共享数据的接口。在Android系统中,应用程序之间是相互独立的,分别运行在自己的进程中,相互之间没有数据交换。若应用程序之间需要共享数据,就需要用到ContentProvider。

2016-12-24 22:36:29 774

原创 Android五大存储方式之三——SharedPreferences

SharedPreferences简介SharedPreferences是Android平台上一个轻量级的存储类,主要用于存储一些应用程序的配置参数,例如用户名、密码、自定义参数的设置等。

2016-12-23 14:58:06 472

原创 Android中的五大存储方式之二——SQLite数据库

SQLite数据库简介 SQLite是一个轻量级数据库,占用内存非常少,没有依赖第三方软件,这也是Android采用SQLite数据库的重要原因之一。

2016-12-23 11:26:35 483

转载 Git的基本用法整理

关于Git Git可以在任何时间点,把文档的状态作为更新记录保存起来。因此可以把编辑过的文档复原到以前的状态,也可以显示编辑前后的内容差异。

2016-11-20 22:14:10 317

原创 Android中的五大数据存储方式之一——文件存储

Android中的数据存储方式有5种,分别是文件存储、SharedPreferences、SQLite数据库、ContentProvider、网络存储。

2016-11-14 23:08:48 1951

原创 Android三大测试方法介绍——Android学习笔记

每个Android应用上线之前都会进行一系列的测试,确保应用能够正常使用。通常情况下,测试Android应用使用的都是JUnit单元测试。另外,当程序出错时,还会通过Android中的LogCat(日志控制台)或者Toast来调试错误。

2016-11-14 22:56:16 865

原创 Eclipse的程序调试——android学习笔记

每个Android应用上线之前都会进行一系列的测试,确保应用能够正常使用。通常情况下,测试Android应用使用的都是JUnit单元测试。另外,当程序出错时,还会通过Android中的LogCat(日志控制台)或者Toast来调试错误。

2016-11-07 22:09:28 394

转载 初学Android时遇到的一些错误及解决办法——之一

Attribute is missing the Android namespace prefix android:theme="@android:style/Theme.Black.NoTitleBar

2016-10-29 23:14:32 2047

原创 用Eclipse进行android开发学习——新建android项目

创建AVD,新建Android项目,几个重要快捷键

2016-10-27 23:02:12 448

原创 关于javaFX中的TableView

TableView的基本使用方法及学习笔记

2016-10-15 17:25:07 1660

转载 关于eclipse的android的环境配置问题

关于eclipse的android的环境配置问题 No resource found that matches the given name 'Theme.AppCompat.Light'.

2016-09-02 10:49:37 441

空空如也

空空如也

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

TA关注的人

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