自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

马腾蛟的博客

博学弘德,自强不息

  • 博客(51)
  • 资源 (3)
  • 收藏
  • 关注

原创 Android源码中添加自己的Product

BoardConfig.mk 包含了硬件芯片架构配置,分区大小配置等信息这里我们直接使用 aosp_x86_64 的BoardConfig.mk 就行。BoardConfig.mk 拷贝自 build/target/board/generic_x86_64/BoardConfig.mk。这里假设我们的公司名叫果冻(Jelly),我们准备开发一款对标苹果 14 的手机,取名叫 大米14(Rice14)。rice14.mk 拷贝自 build/target/product/aosp_x86_64.mk。

2023-07-27 14:49:46 394

原创 Android 系统开发工具

如果您的主机配置满足google建议的最低要求(至少16G RAM, CPU 4核以上),并且您想导入全部安卓源码用于开发,您可以参考步骤3.2继续您的导入流程,如果您的主机配置不够或您像我一样只是关注Farmwork层代码。win 键加 R 键,跳出运行窗口,输入 \192.168.1.89,其中 192.168.1.89 是 ubuntu 的 IP 地址,你需要根据你自己的情况修改为自己的 Ubuntu 的 IP 地址。方便我们的开发工作。打开的过程中,需要我们输入 Ubuntu 的登录密码。

2023-07-15 14:52:11 648

原创 《android源码阅读四》Android系统源码整编、单编并运行到虚拟机

单编就是编译某个模块,比如 Settings ,会在 out 目录对应的产品有 Settings.apk , 例如:out/target/product/generic_x86/system/priv-app/Settings/Settings.apk,这是可以直接安装的。单个模块编译,会把该模块及其依赖的其他模块⼀起编译,会搜索整个源代码来定位 MediaProvider。编译当前⽬录下的模块,它和 mmm ⼀样,不编译依赖模块。编译指定⽬录下的模块,但不编译它所依赖的其它模块。3、选择单编版本序号。

2023-04-24 20:52:58 1104

原创 AndroidStudio使用maven-publish发布aar至mavencentral中央仓库

AndroidStudio使用maven-publish发布aar至mavencentral中央仓库 1. 注册【sonatype】账号 2. 创建Group ID 3. 下载安装gnupg 4. 创建生成密钥 5. 配置maven-publish打包推送aar 6. 发布到mavencen

2022-12-22 10:21:52 2382

原创 开发AndroidStudio图片压缩插件TinyPngPlus

相信很多人都遇到切图过大需要压缩后再使用的问题。少的话,还好说,一旦多起来,那种感觉又上来了…于是谷歌、百度大法找了一通轮子。有!但不太符合自己的使用习惯。还不如就此造一个,顺便练习一下插件的开发与发布流程。至于插件的开发过程,这里就不打算记录了,谷歌一下就有很多教程。主要还是介绍一下插件实现的功能与使用。有需要的可以直接拿去用。TinyPngPluginPlus GitHub:是利用 TinyPNG 的 API,开发的图片压缩插件。插件名称叫 【TinyPNGPlus】,已上传到了插件市场

2022-03-30 08:00:00 2458 1

原创 做最漂亮的玩Android小程序第三版

做最漂亮的[玩Android小程序]V3.0相较于第二个版本的更新:整体重构了API请求。因为写这个小程序的时间比较早了,那个时候的玩安卓开放API还未支持HTTPS,导致无法上线小程序,所以为了能够顺利上线,所有用到的API都是由自己的服务器做了中转的。现在的开放API早已支持了HTTPS,就没有理由不换回来了。网络请求二次封装。最开始学习开发小程序时,都是使用的纯原生开发,导致写了很多重复代码,难以维护。现在逐步封装之后,便于统一管理维护。重要是解决了小程序中打开文章详情问题。 大家

2021-09-22 09:11:11 1327 1

原创 使用Kotlin进行Android开发基本语法与习惯用法整理

