iT氪,IT人的社区

51dev.com 技术开发者社区

Android Studio 2.3正式版发布,官方全解析

Android Studio 2.3正式版发布,官方全解析

    Android Studio 2.3 现已提供下载。此版本的重点是整个 IDE 的质量改进。我们感谢大家迄今为止提供的所有反馈。我们致力于持续投入,让 Android Studio 成为全球数以百万计 Android 应用开发者高效而又无缝式的开发平台。   Android Studio 2.3 中最令人激动的是质量上的改进,但此版本也加入了少量新功能,它们集成到了开发流程的每一个阶段: 设计应用时,请充分利用面向应用图像的更新版 WebP 支持,也请了解一下更新版ConstraintLayout 内容库支持以及布局编辑器中的小部件选项板。 ...

百度的Android招聘面试题

百度的Android招聘面试题

一般简单题 1. Android dvm的进程和Linux的进程,应用程序的进程是否为同一个概念? DVM指dalivk的虚拟机。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。而每一个DVM都是在Linux 中的一个进程,所以说可以认为是同一个概念。 2. SIM卡的 EF 文件有何作用? sim卡的文件系统有自己规范,主要是为了和手机通讯,sim本身可以有自己的操作系统,EF就是作存储并和手机通讯用的。 3. 嵌入式操作系统内存管理有哪几种,各有何特性? 页式,段式,段页,用到了MMU,虚拟空间等技术。 ...

android完全结束Activity并退出程序

android完全结束Activity并退出程序

