![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
安卓基础
文章平均质量分 87
安卓工匠
工匠精神
展开
-
Android网络连接判断与处理
Android网络连接判断与处理获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。<uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” /> 1)判断是否有网络连接 1 public boolean isNetworkConnected(Context context) {转载 2018-01-02 15:18:40 · 1471 阅读 · 0 评论 -
安卓启动页优化
问题描述: 第一次启动app(冷启动,如果不明白冷启动和热启动的话,可以百度一下),会出现白屏或者黑屏,而且当代码量增多的时候,出现的时间很长。这样的用户体验多不好。下面我写了一个小例子,先模拟一下该问题的效果图,以及解决问题后的效果图。处理前有空白页如图1,解决后效果如图2: 写的例子很简单,打开app,显示欢迎页面,两秒后进入主页。上面可以明显看到在启动app后,出现一个白屏后才显示欢迎转载 2018-01-11 10:45:02 · 209 阅读 · 0 评论 -
Android自定义属性:format解析
在values文件下有一个文件就是attrs.xml,这是R.attr和R.styleable类的定义文件。attrs.xml中定义了每个view的可用的属性,例如使用android:textAppearance就是在attrs.xml中定义了<attr name=”textAppearance” format=”reference” />,那麽这里点format=”reference”使什么意思呢转载 2017-11-15 19:40:18 · 341 阅读 · 0 评论 -
T-MVP开发模式
接触到MVP模式已经挺长时间了,好几个月前T-MVP我就看到了,觉得挺有想法的,于是直接就用到了这次项目里,用起来感觉还行,就花时间推荐一下吧。大家都知道MVP模式都有的几个接口Model,View,Presenter,另外还有一个用于用于存放这几个接口Contract契约类。先看项目的结构吧:差不多就是这样,Base包中有MVP的三个Base基类,不过没有看到login包中的View,因为这个转载 2017-11-17 16:06:08 · 2163 阅读 · 0 评论 -
如何选择 compileSdkVersion, minSdkVersion 和 targetSdkVersion
英文原文:Picking your compileSdkVersion, minSdkVersion, and targetSdkVersion作者:Ian Lake,Google Android 推广工程师;翻译:韩国恺。当你发布一个应用之后,(取决于具体的发布时间)可能没过几个月 Android 系统就发布了一个新版本。这对你的应用意味着什么,所有东西都不能用了?别担心,向前兼容是 Andro转载 2017-11-02 01:39:49 · 167 阅读 · 0 评论 -
AndroidStudio SVN插件配置与使用
AndroidStudio SVN插件配置与使用 <div class="article_manage clearfix"> <div class="article_l"> <span class="link_categories"> 标签: <a href="http:/转载 2017-10-12 17:20:05 · 530 阅读 · 0 评论 -
图片处理框架
1. 图片加载,缓存,处理 框架名称 功能描述 Android Universal Image Loader 一个强大的加载,缓存,展示图片的库,已过时 Picasso 一个强大的图片下载与缓存的库 Fresco 一个用于管理图像和他们使用的内存的库 Glide 一个图片加载和缓存的库,使用的App有:网易新闻 GlidePalette Android转载 2017-09-26 18:30:30 · 630 阅读 · 0 评论 -
Camera api
(一) 前言最近看Camera的api,觉得写的真的不错。现在翻译过来,给大家分享分享,译文可能不太好,大家将就着看哈。(二) 正文1. CameraCamera是Android framework里面支持的,允许你拍照和拍摄视频的设备,那么,本文在接下来就会讨论如何为你的用户提供快速,简单的图片和视频拍摄方法。2. 注意事项a. 在确定你的程序使用Camera之前,你应该问自己几个问题:转载 2017-08-31 11:35:30 · 474 阅读 · 0 评论 -
Application类详解
本文出处: 炎之铠csdn博客:http://blog.csdn.net/totond 炎之铠邮箱:yanzhikai_yjk@qq.com 本文原创,转载请注明本出处!前言 最近的开发中经常使用到Application类,它的用处很多,但是网上的资料...转载 2018-03-13 10:02:51 · 2717 阅读 · 0 评论 -
MVP实战_1
演示效果:MVP设计模式演示.gif这里的演示效果是利用TabLayout+ViewPager+Fragment完成的,由于本篇文章不是讲具体实现,所以和MVP思想不相关的具体实现代码我会忽略一部分。前言MVP开发模式,算是老生常谈的话题了,最近一段时间也比较热门,网上相关的资料不少,这里就不再做重复的描述。这里谈一下个人的一些理解:...转载 2018-03-13 10:45:09 · 332 阅读 · 0 评论 -
安卓状态栏总结(一)
有以下两种方法获取指定时间的毫秒值:1.Calendar类先由getInstance获取Calendar对象,然后用clear方法将时间重置为(1970.1.1 00:00:00),接下来用set方法设定指定时间,最后用getTimeMillis获取毫秒值。 Calendar calendar = Calendar.getInstance(); calenda...转载 2018-05-21 09:29:06 · 155 阅读 · 0 评论 -
Fragment 深度解析_4 : onSaveInstanceState方法回调时机
此次我们着重测试onSaveInstanceState回调方法。测试元素:两个Fragment:FragmentLifecycleFragmentLifecycle2测试过程:步骤一:首先显示FragmentLifecycle步骤二:FragmentLifecycle2替换FragmentLifecycle并加入到回退栈中步骤三:按电源 键关闭屏幕步骤四:按电源键打开屏幕步骤五...原创 2019-03-13 11:35:33 · 1937 阅读 · 0 评论 -
复习Android(一)Service
前言最近发现安卓基础性的东西,居然有点模糊了,这可不行呀,还是好好在全面的写一下,忘了也好有地方复习一下正文1,什么是service?Service是一个可以在后台执行长时间操作而不使用用户界面的应用组件。那么问题来了,既然它不使用用户界面,那么它怎么知道应该什么时候开始执行什么操作呢?答案是——它可以与其他的引用组件形成一些联系,从而可以根据其传来的信息在合适的时候执行合适的操作。...原创 2019-02-21 19:05:19 · 196 阅读 · 0 评论 -
关于Android Service详解(一) 全面解析
转载请注明出处(万分感谢!): http://blog.csdn.net/javazejian/article/details/52709857 出自【zejian的博客】 Service全部内容基本会在本篇涉及到,我们将围绕以下主要知识点进行分析:Service简单概述Service在清单文件中的声明Service...转载 2018-09-21 16:56:03 · 202 阅读 · 0 评论 -
Android控件--TextureView
1、简介应用程序的视频或者opengl内容往往是显示在一个特别的UI控件中:SurfaceView。SurfaceView的工作方式是创建一个置于应用窗口之后的新窗口。这种方式的效率非常高,因为SurfaceView窗口刷新的时候不需要重绘应用程序的窗口(android普通窗口的视图绘制机制是一层一层的,任何一个子元素或者是局部的刷新都会导致整个视图结构全部重...转载 2018-06-20 10:28:05 · 3110 阅读 · 0 评论 -
Android Camera 3D效果
版本:1.0日期:2014.4.14版权:© 2014 kince 转载注明出处一、概念 在Android中要想实现3D效果,第一个想到的应该就是OpenGL ES,因为在很多基础教材中几乎都提到了它。但是其使用起来还是稍微麻烦一些,而且它也主要用在游戏方面,那在应用方面有没有更好的选择...转载 2018-06-21 17:43:30 · 468 阅读 · 0 评论 -
Android Layout 布局属性全解
写的挺全,mark一下Android Layout 布局属性全解Android有基本Layout:FrameLayout,LinearLayout,TableLayout,RelativeLayout,AbsoluteLayout。android开发者谷歌文档http://android.xsoftlab.net/reference/android/view/ViewGrou...转载 2018-05-30 16:17:34 · 26950 阅读 · 0 评论 -
Android多线程(2)IntentService学习
IntentService一、IntentService概述IntentService的特点:它本质是一种特殊的Service,继承自Service并且本身就是一个抽象类 它可以用于在后台执行耗时的异步任务,当任务完成后会自动停止 它拥有较高的优先级,不易被系统杀死(继承自Service的缘故),因此比较适合执行一些高优先级的异步任务 它内部通过HandlerThread和Han...原创 2018-05-28 12:02:25 · 163 阅读 · 0 评论 -
Android多线程(1)之HandlerThread学习
HandlerThread谷歌给的官方说明:/** * Handy class for starting a new thread that has a looper. The looper can then be * used to create handler classes. Note that start() must still be called. */public ...原创 2018-05-28 10:24:31 · 174 阅读 · 0 评论 -
隐藏虚拟按键
【Android】隐藏底部虚拟按键 Google的官方文档是:https://developer.android.com/training/system-ui/navigation.html#behind示例代码按 Ctrl+C 复制代码按 Ctrl+C 复制代码 原文:但是,有个问题。这样的确能隐藏底部虚拟导航转载 2017-09-05 12:00:58 · 343 阅读 · 0 评论 -
Button绘制圆角,蓝边
在做一个佩戴设备APP时,需要做一个绿色圆角,内部为透明的按钮。先来看一下效果 效果实现先新建一个shape资源shape_button.xml<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rect转载 2017-08-25 11:09:43 · 432 阅读 · 0 评论 -
安卓中Window管理,以及Acitivity定位
最近在项目中遇到了这样的需求:需要在特定的其他应用之上悬浮自己的UI交互(拖动、输入等复杂的UI交互),和九游的浮窗类似,不过我们的比九游的体验更好,我们越过了很多授权的限制。很多人都知道如何去实现一个简单的浮窗,但是却很少有人去深入的研究背后的流程机制,由于项目中浮窗交互比较复杂,遇到了些坑查看了很多资料,故总结浮窗涉及到的知识点:窗口层级关系(浮窗是如何“浮”的)? 浮窗有哪些限制,如何越过用转载 2017-06-23 16:21:11 · 463 阅读 · 0 评论 -
bitmap优化策略
除了缓存bitmap之外,你还能做其他一些事情来优化GC和bitmap的复用。推荐的策略取决于Android的系统版本。附件中的例子会向你展示如何设计app以便在不同的Android版本中提高app的内存性能。 在不同的Android版本中,bitmap的内存管理有所不同。 在Android2.2(api level8)和之前的版本中,当GC触发的时候,App的主线程将会停止。这会导致一个明显的卡顿转载 2017-07-03 10:42:47 · 302 阅读 · 1 评论 -
安卓 FrameWork阅读之:ActivityThread作用
首先我们分析一个app的启动过程,我们通过eclipse中debug来查看app启动时的调用栈信息,下面是截图: 我们看到,主线程的调用栈信息,我在mainActivity中的onCreate方法上打的断点,主线程停在了我的onCreate()方法,那么我们来分析分析app的启动过程,主线程先是调用ZygoteInit类的main(String[])方法,对就java属性的同学是不是特别属性,原创 2017-06-23 11:52:08 · 1002 阅读 · 0 评论 -
Acitivity启动模式
Android Intent.FLAG_NEW_TASK详解,包括其他的标记的一些解释 本文大部分参考自 http://blog.csdn.net/mayingcai1987/article/details/6200909 ,对原文中的讲解FLAG_NEW_TASK地方加了一些自己的观点,用红色标记1. Task是包含一转载 2017-07-12 11:47:54 · 202 阅读 · 0 评论 -
安卓中Canvas使用方法
更多技术内容请移步:我的个人博客一、前言今天是周日,昨天刚刚写完了一篇关于如何搭建LNMP环境,让自己可以DIY有个性的个人主页:http://blog.csdn.net/jiangwei0910410003/article/details/50929955那么今天,我们继续来看一篇关于Android中的UI篇,如何自定义视图View的进阶篇,关于前奏篇之前已经写过了,还没有了解的同学可以去看看:h转载 2017-07-02 21:58:12 · 1348 阅读 · 0 评论 -
Android中如何使用WIFI来连接ADB
var html = document.getElementById("artContent").innerHTML; document.getElementById("artContent").innerHTML = html;Android中如何使用WIFI来连接ADB作者:温尚书,华清远见嵌入式学院讲师。有的时候,我们转载 2017-07-01 09:26:29 · 424 阅读 · 0 评论 -
Canvas用法
首先说一下canvas类:Class OverviewThe Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into the bitma转载 2017-07-01 07:14:00 · 290 阅读 · 0 评论 -
Eclipse使用ButterKnife
Eclipse使用ButterKnife前,需要的配置步骤 ButterKnife下载地址(7.0.1版本):http://files.cnblogs.com/files/zzw1994/butterknife-7.0.1.zip官方下载地址(7.0.1版本):http://repo1.maven.org/maven2/com/jakewharton/butter原创 2017-07-10 18:56:37 · 618 阅读 · 0 评论 -
安卓中越权使用浮窗
简单的浮窗实现 final WindowManager windowManager = getWindowManager(context); //创建自定义浮窗 FloatView hideDialog = new FloatView(context); WindowManager.LayoutParams params = new WindowManager.La转载 2017-06-23 16:22:53 · 395 阅读 · 0 评论 -
安卓手机dpi dip
dpi 、 dip 、分辨率、屏幕尺寸、px、density 关系以及换算 一、基本概念 dip : Density independent pixels ,设备无关像素。 dp :就是dip px : 像素 dpi :dots per inch , 直接来说就是一英寸多少个像素点。常见取值 120,160,240。我一般称作像素密度,转载 2017-06-26 17:25:39 · 1781 阅读 · 1 评论 -
android JNI 开发
好记性不如烂笔头,开始坚持写博客,学一点记一点,只为了生活更好。学了一年多的硬件,现在来做android,不知道是对是错,跟着感觉走,开始总是想把android和硬件挂上勾,所以第一个android应用写的是关于蓝牙的。现在学习NDK开发,有时说得也是JNI开发。那为什么要学习JNI,JNI会学习到比较底层的东西,java可以实现上层应用的开发,但是不能写底层驱动,有些android项目必须和底层硬转载 2017-06-26 19:35:28 · 268 阅读 · 0 评论 -
android studio 快捷键
Android Studio 快捷键整理分享-SadieYu Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C 最近更改的代码Ctrl+R 替换文本Ctrl+F 查找文本Ctr原创 2017-08-25 10:38:57 · 197 阅读 · 0 评论 -
安卓架构
http://www.csdn.net/article/2015-08-20/2825506转载 2017-08-11 23:55:15 · 204 阅读 · 0 评论 -
安卓中static使用误区
static 修饰的静态变量,使用很方便,在不同的类和包中都可以使用,在虚拟机中单独占用内存,没错,这些都是它们的优点,不过在项目上线后,才发现static有一些不太好的地方。在查看项目的崩溃信息时,发现很多地方莫明的出现空指针异常的错误,经过排查,发现可能就是static的问题。我们在项目中,将用户的信息也就是User对象保存成了一个静态变量,而在报错的地方,也都发现有使用过这种变量,因此,可以转载 2017-08-18 17:55:51 · 580 阅读 · 0 评论 -
Fragment用法(上)
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37970961自从Fragment出现,曾经有段时间,感觉大家谈什么都能跟Fragment谈上关系,做什么都要问下Fragment能实现不~~~哈哈,是不是有点过~~~本篇博客力求为大家说明Fragment如何产生,什么是Fragment,Fragment生命周期,如何静态和动态的使转载 2017-08-17 14:35:54 · 213 阅读 · 0 评论 -
动态加载so库
简介前几天做一个视频播放的功能,用到了bilibili开源ijkplayer播放器的(集成ijkplayer),功能确实强大,但就是用到的ffmpeg解码库太大,不得已只能只能将so文件拿出来,通过动态的方式来加载。什么是动态加载?就是讲so文件不打包进apk,在安装完应用打开app的时候通过后台下载so库,将下载下来的so文件再写入到app里面。 首先我们要知道,Android加载so文件的方式转载 2017-08-01 13:42:28 · 581 阅读 · 0 评论 -
JNI开发
JNI是一个协议,这个协议用来沟通java代码和外部的本地代码(c/c++) 外部的c/c++代码也可以调用java代码 2、为什么使用JNI: 效率上 C/C++是本地语言,比java更高效 代码移植,如果之前用C语言开发过模块,可以复用已经存在的c代码 java反编译比C转载 2017-08-01 13:29:16 · 304 阅读 · 0 评论 -
c语言中.c与.h文件详解
原文链接:http://blog.csdn.NET/yangtalent1206/article/details/6830051 很多人对C语言中的 “文件包含”都不陌生了,文件包含处理在程序开发中会给我们的模块化程序设计带来很大的好处,通过文件包含的方法把程序中的各个功能模块联系起来是模块化程序设计中的一种非常有利的手段。 文件包含处理是指在一个源文件中,通过文件包含命令将另一个源文件的转载 2017-06-27 15:08:25 · 2204 阅读 · 0 评论 -
layout_weight计算
学习自: 计算公式:http://blog.csdn.net/dazlly/article/details/13767343 范例:http://blog.csdn.net/xiaanming/article/details/13630837 适用范围仅LinearLyout.假设:LinearLayout为Android:orientation=”horiz转载 2017-06-27 13:04:53 · 283 阅读 · 0 评论