目录使用Kotlin进行Android开发基本语法与习惯用法一、基本语法1.1变量1.2函数1.3字符串模板1.4条件表达式1.5空值与 null 检测1.5.1在条件中检测 null1.5.2安全的调用1.5.3Elvis 操作符1.5.4 !! 操作符1.5.5安全的类型转换1.5.6可空类型的集合1.6类型检测与自动类型转换1.6.1.1 is 与 !is 操作符1.6.2 智能转换1.7 For 循环1.8 when 表达式1.9集合1.9.1 集合转换1.9.2 过滤二、习惯用法2.1创建 DTO

2021-07-12 19:35:58 412 2

原创 如何系统高效的学习数据结构与算法?

是什么:数据结构指的是“一组数据的存储结构”,算法指的是“操作数据的一组方法”。数据结构是为算法服务的,算法是要作用再特定的数据结构上的。学什么:效率和资源消耗的度量衡–复杂度分析。最常用、最基础的20个数据结构与算法,学习他们的:“来历”、“特点”、“适合解决什么问题”和“实际的应用场景”。数据结构:数组、链表、栈、队列、散列表、二叉树‘、堆、跳表、图、Tire树算法: 递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法怎么学:边学边练,每

2021-05-06 21:32:10 210 1

原创 数据结构之数组

目录1、什么是数据2、数组的基本操作2.1、读取元素2.2、更新元素2.3、插入、删除元素3、数组的优势和劣势1、什么是数据数组对应的英文是array,是有限个相同类型的变量所组成的有序集合, 数组中的每一个变量被称为元素。数组是最为简单、最为常用的数据结构。数组中的每一个元素都有着自己的下标,下标从0开始,到数组长度-1结束。数组的另一个特点,是在内存中顺序存储 。2、数组的基本操作2.1、读取元素对于数组来说,读取元素是最简单的操作。由于数组在内存中顺序存储,所以只要给出一个数组下标,

2020-07-15 18:19:43 295

原创 Flutter入门项目《玩安卓Flutter版本》

目录一、前言二、《玩安卓Flutter版》效果图使用到的库已实现的功能三、结语一、前言一直想找时间完整的学习一下flutter,中间因为换工作的原因,断断续续的也算是完成了一个完整项目的开发体验。总的感觉来说,照着各种文档学习,上手开发还是不怎么难的。刚开始接触的时候,因为需要在代码中直接嵌套写布局,还不能直接预览,我个人是极其的不适应。好在没有放弃,坚持着写了几个界面之后,慢慢的觉得 “真香~~”!学习flutter,我并没有购买书籍和视频,全程跟着《Flutter实战》这本电子书来学这种组件使用

2020-06-28 15:32:00 1583 2

原创 类似支付宝收款的语音播报组件VoiceBroadcast

目录VoiceBroadcast收款金额播报组件使用说明1、在根目录 build.gradle 添加:2、在module项目下的build.gradle中添加:3、初始化:4、开始播报5、onDestroy中释放资源完结VoiceBroadcast收款金额播报组件收款语音播报通知可以使用很多的文字转语音的SDK,但本方案使用的是播放本地的mp3资源,实现了使用 SoundPool 和 MediaPlayer 两种方式来播放音频。demo中的界面如下:如果加入队列,后面的语音会等待依次播报,否则当前正

2020-06-23 16:01:56 1014

原创 Android可拖拽排序的多图上传组件UploadMultiImageView

目录欢迎使用 UploadMultiImageView 多图上传组件先看效果(录的视频)欢迎使用 UploadMultiImageView 多图上传组件项目中经常会有多图上传的需求,每次都重复写,实在不是一个好办法。于是基于 recycleview 来实现一个仅仅需要 【十几行代码】 就可拥有拖拽功能的多图上传组件。先看效果(录的视频) undefined ...

2020-06-10 23:30:31 915

原创 玩Android小程序v2.0,力争做最漂亮的玩Android

玩Android小程序v2.0,做最漂亮的应用相较第一个版本,做了两个非常重要的更新:界面的优化,使用了ColorUi、Vant-weapp框架,使界面更美观、漂亮。力争做最好用、最漂亮的玩Android小程序。使用“Server酱”进行微信绑定消息推送,实现了文章详情的查看。Server酱的key需要配置,后面会说明。先睹为快 怎么样?是...