关于完全退出Android程序,网上这方面的帖子很多,方法也很多。记得当时自己写的第一个比较完整的项目的时候就遇上了这个问题,由于对Activity的生命周期了解不够,又使用了TabActivity使得层次关系比较复杂,在程序中添加的“退出”菜单项经常无法完全退出,之后网上各种搜索,各种方法也试过了,什么System.exit(0)啊,结束进程之类的啊,都依然无效果。 后面才发现的这个方法。思路也很简单,回想自己当初为了解决这个问题时的苦苦寻觅,遂决定将其共享,供遇到此问题人士作为参考。 啰嗦够了,上思路:添加一个全局变量作为程序退出的标记(boolean类...

Android 反射-换一种方式编程

Android 反射-换一种方式编程

首先创建工具类 ResourceUtils package com.app.fanse; import android.content.Context; import android.graphics.drawable.Drawable; public class ResourceUtils { public static int getIdByName(Context context, String className, String name) { return context.getResources().getIde...

Android编程操作联系人的步骤(查询,获取,添加等)

Android编程操作联系人的步骤(查询,获取,添加等)

Android编程操作联系人的方法(查询,获取,添加等) Android系统中的联系人也是通过ContentProvider来对外提供数据的,我们这里实现获取所有联系人、通过电话号码获取联系人、添加联系人、使用事务添加联系人。 获取所有联系人的权限: <uses-permission android:name="android.permission.WRITE_CONTACTS"/> <uses-permission android:name="android.permission.READ_CONTACTS"/> 获取所有联系人 1...

Android Fragment生命周期深入探究

Android Fragment生命周期深入探究

Fragment是Android中的重要组件,在Android 3.0的时候添加进来。 关于Fragment的生命周期,我相信了解过的开发人员都应该把以下方法脱口而出:onAttach, onCreate, onCreateView, onViewCreated, onActivityCreated, onStart, onResume, onPause, onStop, onDestroyView, onDestroy, onDetach. 当Fragment以静态的方式,即通过在布局文件中以其它控件的方式设置时,它的生命周期随所在Activity的生命周期而发生变化。此时其生命...

Android 轻量级输入校验库:Fire Eye

Android 轻量级输入校验库:Fire Eye

Fire Eye是一款轻量级简单易用的Android校验库。 FireEye 2.0 在 1.0 的基础上,全部重写了代码,并优化了架构,性能上和逻辑上都大大提升。只需要几行代码,即可验证用户输入,并且将验证错误反馈给用户。它内置了大量常用的验证类型,足以满足你的功能需求。 Gradle 依赖 Add dependency dependencies { compile 'com.github.yoojia:fire-eye:2.2@aar' } Maven com.github.yoojia ...

为ProgressBar进度条设置颜色

为ProgressBar进度条设置颜色

以通过xml文件来设置,方法如下: 1:先在布局文件中的ProgressBar加入下面属性: android:progressDrawable="@drawable/progress_bar" 其中progress_bar是你用于设置进度条颜色的xml文件的名字(你当然可以起一个你喜欢的名字) 2:在res资源文件中的drawable文件中新建上面的xml文件,新建的时候选则根元素为layer-list。如下图: 3:新建完成后打开该布局文件。 引入下面代码,设置背景色,该代码引用自:   ...

你真的了解AsyncTask?

你真的了解AsyncTask?

虽说现在做网络请求有了Volley全家桶和OkHttp这样好用的库,但是在处理其他后台任务以及与UI交互上,还是需要用到AsyncTask。但是你真的了解AsyncTask吗? AsyncTask的实现几经修改,因此在不同版本的Android系统上表现各异;我相信,任何一个用户量上千万的产品绝对不会在代码里面使用系统原生的AsynTask,因为它蛋疼的兼容性以及极高的崩溃率实在让人不敢恭维。本文将带你了解AsyncTask背后的原理,并给出一个久经考验的AsyncTask修改版。 AsyncTask是什么? AsyncTask到底是什么呢?很简单, 它不过是对线程池...

AsyncTask异步实现文件下载

AsyncTask异步实现文件下载

  做android开发的都知道,我们在主线程中不能进行耗时太久的操作,否则就可能报ANR,所有耗时的操作都要异步进行。android中的异步方法也很多,可以用Handler,可以用Thread及Runnable等。今天我们用安卓自带的异步工具AsyncTask来实现耗时操作:从网络下载文件。先对AsyncTask作个简单的介绍,下面的介绍也主要是参考网上资料:  1,AsyncTask定义了三种泛型类型 Params,Progress和Result。 Params 启动任务执行的输入参数,如网络请求的URL。 Progress 后台进行中任...

Android 下载文件 显示进度条

Android 下载文件 显示进度条

加入两个权限 一个是联网,另一个是读写SD卡     import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.RandomAccessFile; import java.net.Malforme...

Android多种进度条使用详解

Android多种进度条使用详解

在这里,总结一下loading进度条的使用简单总结一下。 一、说起进度条,必须说说条形进度条,经常都会使用到嘛,特别是下载文件进度等等,还有像腾讯QQ安装进度条一样,有个进度总给人良好的用户体验。 先来找图看看,做这个图完成不用图片就可以做到了。 ...

Android中定时器Timer和TimerTask的启动,停止,暂停,继续等操作实例

Android中定时器Timer和TimerTask的启动,停止,暂停,继续等操作实例

1、Timer和TimerTask在调用cancel()取消后不能再执行 schedule语句,否则提示出错 2、只能在UI主线程中更新控件/组件。在其他线程中,更新控件/组件,会提示出错,提示如下: (注:这种情况下,可以通过Hander发送消息的方式来更新控件/组件,详情参考例子。)   如下的代码提供了一种停止定时器的方案,但是启动是否会多个定时任务,暂时需要调查:   //延迟时间 private static final long SENDING_DURATION = 60 * 1000; ...

Android Bitmap缓存池使用详解

Android Bitmap缓存池使用详解

本文介绍了如何使用缓存来提高UI的载入输入和滑动的流畅性。使用内存缓存、使用磁盘缓存、处理配置改变事件等方法将会有效的解决这个问题。 在您的UI中显示单个图片是非常简单的,如果您需要一次显示很多图片就有点复杂了。在很多情况下(例如使用 ListView, GridView 或者 ViewPager控件),显示在屏幕上的图片以及即将显示在屏幕上的图片数量是非常大的(例如在图库中浏览大量图片)。 在这些控件中,当一个子控件不显示的时候,系统会重用该控件来循环显示 以便减少对内存的消耗。同时垃圾回收机制还会释放那些已经载入内存中的Bitmap资源(假设您没有强引用这些Bitmap...