![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android开发
文章平均质量分 66
古城3116
这个作者很懒,什么都没留下…
展开
-
Android开发学什么
最后,我们来总结一下,Android开发要学习的内容就是界面的布局+数据的存储方式。所以Kotlin语言的简单使用也是大部分学习Android开发的人需要学习的。数据:应用界面上显示的各种内容是由数据组成的,数据可以临时存储在内存中,持久化存储在设备上,或者通过网络请求数据。Android开发往复杂了讲,可以有很多内容要学:四大组件(Activity, Broadcast, Content Provider, Service),MVVM,MVP, Jetpack,插件化,组件化,网络请求,Gradle……原创 2023-05-28 23:05:44 · 118 阅读 · 0 评论 -
统计助手隐私政策
一、引言:您的信任对我们非常重要,我们深知个人信息对您的重要性,我们将按照法律法规的要求,基于您的授权,合理、必要、限制地使用您的个人信息。您应认真阅读,充分理解并授权后再使用本软件。二、定义:统计助手:指统计助手向用户提供服务的产品载体(包括并不限于APP/网站/公众号等)。统计助手服务提供者:个人开发者刘伟。三、我们将如何收集和使用您的个人信息:我们收集您的信息主要用于改善我们的服务,我们收集的个人信息主要有以下几种:1.我们通过软件运行日志,记录程序的运行状态及崩溃。如果发生运行错误.原创 2021-12-06 22:06:54 · 1046 阅读 · 0 评论 -
EventBus源码分析
EventBus是一款常用的事件通知框架。通过发布订阅方式可以便捷高效地传递数据。接下来,按照EventBus使用的四个步骤来分析EventBus的源码:1.初始化:EventBus的初始化是一个典型的单例模式,采用的是懒汉式的双重检查的单例写法。一般不用单独写初始化的代码,使用EventBus做其他操作,比如注册监听事件,调用EventBus.getDefault().register(subcriber)时,在单例模式的getDefault()方法中发现没有初始化,就会自动初始化。/*..原创 2021-09-08 07:47:49 · 177 阅读 · 0 评论 -
github actions实现Android持续集成
持续集成(Continuous Integration)在很多单位都有现成的系统,但是作为一名工程师,我们还是要了解其原理,可以自己尝试做一下。经过本人的尝试,发现功能并不复杂。这里把持续集成实践经验总结与大家分享。持续集成用的比较多的是jenkins。后来在网上搜索发现github也有这个功能,就想着用github来实现。github功能的确十分强大,我们平时用到的github功能主要是托管代码等很小一部分功能。本文持续集成android项目实现的功能主要有以下两个:1.在有新提交时自动编译打包。原创 2021-08-17 09:12:37 · 332 阅读 · 0 评论 -
记一次解决Android Studio编译速度过慢(inconsistent location报错)
17年12000买的mac,最近编译一个简单的程序要十几分钟,而且过程中还一直风扇嗡嗡响。心里想是不是要换个电脑了?可是我最近没钱换啊啊。写几行代码想运行看个结果就等十几分钟半小时。想着这也不是个办法,就把各种记得不记得的方式都给用上,同时百度一通,一顿操作猛如虎。把各种jvm的内存都调大,然后把默认在AS里面点击▶️按钮运行的方式也改成了在终端里用全局的gradle命令去编译。发现报了如下log。Observed package id 'tools' in inconsistent loca.原创 2021-07-14 17:27:15 · 894 阅读 · 0 评论 -
Android环形进度条
进度条是我们平时开发过程中经常使用的。本文来介绍一下动态环境进度条的实现方法。自定义CustomView,继承自DynamicCircle。package com.gucheng.dynamiccircle;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;...原创 2018-04-07 11:23:30 · 841 阅读 · 0 评论 -
ListView头部的显示和隐藏
将头部布局添加到listview的headview中。例如:mListView.addHeaderView(mHeadView);初始化时隐藏头部:mHeadView.setPadding(0, -mHeadHeight,0,0);给listview设置onTouchListener事件:mListView.setOnTouchListener(this);在on...原创 2018-07-18 22:45:07 · 4140 阅读 · 0 评论 -
工厂模式简介
工厂模式集中封装了对象的创建,使得要更换对象时,不需要做大的改动就能实现。构造方法集中,对外隐藏了具体的构造方法,构造方法改动时更容易,便于代码维护。如果没有将构造函数集中到创建工厂里,代码里很多地方都写了某一个对象的创建,修改创建方法的时候就会修改很多处。耦合度过高,不易维护。工厂模式分为简单工厂模式和工厂方法模式。简单工厂模式 通过逻辑分支来判断要创建的对象,使用简单...原创 2018-07-29 10:29:48 · 366 阅读 · 1 评论 -
RecyclerView实现可拖拽的gridview
RecyclerView功能强大,而且性能优秀。RecyclerView实现了控件的复用机制。RecyclerView可以实现多种布局,比如类似于Listview或者GridView的布局都可以实现。 本文就来实现类似于Gridview的布局并实现拖拽功能。 布局中添加recyclerviewlayout manager选择GridLayoutManager以上即可...原创 2018-12-23 19:45:32 · 677 阅读 · 0 评论 -
将本地代码托管到github
登陆github账号,没有的话先注册一个。在github上选择new reposty.接下来,github自动就会给出如下提示: 我们假设本地还没有仓库。以mac为例,假设本地还没有建立仓库。在Terminal中进入到代码目录,输入git init,初始化代码仓库。输入"git add . "将本地的所有代码添加到暂存区。git commit -m "first ...原创 2017-10-24 22:35:26 · 721 阅读 · 0 评论 -
设计模式之单例模式
单例模式是常用的设计模式之一。单例模式是指在程序运行过程中,在一定范围内只能有一个实例。这在程序设计中很常见。比如在原创 2018-03-31 00:06:38 · 166 阅读 · 0 评论 -
Android N系统CTS verifier中cross profile相关测试项fail的解决方案
测试环境简介:CTS verifier apk是对应Android N的版本。系统是Android N。测试项名称:camera support cross profile video capture (without extra output path)测试过程:点击该项测试时,会调用到手机中安装的相机拍摄视频。拍摄视频后返回到CTS verifier apk的界面进行视频播放。原创 2016-11-16 21:48:14 · 3371 阅读 · 0 评论 -
安装Android Studio遇到的那些坑及解决办法
1.代理设置2.编译设置3.JDK 设置原创 2017-01-08 21:29:33 · 21907 阅读 · 0 评论 -
Android面试常见问题
Android面试常见问题 本人也算是面试经验丰富,经历了很多场面试。面试过程中,常常会重复性地遇到一些问题。这里把常见问题汇总下来,希望能对大家有所帮助。 1.常用的布局有哪些? 2.Activity启动模式? 3.handler如何使用?在同一个线程中可以实例化多个handler么?简单介绍handler、looper、message queue之间的关系。在子线程中实例原创 2017-03-29 21:41:00 · 828 阅读 · 0 评论 -
使用wamp搭建本地服务器及本地服务器的访问
在学习Android开发网络知识的部分,为了便于调试,需要自己搭建服务器。没有必要从网络上花钱购买服务器,这里我们可以自己在电脑上搭建本地服务器。只要电脑和手机连接到了同一个局域网,比如都连接同一个家里的路由器。就可以通过手机来访问本地服务器了。使用wamp可以非常快速方便地搭建服务器,wamp集成了Apache服务器而且安装起来非常地简单方便。WAMP是Windows环境下的Apache服务器,M原创 2017-04-29 10:48:55 · 10862 阅读 · 0 评论 -
手把手教你实现Android AIDL跨进程通信
Android中通过Binder机制实现跨进程通讯,Binder机制比较典型的例子就是AIDL Service。AIDL跨进程通讯的实现在Android中是比较重要的知识点,同时也有一定的难度。本文通过一个具体简单的栗子来讲述如何实现跨进程通讯。Android跨进程通讯,由四大部分组成,分别是Client、Server、Service Manager和Binder驱动程序。其中Service Ma原创 2017-04-04 22:28:57 · 514 阅读 · 1 评论 -
微信抢红包插件与Android辅助功能
逢年过节大家都少不了发微信红包,通过微信红包来表达祝福。同时,微信还有拼手气群红包。各种群好友群,亲戚群,工作群逢年过节常常会有红包可抢。抢红包的口诀是:“网速要好,手速要快”。抢到红包固然欣喜,抢不到红包的失落和遗憾的感觉却让人非常不爽。有时等红包等了很久,明明看到了一点开就被抢完。还有人等了很久,刚花了几分钟时间去做其他事,就有人发红包。损失了一个亿啊有木有……自从有了微信红包插件,再也不用担原创 2017-06-04 14:04:16 · 6769 阅读 · 10 评论 -
使用mac连接安卓手机adb
花了12000大洋买了一款2017新式mac。电脑外观十分漂亮,速度也很快,不过有些地方和windows差别很大,真的用起来不是很适应。我是想要用这台电脑来做Android开发,那么这样一定要连接adb调试了。下面我来简单说说遇到的那些坑和解决办法。1.2017新款Macbook pro没有usb接口 我把整个电脑翻了个遍,只找到了两个口,后来查了一下发现两个都是 thu原创 2017-08-24 16:34:56 · 1073 阅读 · 0 评论 -
计算平均时间
最近做了一个小项目,需要计算平均时间。平均时间该怎么算呢?这里精确到分钟,其他的可以类推。例如,8:40和7:50怎么通过公式来计算出他们的平均时间呢?如果你用(8.4+7.5)/2=7.95这么算出来的时间是不对的。因为我们知道40分钟换算成小时并不是0.4小时,50分钟换算成小时也并不是0.5小时。因为时间不是十进制的。对于多天里面的平均时间的计算,可以将分钟换算成小时。比如说40除以原创 2017-11-13 12:02:00 · 17939 阅读 · 0 评论 -
Android 存储空间简介及不同存储路径获取
1.存储空间简介Android存储空间主要分为三个部分:内存、机身存储和SD卡存储。内存用于程序计算,通常空间小,速度快而造价高。机身存储和SD卡存储可以用于保存文件,如照片、视频等。机身存储和SD卡存储不能用于程序计算,但是可以在断电时保存文件,空间大且造价小。所以内存和机身存储、SD卡存储的任务是不同的。在支持扩展存储空间的手机上,如果机身自带存储空间不够,可以插入SD卡来扩大空间。类比于原创 2016-11-07 22:25:51 · 669 阅读 · 0 评论