2019-12-20 17:31:27 434

原创 Auto.js一个支持无障碍服务的Android平台上的JavaScript IDE(天猫自动刷金币)

2019-10-24 23:08:251024,快要结束了,下班回家。最近刚好赶上双十一,大家都在放着天猫盖楼刷金币,微信上每天收到数十个口令…作为程序员,在自己的几日里,我怎么可能会自己动手刷金币呢!免费的自动脚本给你用,岂不是美滋滋介绍一下Auto.js,安卓平台上的JavaScript自动化工具,想了解的直接点击进去看源码,是开源的。1、下载Auto的APK,安装到手机。链接...

2019-10-24 23:13:54 4499 1

原创 自定义带圆角背景的ShapeTextView、ShapeEditText,自定义根据状态切换背景色、字体色的ShapeCheckBox、ShapeRadioButton。

ShapeView组件:自定义带圆角背景的ShapeTextView、ShapeEditText;自定义根据状态切换背景色、字体色的ShapeCheckBox、ShapeRadioButton;UI设计图会经常出现不同圆角、不同背景色的按钮和输入框。甚至还有很多会根据状态来切换字体颜色和背景颜色的按钮。最常见的做法就是定义好需要的Shape后,在XML中设置属性使用,但是如果有很多个不同...

2019-10-10 12:46:13 1278

原创 Android Studio混淆后,APP无法启动

