Android
文章平均质量分 70
Android相关
文阿花
这个作者很懒,什么都没留下…
展开
-
flutter极光推送配置厂商通道(华为)笔记--进行中
华为应用适配开发-云端通知适配上让配置category(后端), 经测试在集成极光推送+厂商通道的基础上不配置category也能正常接收离线消息 (通过极光后台发送,走厂商通道,app进程杀死状态)原创 2024-01-24 16:43:23 · 2107 阅读 · 0 评论 -
flutter集成高德地图打包后闪退
flutter高德地图打包后闪退原创 2023-02-06 16:04:01 · 756 阅读 · 1 评论 -
flutter_swiper插件实现卡片效果(高度自定义)
flutter 横向卡片效果原创 2022-12-29 11:19:36 · 1311 阅读 · 0 评论 -
Android集成极光推送Flutter
安卓集成极光推送Flutter插件原创 2022-10-12 15:06:26 · 1076 阅读 · 0 评论 -
Android集成高德Flutter地图(三)定位
高德地图定位Flutter实现原创 2022-10-10 17:06:18 · 4332 阅读 · 2 评论 -
Android集成高德Flutter地图(二)自定义Marker显示
Flutter高德地图自定义Marker原创 2022-09-30 09:39:59 · 1532 阅读 · 0 评论 -
Android集成高德Flutter地图(一)基础地图显示
使用Flutter集成高德地图原创 2022-09-30 09:39:10 · 2330 阅读 · 1 评论 -
Flutter项目打包生成APK
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2022-02-21 14:24:29 · 15917 阅读 · 3 评论 -
关于Flutter和Android混合开发的记录
混合开发方式:一、源码集成二、产物集成:Flutter 项目单独开发,开发完成后发布成 aar 包或者 IOS的 framework 形式,原生项目依赖 Flutter 输出的制品即可产物集成在已有Andriod项目中集成Flutter1、创建Android项目2、安卓Studio配置Flutter,请参考另一篇文章:安卓studio 配置Flutter3、创建flutter moduleflutter create -t module myflutter会出现:Creating pro原创 2022-01-04 14:24:16 · 2015 阅读 · 1 评论 -
Flutter之MaterialApp使用
字段列举:字段类型navigatorKey(导航键)GlobalKey< NavigatorState >home(主页)Widgetroutes(路由)Map<String, WidgetBuilder>initialRoute(初始路由)StringonGenerateRoute(生成路由)RouteFactoryonUnknownRoute(未知路由)RouteFactorynavigatorObserver转载 2021-12-03 14:06:44 · 1301 阅读 · 0 评论 -
安卓Studio修改包名
修改项目包名1)选中项目中药修改的包名:2)目结构显示方式,取消 Compact Middle Packages 选项;3)右键要修改的包名,选择 Refactor —— Rename 打开修改编辑框;4)点击 Rename package 修改包名:5)输入新的包名,点击 Refactor 修改:6)点击 Do Refactor 确定修改:7)打开项目 app/main 目录下的AndroidManifest.xml文件,修改该文件中的package="新包名"字段:8)修改项原创 2021-10-28 16:59:29 · 11411 阅读 · 4 评论 -
使用HttpClien请求application/json类型接口
接口要求:package com.qidian.driver_client_new.utilsimport android.app.Dialogimport android.os.Handlerimport android.text.TextUtilsimport android.util.Logimport com.alibaba.fastjson.JSONExceptionimport com.google.gson.Gsonimport okhttp3.*import okhttp原创 2021-10-21 18:58:24 · 1915 阅读 · 0 评论 -
安卓studio 配置Flutter
(1)下载最新的Flutter SDK: Flutter SDK(2)将压缩包解压到指定目录:例如C:\src\flutter;不要将Flutter安装在C:\Program Files\需要提升权限的目录(3)配置环境变量(以Window10系统为例)我的电脑-右键-属性-高级系统设置-高级-环境变量-...原创 2021-09-13 17:19:19 · 3175 阅读 · 0 评论 -
Git库常规操作,代码更新、提交、合并
1、常见的代码提交 更新git status 查看代码状态 如果有爆红 则addgit add . 添加git commit -m"更新内容备注" 提交git pull 拉取git push 提交git branch 获取所在分支名git branch -a 获取所有分支名git branch -all 获取所有分支名git config --list 获取当前登录的账号信息git pull origin 分支名git remote -v原创 2021-09-07 14:38:44 · 1504 阅读 · 0 评论 -
关于安卓开机自启动的方案(最高测试9.0系统管用)
实现思路:安卓实现开机自启动的思路就是注册广播。(1)首先清单文件AndroidManifest.xml中添加权限: <!--声明接收启动完成广播的权限--> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />(2)其次注册广播: <receiver android:name="com.md.bowlingbiggerscreen.u原创 2021-06-30 15:42:43 · 6855 阅读 · 3 评论 -
Java的数据结构总结
目录 * 数组 * 链表数组数组是一种连续存储线性结构,元素类型相同,大小相同,数组是多维的,通过整形索引值(即下标index)来访问其元素,数组的大小不能改变。数组的优点存取速度快定义简单能存储大量数据数组的缺点 事先必须知道数组的长度 数组中所有的类型必须相同 增删元素比较慢 需要大块连续的内存空间,所以数组不可能定义的太大,因为内存中不可能有那么多大的连续的内存空间,而解决这个问题的方法就是使用链表。链表链表是一种非连续、非顺序的存储结构。每个链表原创 2021-04-23 10:06:37 · 594 阅读 · 1 评论 -
Java单链表的使用
什么是单链表一种链式存取的数据结构,单链表中的数据是以结点的形式存在,每一个结点是由数据元素和下一个结点的存储的位置组成。单链表与数组相比的最大差别是:单链表的数据元素存放在内存空间的地址是不连续的,而数组的数据元素存放的地址在内存空间中是连续的,这也是为什么根据索引无法像数组那样直接就能查询到数据元素。即一个节点指向下一个节点链表存储的结点public class SingleLinkTable<T> { public class Node { priva原创 2021-04-21 16:05:31 · 611 阅读 · 0 评论 -
通过链表实现栈(动态栈)的实现
通过链表实现栈栈的结构public class LinkTableStackText<T> { public class Node { private T t; private Node next; public Node(T t, Node next) { this.t = t; this.next = next; } public Node(原创 2021-04-22 13:56:47 · 475 阅读 · 0 评论 -
通过数组实现栈(静态栈)的实现
通过数组实现栈栈的结构public class ListStackText<T> { //实现栈的数组 public Object[] statck; public int size; public ListStackText() { statck = new Object[10];//初始化容量 }}进栈 //进栈 public void pushStack(T t) { //先判断容量,原创 2021-04-22 10:38:59 · 488 阅读 · 0 评论 -
树、二叉树(完全二叉树、满二叉树)
树的定义树是由n个结点的有限集合,只有一个根结点,其余结点可以分为m个根结点的子树树的概念结点的度一个结点拥有子树的个数称之为度,如上图,例如A的度为3,B的度为1,F的度为0。叶子结点 度为0的结点称为叶子结点(H、F、G、D)。树的度树的度即为所有结点中度的最大值,如上图,树的度为3。树的深度或高度 树中结点的最大层次称为树的深度或高度,如上图,树的深度为4。子结点例如上图根结点A的子结点为B、C、D。兄弟结点例如上图中B、C、D为兄弟结点原创 2021-04-21 10:16:23 · 531 阅读 · 0 评论 -
java常见面试题
1、Java中equal和==的区别== : 比较的是两个变量本身的值equal:比较的是字符串中包含的内容是否相同2、安卓五大存储方式1、SharedPreference:适用于存储少量数据,以key+value形式存储数据,存储的数据以xml文件的形式存储于设备2、ContentProvider进程之间进行数据的共享,即跨进程通信ContentProvider的简单使用3、数据库存储安卓五大存储方式之SQlite4、网络存储5、文件存储3、安卓服务启动的两种方式1、原创 2021-02-20 11:19:20 · 2595 阅读 · 1 评论 -
安卓开发中遇到问题记录贴(二)
PictureSelector打开相册空白页-图片不显示glide更新到对应版本原创 2021-04-02 10:21:25 · 996 阅读 · 0 评论 -
自定义View学习(一)拖动
简单可拖动自定义View可移动光标需求:1、光标样式2、可拖动3、拖动时颜色改变4、设置拖动边界光标实现:/** * 光标 */class CurSorView(context: Context?, fatherViewWidth: Int, fatherViewHeight: Int, index: Int) : View(context) { //是否开启抗锯齿 private val antiAlias = true private val mA原创 2021-03-01 14:26:58 · 564 阅读 · 1 评论 -
自定义View学习(二)拖动+重绘
android 自定义view 改变大小,重新执行OnMeasurerequestLayout();在view 中调用requestLayout();view会重新计算大小,也就是会重新执行onMeasure 方法。在onMeasure中调用 setMeasuredDimension(tempWidth, tempHeight); 就会重新设定view的大小 setMeasuredDimension(tempWidth, tempHeight);...原创 2021-03-11 09:41:25 · 716 阅读 · 0 评论 -
自定义View学习(三)自定义可拖动的RecyclerView
由于项目中需要实现列表可长按条目然后拖动改变位置,网上有很多成型的demo,写的都非常好,自己就下载研究后,自己模仿者写了一个,以下作为整理:前言预期效果列表形式、长按条目放大动画,拖动修改列表中item位置,松开时候显示缩小动画思路列表使用RecycleView,动画使用ScaleAnimation(缩放动画),拖动功能使用...原创 2021-04-26 09:36:50 · 607 阅读 · 0 评论 -
安卓自定义View(四)重叠View(灵感来自头像重叠)
最近同事需要实现如下效果的一个功能,我闲来无事就试着实现了一下,以下是具体功能的实现步骤:功能要求:可以水平滚动动态添加个数不定可点击 点击后变为选中色功能实现:自定义Viewpackage com.light.mytext.mycustomview;import android.animation.ValueAnimator;import android.content.Context;import android.content.res.TypedArray;impor原创 2021-04-20 10:44:52 · 943 阅读 · 0 评论 -
360度虚拟摇杆控制机器人前进后退转弯(一)
项目需求最近做一个项目,要求使用虚拟摇杆控制机器人设备前进后退转弯,整个过程的思路不算复杂,写篇文章记录下大致思路(1)黄色圆不动时候 小车速度为0(2)拖动摇杆 拖动距离越大 小车速度越大 距离最大为灰色圆环半径(3)向正上方拖动时候要求左右轮速度相同 小车前进(4)向正下方拖动时候要求左右轮速度相同 小车后退(5)向斜方向拖动时候要求小车向对应方向转弯(6)速度范围1200~1800一、360虚拟摇杆的实现中间黄色圆可以360度移动,最大运动距离为外部灰色圆环半径思路以圆原创 2021-01-21 09:59:24 · 2666 阅读 · 4 评论 -
360度虚拟摇杆控制机器人前进后退转弯(二)-Socket
上篇文章搞定了虚拟摇杆以及左右轮速度算法,接下来就是连接硬件以及向硬件提交信息获得串口通信串儿(1)串口通讯(2)通讯规则:1、协议格式:(8字节)[startbyte] [data1][data2]…[data22][flags][endbyte]startbyte=0x0f;endbyte=0x00;flags标志位我没有用到;data1…data22:对应16个通道(ch1-ch16),每个通道11bit2、需要的是data数据 22*8位[startbyte] [data1]原创 2021-01-21 10:42:09 · 663 阅读 · 0 评论 -
安卓Socket的使用
*** 一、创建Socket/** * TCP连接 */ public static void connetToServer() throws IOException { try { client = new Socket("10.10.100.254", 8899);//IP+端口号 client.setSoTimeout(10000);//设置超时时间 out = new DataOut原创 2021-01-21 09:13:16 · 679 阅读 · 0 评论 -
安卓同步锁的使用
安卓同步锁使用小结一、同步机制synchronized作用Synchronized是Java中解决并发问题的一种最常用最简单的方法 ,他可以确保线程互斥的访问同步代码1、当多线程之间存在共享数据时候,synchronized可以保证同一时间只有一个线程执行锁定的代码块儿,防止线程交叉执行2、 可见性对于被synchronized修饰的代码块,如果A线程执行结束,会强制刷新线程缓存内容到内存,同时通知其它synchronized修饰的线程x的值无效,需要重新读取(这点跟volatile很相似),因原创 2020-12-11 17:53:37 · 2794 阅读 · 0 评论 -
安卓单例使用
安卓单例使用小结单例模式在安卓中使用还是比较多的,今天就对单例一个经验小结。定义作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。特点单例类只能有一个实例。单例类必须自己创建自己的唯一实例。单例类必须给所有其他对象提供这一实例。创建单例的方法Android中创建单例的方法一般有:懒汉式和饿汉式懒汉式懒汉式其实是一种比较形象的称谓。既然懒,那么在创建对象实例的时候就不着急,会一直等到马上要使用对象实例的时候才会创建。其中要注原创 2020-12-01 14:08:03 · 545 阅读 · 0 评论 -
安卓框架学习之MVP、MVC、MVVM小结
安卓框架学习之MVC、MVP、MVVM小结安卓常用框架:MVP、MVC、MVVM。MVC框架MVC (Model View Controller 模型-视图-控制器)它实现了显示模块与功能模块的分离。Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。原创 2020-11-30 18:24:40 · 468 阅读 · 0 评论 -
安卓线程异步处理的小结
安卓线程异步处理的小结概念了解Android会存在两种线程:一种是UI主线(UI Thread)程一种是工作线程(Work Thread)在子线程中处理耗时的任务,任务完成后通过Handler通知UI主线程更新UI界面主线程不允许进行耗时的操作(比如说网络请求和访问),否则容易出现ANR现象ANRanr:application not reponse:应用程序无响应主线程:UI线程anr产生的原因:主线程需要做很多重要的事情,响应点击事件,更新ui,如果在主线程里面阻塞时间过久,应用程序就会原创 2020-11-28 11:58:35 · 747 阅读 · 0 评论 -
# 安卓五大存储方式之SQlite
关于重新认识SQlite(一)虽然做安卓接触到数据库的机会没有后台那么多,但是最近发现还是有蛮多机会会遇到,做了五年安卓倒是提起SQlite还要请教后台的同事,让我感到分外惭愧,所以今天决定重新认识下SQlite。常用数据库的种类Oracle、MySQL、SQLSever,SQlite等SQlite简介SQlite是目前为止比较流行的开源嵌入式数据库,属于轻量级、跨平台的关系型数据库,其主要优势在于灵巧、快速和可靠性高,并且占用资源非常低,能够支持多个主流的操作系统,例如Windows/Linux原创 2020-11-27 16:41:51 · 480 阅读 · 0 评论 -
ArcGIS for Android100.10.0入门(一)
一.建议使用Gradle进行安装配置 官网:https://developers.arcgis.com/android/install-and-set-up/一、项目的build.gradle添加allprojects { repositories { google() jcenter() // Add the Esri public Maven repository maven { url 'https://esri.jfrog.io/artif原创 2021-03-01 17:46:15 · 960 阅读 · 1 评论