- 博客(54)
- 收藏
- 关注
原创 Android APK开发基础——git代码管理
Git代码管理工具https://blog.youkuaiyun.com/free_wind22/article/details/50967723 git下载安装1、Git下载安装 , Windows用户下载地址:https://git-for-windows.github.io/ ,然后按默认选项安装即可。2、安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出...
2018-09-19 17:16:47
750
原创 Android APK开发基础——UI之小部件
TextView带图片: android:drawableLeft="@drawable/fanhui" ImageView Edittext属性输入限制最大字符长度: android:maxLength="10"限制输入内容类型: android:inputType="number"限制输入内容行数:android:lines="1"...
2018-09-18 17:21:06
298
原创 Android APK开发基础——Android网络基础
联网状态判断对于联网应用,需要应用检测是否联接到网络。具体方法可见:Android中判断网络连接是否可用及监控网络状态https://www.cnblogs.com/fnlingnzb-learner/p/7531811.html 应用创建应用网络管理类:NetUtils...
2018-09-18 14:50:36
252
原创 Android APK开发基础——监听亮灭屏
android 设置系统屏幕背光时间或锁屏间隔时间/** * 获得锁屏时间 毫秒 */ private int getScreenOffTime(){ int screenOffTime=0; try{ screenOffTime = Settings.System.getInt(getContentResolver(), Sett...
2018-09-06 16:11:10
943
原创 Android APK开发基础—— 权限
参考:Android6.0M权限管理实战,完美轻量级封装https://blog.youkuaiyun.com/linglongxin24/article/details/53189359
2018-09-06 16:10:42
250
原创 Android APK开发基础——UI之android theme和style
style的作用范围好了现在我们知道了style是用来设置界面的默认属性的。那么style可以设置在哪些对象上呢?Style可以设置在三个对象上,分别是Application、Activity、View(布局和控件的总称)。根据应用的对象不同,style的称呼作用也是不一样的:被称作”theme”的style是Application和Activity中使用(是针对窗体级别的,可以改变窗...
2018-09-04 15:15:30
271
原创 Android APK开发干货2(23)—— Activity管理类
Activity手动全局管理一、编写Activity全局管理方法。两种方式:1、可以单独写成管理类。2、写到应用的Application类里。举个例子:/** * 全局管理Activity */private static Stack<Activity> activityStack;//添加Activity到堆栈public static void...
2018-08-29 16:54:58
230
原创 Android APK开发干货2(22)—— 基类Activity
参考资料:Android产品研发(三)-->基类Activityhttps://blog.youkuaiyun.com/qq_23547831/article/details/51546974
2018-08-29 16:51:56
188
原创 Android APK开发基础——Exception如何处理保证APP不闪退
1、APP不闪退保证即使有exception没有捕捉处理,也不至于APP crash闪退。该方案出自于:捕获程序Crash,让你的APP告别闪退https://www.jianshu.com/p/e0b81103d762 使用:1、创建如下两个类ExceptionHandler 和QuitExceptionHandlerpublic class Exception...
2018-08-29 15:55:29
2000
原创 Android APK开发基础——网络之Android Rxjava
java自带的观察者模式 观察者模式定义了对象之间一对多的的依赖关系,以便一个对象的状态发生改变时,所有依赖于他的对象都能够得到通知,并自动刷新。 一、总结特点java自带的观察者模式,其观察者和被观察者是在同一个线程。 使用1、创建被观察者类和观察者接口创建被观察者类,它继承自java.util.Observable类;创建观察者类,它实现java.util....
2018-07-12 16:07:30
188
原创 Android APK开发基础——网络之retrofit
Retrofit 写一个网络请求以获取豆瓣 Top250 榜单为例,地址:https://api.douban.com/v2/movie/top2501,首先,要使用Retrofit ,你肯定需要把它的包引入,在你的build.gradle文件中添加如下配置:apply plugin: 'com.android.application'android { compileSdk...
2018-07-11 15:38:19
186
原创 Android APK开发基础——Android MVP
随着界面及其逻辑的复杂度不断提升,Activity类的职责不断增加,以致变得庞大臃肿。当我们将其中复杂的逻辑处理移至另外的一个类(Presneter)中时,Activity其实就是MVP模式中View,它负责UI元素的初始化,建立UI元素与Presenter的关联(Listener之类),同时自己也会处理一些简单的逻辑(复杂的逻辑交由Presenter处理)。MVP可以看作是MVC的升级,(A...
2018-07-06 14:20:19
207
原创 Android APK开发基础——图片加载框架Fresco、Picasso、Glide、Volley ImageLoader
Android发展到现在,各种图片加载框架也是层出不群。从刚开始的Android-Universal-Image-Loader,到后来Google推出的Volley,再到现在的Fresco,Picasso,Glide百花齐放,总有一款适合你。主要从以下三个方面考虑:同步/异步请求、解析、缓存。缓存下面详细介绍一下缓存策略的实现:为什么要使用缓存在介绍缓存策略之前,我们先来回答一...
2018-07-06 10:55:46
223
原创 Android网络连接与云服务2--执行网络操作
连接到网络最常用的网络请求库Volley、OkHttp、OkHttp3Android 开源网络框架(Android-Async-Http、Volley、OkHttp3、Retrofit2.0)对比https://blog.youkuaiyun.com/jasonwang18/article/details/55669118解析 XML 数据管理网络的使用情况调试工具postman...
2018-07-05 17:06:38
269
原创 Android网络连接与云服务1--无线连接设备
除了能够在云端通信,Android 的无线 API 也允许同一局域网中的设备进行通信,甚至没有连接到网络上,而是物理上隔得很近,也可以相互通信。
2018-07-05 15:54:44
857
原创 Android APK开发基础——View基础
修改View的可见性1、android api :setVisibility( )(可显示或隐藏布局或控件...)View缺省为可见的,在应用可以通过setVisibility 修改View的可见性,View可用性可以有如下三种状态:View.VISIBLE View可见。View.INVISIBLE View不可以见,但仍然占据可见时的大小和位置。View.GONE View不可见,...
2018-07-05 14:48:22
222
原创 Java基础11-- 一维数组
Java中的数组 /**************数组的声明*******************/ // 声明整型数组 int[] intArray0 ; int intArray1 []; // 声明浮点型数组 float floatArray0 [...
2018-07-05 11:15:57
216
原创 排序算法1--冒泡排序
文章引用出处:Java中的经典算法之冒泡排序(Bubble Sort)https://www.cnblogs.com/shen-hua/p/5422676.html原理:比较两个相邻的元素,将值大的元素交换至右端。思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较...
2018-07-05 10:25:11
174
原创 算法总结
排序算法排序算法1--冒泡排序排序算法2--选择排序排序算法3--插入排序排序算法4--希尔排序排序算法5--快速排序排序算法6--归并排序排序算法7--堆排序排序算法8--基数排序...
2018-07-05 10:15:56
1298
原创 Android APK开发基础—— 四大组件之Broadcast
为什么需要广播机制呢?在Android系统中,为什么需要广播机制呢?广播机制,本质上它就是一种组件间的通信方式,如果是两个组件位于不同的进程当中,那么可以用Binder机制来实现,如果两个组件是在同一个进程中,那么它们之间可以用来通信的方式就更多了,这样看来,广播机制似乎是多余的。然而,广播机制却是不可替代的,它和Binder机制不一样的地方在于,广播的发送者和接收者事先是不需要知道对方的存在...
2018-07-04 16:19:41
311
原创 Android APK开发基础—— 四大组件之Service
1、服务生命周期 1.1 介绍Service运行在主线程中。 1.2 Service典型生命周期 Service典型生命周期onCreate()onStartCommand(Intent intent, int flags, int startId)onDestroy()onBind()Service非典型生命周期onLowMemory()onTri...
2018-07-04 15:29:20
961
原创 Android APK开发基础——单元测试
测试用例定义了一系列对象和方法从而独立进行多个测试。测试用例可以编写成测试组并按计划的运行,由测试框架组织成一个可以重复运行的测试Runner(运行器,译者注)。这节内容将会讲解如何基于最流行的JUnit框架来自定义测试框架。我们可以编写测试用例来测试我们应用程序的特定行为,并在不同的Android设备上检测一致性。测试用例还可以用来描述应用组件的预期行为,并作为内部代码文档。单元测试的好...
2018-07-03 23:15:50
471
原创 Android APK开发基础——性能优化之避免出现ANR
在Android中,系统通过显示ANR警示框来保护程序的长时间无响应。对话框如下:此时,你的应用已经经历过一段时间的无法响应了,因此系统提供用户可以退出应用的选择。为你的程序提供良好的响应性是至关重要的,这样才能够避免系统为用户显示ANR的警示框。 是什么导致了ANR?(What Triggers ANR?)如果一个程序在UI线程执行I/O操作(通常是网络请求或者是文件读写),...
2018-07-03 22:16:37
845
原创 Android APK开发基础——性能优化之多线程操作
Thread继承Thread方式创建线程/** * 继承Thread方式 */private class Thread1 extends Thread { Thread1(String name) { super(name); } @Override public void run() { //执行耗时操作 ...
2018-07-03 16:30:40
300
原创 Android APK开发基础——性能优化之提升Layout的性能
Layout 是 Android 应用中直接影响用户体验的关键部分。如果实现的不好,你的 Layout 会导致程序非常占用内存并且 UI 运行缓慢。 优化Layout的层级经验总结,嵌套层次超过所谓的10层,性能急剧下降,所以被认为陷入深度不超过10。 检查 LayoutAndroid SDK 工具箱中有一个叫做 Hierarchy Viewer 的工具,能够在程序运...
2018-07-03 16:17:23
284
原创 Android APK开发基础——性能优化之管理应用的内存
第1部分: Android是如何管理内存的 1, 何为GCGC 是 garbage collection 的缩写, 垃圾回收的意思. 也可以是 Garbage Collector, 也就是垃圾回收器。 垃圾回收器的职责垃圾回收器有三大职责:分配内存; 确保任何被引用的对象保留在内存中; 回收不能通过引用关系找到的对象的内存.Heap和Stack简单说下:H...
2018-07-03 15:49:57
245
原创 Android APK开发基础——用户交互之触摸手势
1、触摸手势1、1介绍当用户把用一根或多根手指放在触摸屏上,并且应用把这样的触摸方式解释为特定的手势时,“触摸手势”就发生了。相应地,检测手势也就有以下两个阶段:收集触摸事件的相关数据。 分析这些数据,看它们是否符合app所支持的手势的标准。 1、2 “触摸手势”有哪些 短按长按滑动滑屏(快速滑动,还有一个惯性的过程)双击 2、收集数据...
2018-07-02 23:26:06
509
原创 Android APK开发基础——-补间动画、帧动画和属性动画
Android中的动画有三种,分别是补间动画、帧动画、属性动画。Frame Animation(帧动画)主要用于播放一帧帧准备好的图片,类似GIF图片,优点是使用简单方便、缺点是需要事先准备好每一帧图片;Tween Animation(补间动画)仅需定义开始与结束的关键帧,而变化的中间帧由系统补上,优点是不用准备每一帧,缺点是只改变了对象绘制,而没有改变View本身属性。因此如果改变了按钮...
2018-07-02 15:09:56
238
原创 Android APK开发基础—— UI之RelativeLayout(相对布局)
RelativeLayout用到的一些重要的属性:第一类:属性值为true或falseandroid:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素...
2018-07-02 14:47:46
209
原创 Android APK开发基础—— Settings
在android的实际开发中,往往会有各种需求,如跳转到设置界面的各个界面。 那么如何实现了,其实android SDK给我们提供了android.provider.Settings类,该类提供android系统各个页面的跳转常量,: package android.provider;import android.content.ContentResolver;im...
2018-07-02 14:37:01
1860
原创 Android界面设计6--创建使用Material Design的应用
使用Drawables创建矢量Drawable你可以定义矢量drawable,用于无损的拉伸图片。相对于一张普通图片需要为每个不同屏幕密度的设备提供一个图片来说,一个矢量图片只需要一个asset文件。要创建矢量图片,你可以在<vector> XML元素中定义形状。以下代码定义了一个心形:<?xml version="1.0" encoding="utf-8"?> &...
2018-06-29 15:24:00
223
原创 Android界面设计5--管理系统UI
系统栏(System bar)包括状态栏和导航栏(Figure 1),他们一般都是与程序同时显示在屏幕上的。而照片、视频等这类沉浸式的应用可以临时弱化系统栏图标来创造一个更加专注的体验环境,甚至可以完全隐藏系统Bar。...
2018-06-28 17:26:58
1279
原创 Android界面设计4--创建自定义的View类
设计良好的类总是相似的。它使用一个好用的接口来封装一个特定的功能(功能),它有效的使用CPU与内存(性能),等等。创建自定义的View类继承一个View为了让Android Developer Tools能够识别你的view,你必须至少提供一个constructor,它包含一个Contenx与一个AttributeSet对象作为参数。这个constructor允许layout editor创建并编...
2018-06-28 16:00:39
467
原创 Android界面设计3--实现自适应UI流
处理屏幕配置变化横竖屏适配在activity配置限定死APP的界面方向<activityandroid:name="com.MainActivity"android:theme="@style/AppTheme" android:screenOrientation = "portrait"> <intent-filter> <action androi...
2018-06-28 10:41:35
573
原创 Android界面设计2--兼容不同的屏幕密度
1、使用密度独立像素(dp)一个dp代表一个密度独立像素,也就相当于在160 dpi(1英寸有160个像素点,1英寸为2.54厘米)的一个像素的物理尺寸,sp也是一个基本的单位,不过它主要是用在文本尺寸上(它也是一种尺寸规格独立的像素),所以,你在定义文本尺寸的时候应该使用这种规格单位(不要使用在布尺寸上)。Android下设置文字大小用sp还是dp?https://www.jianshu.com...
2018-06-28 10:12:23
257
原创 Android界面设计1--支持不同的屏幕大小
安卓开发指南:http://hukai.me/android-training-course-in-chinese/ui/multiscreen/screen-sizes.html这节课教你如何通过以下几种方式支持多屏幕:1、确保你的布局能自适应屏幕使用“wrap_content”和“match_parent”使用相对布局(RelativeLayout)2、根据你的屏幕配置提供合适的UI布局使用尺...
2018-06-27 17:39:58
240
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人