1、用Android Studio打包APP,配置开启混淆buildTypes { release { // 移除无用文件 shrinkResources true // 开启混淆 minifyEnabled true // zipAlign优化 ...

2019-09-24 08:59:55 3605

原创 Spring Boot项目中使用Swagger2

Swagger2是一款restful接口文档在线生成和在线接口调试工具,下面是在一个Spring Boot项目中引入Swagger2的简要示例。一、在pom.xml添加如下maven依赖 <dependency> <groupId>io.springfox</groupId> <arti...

2019-08-15 14:36:25 1288 2

原创 GridViewPager组件,短短几行代码即可实现美团首页分类多页展示效果,也可用于表情面板的展示

GridPagerGridPager组件:ViewPager结合GridView,轻松实现类似美团首页分类多页展示。也可用于表情面板的展示。链式调用,属性配置,几行代码轻松搞定。高度完全自适应,不需要固定高。1、Add it in your root build.gradle at the end of repositories:allprojects { repositories...

2019-08-01 19:01:26 1658 2

原创 小程序自定义tabBar

目录1、前言2、自定义tabBar样式3、引入custom-tab-bar及相关配置4、完整Demo1、前言很多时候,小程序自带的tabBar不能够满足项目需求,这个时候就需要我们自定义tabBar了。但是在网上找了很久,基本都是存在切换时闪烁的问题。幸运的是从基础库2.5.0开始,可以官方使用自定义tabBar了。2、自定义tabBar样式如下图所示,我们需要一个展示“首页”、“我的”,...

2019-06-10 14:56:08 16966 7

原创 小程序网络请求request封装

目录1、新建config文件夹,然后新建api.js,如下图所示:2、在utils文件夹下的util.js中添加封装的代码。3、封装请求的使用。3.1、在page的js文件的头部引入util.js、api.js。如下图所示:3.2、使用实例(获取首页列表数据)4、总结1、新建config文件夹,然后新建api.js,如下图所示:api.js 中统一存放后台api接口,方便管理。//测试地址...

2019-05-24 09:03:26 11285 4

原创 小程序AES-CBC加解密

目录1、小程序中新建aes.js2、同目录下新建aesTool.js,向外暴露加解密方法3、AES-CBC加解密使用4、其他ecb模式 nopadding无填充等等1、小程序中新建aes.js/*CryptoJS v3.1.2code.google.com/p/crypto-js(c) 2009-2013 by Jeff Mott. All rights reserved.code.g...

2019-04-08 11:40:48 1541 2

原创 小程序之云开发初体验

目录1、小程序之云开发初体验。完全基于云开发的小程序《甜蜜婚礼》。2、小程序效果图3、源码4、注意5、结语1、小程序之云开发初体验。完全基于云开发的小程序《甜蜜婚礼》。婚期将近,本人亲自操刀制作了一款基于云开发的小程序“甜蜜婚礼”。也算是体验了下次小程序云开发,确实非常便捷。任何人都不在受限于域名和服务器,因为完全不需要这些东西,都能够快速的开发出一款可上线的小程序。“甜蜜婚礼”小程序已上线,...

2019-03-30 19:00:10 791

原创 小程序自定义组件之popupwindow

小程序自定义组件之popupwindow1、场景2、自定义popupwindow弹窗2.1 新建Component.2.2 popupwindow.wxss2.3 popupwindow.wxml2.4 popupwindow.json2.5 popupwindow.js3、自定义popupwindow组件的使用3.1 引入组件3.2 组件的使用3.3 关闭点击事件4、结语1、场景小程序开发过...

2019-03-26 16:27:36 4078

原创 android8.0系统的通知栏适配

8.0系统的通知栏适配做了一个工具类,直接复制过去用吧。注释都比较清晰了。1、在Activity中创建通知渠道NotificationUtils.init().createNotificationChannel(this)2、发送通知//pushModel:自定义的消息数据modelNotificationUtils.init().sendNotify(context, pushMo...

2019-02-26 14:59:40 854

原创 Android基于百度地图的拖拽定位(地图可以拖动,定位图标不动)

1、要做的效果是:类似滴滴打车中的效果,即移动地图,marker始终在地图中央。如下图demo所示:好吧,一不小心就暴露了我所在的城市…2、我的思路是:滴滴打车这种形式的就不是marker了。百度地图的marker是跟随着地图的移动而移动的。所以你就不能用marker来实现了。你可以直接在xml布局上面添加一个居中显示的ImageView,用来显示图标。然后在通过监听地图状态变化,获...

2019-01-25 09:50:31 7470 12

原创 Python学习笔记一、编程环境

1、系统安装1.1 vbox虚拟机下载及安装点击下载virtualbox/5.2.22安装步骤就不说了,百度一大把的教程。1.2 Ubuntu 18.04.1 LTS系统下载点击下载Ubuntu 18.04.1 LTS1.3 vbox虚拟机安装Ubuntu百度找的安装教程。跟着安装就行了。2、Geany编辑器安装2.1 检查python版本按 Ctrl+Alt+T 打开终端窗口...

2018-12-08 10:24:02 1497

原创 《android源码阅读三》android源码编译导入android studio

1、安装 Java输入命令 java,报以下错误:Command 'java' not found, but can be installed with:sudo apt install default-jresudo apt install openjdk-11-jre-headlesssudo apt install openjdk-8-jre-headless//...

2018-09-14 19:41:30 1906

原创 《android源码阅读二》android源码下载

网上关于这块大部分教程都是无效的,因为墙的缘故,我这里使用了清华大学的镜像。1、下载 repoRepo 是一款工具,可让您在 Android 环境中更松地使用 Git,首先需要安装Git:sudo apt-get install git创建 bin,并加入 path:mkdir ~/binPATH=~/bin:$PATH下载 repo:curl htt...

2018-09-14 10:06:12 1679 1

原创 《android源码阅读一》VMware安装Ubuntu系统

VMware安装Ubuntu1、首先下载VMware和Ubuntu系统镜像,下载链接 提取码:wll52、下载完成后点击VMware,进行安装,安装的过程比较简单,就不说了,百度有很多教程。当前VMware版本是12.5.7,注册码也可以搜到很多,这里提供几个,试一试是否可以:VMware 12 Pro 永久许可证激活密钥 5A02H-AU243-TZJ49-GTC7K-3C6...

2018-08-27 15:44:02 1495

原创 基于“玩android”开放API开发的开源微信小程序项目

❤ 小程序已审核通过,上线了!!!扫码立即体验了。项目源码地址,欢迎star:https://github.com/mtjsoft/wanandroid1、小程序名称:玩androids基于鸿洋大神的玩android开放API完成的《玩android》微信小程序版本,一起来学习小程序开发吧。2、小程序码:3、小程序完成情况说明:目前文章详情,使用的是复制链接到剪切板...

2018-08-15 12:05:47 2610

原创 SpringBoot+MyBatis配置

IDEA旗舰版是可以直接创建SpringBoot工程的。github源码地址File -New-Project。 包名、工程名这些都不用说了。 这里选择上Web, 选用mybatis。其他可以根据自己的需要去选择。 一路next就基本OK了。工程结构,配置文件我使用的.yaml文件。如下 pom.xml 注解扫描mapper所在位置 mapper中实现数...

2018-05-18 22:42:05 1971

原创 android端通过Socket文件上传

1、Socket文件上传演示场景:一个手机作为发送端、一个手机作为接收端、两部手机在同一wifi网络环境下。github源码地址,可以下载对照着看。2、首先用一部手机来创建并启动接收端的Socket服务。部分代码:1、创建服务端ServerSocket,接收文本信息。/** * 创建服务端ServerSocket * 接收文本消息 */ ...

2018-04-21 11:51:43 3377

原创 android直接链接sqlserver数据库

1、开发中遇到需要android端直接链接服务端sqlserver数据库,并向sqlserver数据库插入数据的场景。2、链接到sqlserver数据库,需要用到 jtds 工具包,我使用的是 jtds-1.3.1.jar。点击百度网盘下载,密码: fma73、下面就是直接链接sqlserver数据库的代码:package com.mtjsoft.www.myapplicati...

2018-04-18 11:54:10 9726

原创 Android自定义Camera2 拍照,用SurfaceView预览。

布局文件不用说了,就它了SurfaceView。其他花里古哨的布局,自己想着加吧!<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent">

2017-12-29 10:42:30 8628 5

原创 Android自定义Camera,用SurfaceView预览。

android自定义camera

2017-11-04 15:19:16 3833

原创 WebView加载图片自适应屏幕

webview加载图片自适应屏幕,就这个有效,亲测。

2017-06-28 14:27:34 1651

原创 Recyclerview支持下拉刷新、上拉加载,包括线性布局、网格布局和 流布局

SwiperefreshRecyclerview支持下拉刷新、上拉加载的 Recyclerview,包括线性布局、网格布局和 流布局。只需要在adapter中绑定数据,其他的交给我,就是这么6。

2017-06-26 15:00:35 1822

转载 类似滴滴打车,多辆小车在地图上平滑移动的实现,基于百度地图实现(无轨迹)

参考百度地图demo:轨迹运行demo展示,类名TrackShowDemo。百度TrackShowDemo类里只实现了一个完整的轨迹运行,并且是将所有的经纬点放在一个数组里,我觉得直接放在一个List集合里更好点。

2017-05-26 23:28:59 2927

原创 android关闭指定的activity

android关闭指定的activity

2017-05-26 23:22:40 6480 1

原创 RecyclerView实现添加头部和底部

RecyclerView,addHeaderView和addFooterView。

2017-05-04 15:33:14 2475

解决Genymotion虚拟机安装出现INSTALL_FAILED_NO_MATCHING_ABIS

这个问题出现在模拟器上的概率更大些,原因是某些应用使用了原生库(NDK,Native Lib),这些库的编译目标通常是arm架构的cpu,在x86上运行就会报这样的错误。 解决方法: 下载genymotion-arm-translation,直接拖入genymotion模拟器窗口,提示成功后重启就OK了。

2017-09-13

android studio中文、英文包

替换掉studio安装包lib目录下的resources_en.jar 文件,重启就行了。替换前,建议备份源文件。

2017-02-18

viewpager+fragment+fragment间通讯

viewpager+fragment实现滑动导航的功能。简单实现了fragment间的传值,activity与fragment间的通讯。

2016-08-10

空空如也

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

TA关注的人

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