Android
文章平均质量分 52
Sundy_Xu
Action speak louder than words.
展开
-
根据两点经纬坐标计算两点间的距离[JAVA](转载)
转载自http://www.189works.com/article-16712-1.html解决此问题的关键是要理解空间几何模型,在理解空间几何模型的基础上再利用数学公式求取两点之间的值。其解决步骤如下:1、设两点分别为P1、P2,如果其值是用度分秒形式表示,则需将其转换成十进制度的形式,如P1点纬度为23度30分,则其纬度值转换成十进制度的形式为23.5度。如果值为十进制度的形转载 2012-09-27 16:11:31 · 820 阅读 · 0 评论 -
收录一些常用的面试题目含参考答案(一)
第一部分1.Android 中的动画有哪几类?两种:Tween(补间)动画Frame(帧)动画Tween 动画可以使视图组件移动、放大、缩小以及产生透明度的变化;Frame 动画通过顺序的播放排列好的图片来实现,类似电影;2.Handler 机制的原理Android 提供了Handler 和 Looper 来满足线程间的通信。Handler原创 2015-10-17 13:31:56 · 681 阅读 · 0 评论 -
收录一些常用的面试题目含参考答案(二)
第二部分1. 请解释Android程序运行时权限与文件系统权限的区别Android程序运行时权限是虚拟机(Dalvik)授权的;文件系统权限是linux内核授权的;2. Android横竖屏切换Activity的生命周期不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次;设原创 2015-10-20 22:32:11 · 602 阅读 · 0 评论 -
使用Android Studio签名打包APK
使用Android Studio签名打包APK翻译来源:https://developer.android.com/tools/publishing/app-signing.html Signing Your App in Android Studio为了打包签名你的APP,你要按照以下步骤: 1. 在Android Studio 的菜单栏,找到 Build, 点击Build > Gener翻译 2015-10-09 16:39:07 · 759 阅读 · 0 评论 -
内存溢出和内存泄露的区别
内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终转载 2015-10-29 18:26:25 · 632 阅读 · 0 评论 -
Android WebView 禁止缩放(手势、点击)
Android WebView 禁止缩放(手势、点击)webSettings.setBuiltInZoomControls(false);webSettings.setSupportZoom(false);webSettings.setDisplayZoomControls(false);原创 2016-03-17 16:48:13 · 14270 阅读 · 4 评论 -
Maven从入门到提高(二)
发布Android studio项目到本地Maven仓库说明Android studio 可以在build.gradle文件中添加如下的格式来引用第三方库,如:compile 'com.dragonpass.sundy.modulefounder:limousine:1.0.3'该格式由三个部分组成,你可以在pom 文件中找到。<?xml version="1.0" encoding="UTF-8"原创 2017-03-06 14:16:08 · 289 阅读 · 0 评论 -
Maven从入门到提高(三)
Mac下使用Nexus搭建Maven私服第一步下载安装JDK,目前Nexus 最新版本需要JDK 8及以上,该部分可以自己google/百度第二步下载Nexus, 下载链接:https://www.sonatype.com/download-oss-sonatype(在此说明一下,由于本人Mac 的其他项目还在使用JDK7,所以我这里还是依然使用Nexus 2.x版本,Nexus3.x 最新版本尚未原创 2017-03-06 16:49:26 · 332 阅读 · 0 评论 -
Maven从入门到提高(四)
发布项目/Library到Maven 仓库在上一篇博客中《Maven从入门到提高(三)-Mac下使用Nexus搭建Maven私服》我们已经搭建好了Maven私服,今天我们就来把我们的项目/Library 发布到我们Maven 服务器中。准备工作首先要有一个Android 项目,我以我自己GitHub上的一个例子作说明。 GitHub项目地址: https://github.com/xuxian3原创 2017-03-07 10:11:27 · 341 阅读 · 0 评论 -
实现Activity和Fragment之前通信
Activity 传值给 FragmentActivity使用Bundle 传值:Bundle bundle = new Bundle();bundle.putString("value", "Hello world");fragment.setArguments(bundle);Fragment获取值:Bundle bundle = this.getArguments原创 2017-07-20 15:28:59 · 399 阅读 · 0 评论 -
Json字符串轻松转为实体工具-GsonFormat
Json字符串轻松转实体对象的工具: GsonFormat官方下载链接(需要翻墙):https://plugins.jetbrains.com/plugin/7654-gsonformat不用翻墙:http://download.csdn.net/detail/xuxian361/9891689下载后在AS 插件管理器安装,安装过程如下:选择刚刚下载原创 2017-07-07 15:20:51 · 510 阅读 · 0 评论 -
Android强制字体不随系统改变而改变
@Override public void onConfigurationChanged(Configuration newConfig) { if (newConfig.fontScale != 1)//非默认值 getResources(); super.onConfigurationChanged(newConfig);原创 2017-07-10 10:17:37 · 4380 阅读 · 0 评论 -
解决WebViewActivity 退出后还在播放音视频的问题
@Override protected void onResume() { super.onResume(); webView.onResume(); } @Override protected void onDestroy() { super.onDestroy(); webView.destro原创 2017-07-10 10:34:43 · 1662 阅读 · 0 评论 -
如何实现Activity窗口快速变暗
利用只读属性动画+WindowManager /* *@param from\>=0&&from\<=1.0f * @param to\>=0&&to\<=1.0f * * */ private void dimBackground(final float from, final float to) { final Wind转载 2017-08-24 13:55:06 · 429 阅读 · 0 评论 -
Fragment 生命周期
Fragment 生命周期原创 2017-08-24 13:59:34 · 191 阅读 · 0 评论 -
Activity 生命周期
Activity 生命周期原创 2017-08-24 14:01:03 · 222 阅读 · 0 评论 -
ViewHolder为什么要被声明成静态内部类
ViewHolder为什么要被声明成静态内部类这个是考静态内部类和非静态内部类的主要区别之一。非静态内部类会隐式持有外部类的引用,就像大家经常将自定义的adapter在Activity类里,然后在adapter类里面是可以随意调用外部activity的方法的。当你将内部类定义为static时,你就调用不了外部类的实例方法了,因为这时候静态内部类是不持有外部类的引用的。声明ViewHolder静态转载 2017-08-24 14:31:20 · 1678 阅读 · 0 评论 -
Android的系统架构
Android的系统架构首先来看看Android 系统架构图:从上图可以看出,Android系统架构分为四层结构,从下往上分别是Linux内核层、系统运行库层、应用程序框架层以及应用程序层。(一)Linux内核层Android是基于Linux2.6的内核,其核心系统服务如安全性、内存管理、进程管理、网路协议以及驱动模型都依赖于Linux内核。(二原创 2015-10-21 18:17:07 · 895 阅读 · 0 评论 -
Android Service的两种启动方式
Android Service的两种启动方式1. Context.startService()Context.startService()启动方式的生命周期:启动时:startService -> onCreate() -> onStart()停止时:stopService -> onDestroy()如果调用者直接退出而没有停止Service,则Service 会转载 2015-10-21 13:02:49 · 569 阅读 · 0 评论 -
Android Process生命周期
Android process 生命周期 5大进程等级:1、Foreground Process2、Visible Process3、Service Process4、Background Process5、Empty Process转载 2013-03-06 17:00:13 · 652 阅读 · 0 评论 -
Android Service不被杀死
1.在service中重写下面的方法,这个方法有三个返回值, START_STICKY是service被kill掉后自动重写创建@Overridepublic int onStartCommand(Intent intent, int flags, int startId) {return START_STICKY;}----------------@Overridepub转载 2013-03-07 14:45:38 · 2564 阅读 · 0 评论 -
Android 安装APK代码
Intent intent = new Intent(Intent.Action_View);//zhi'din原创 2014-08-11 16:18:32 · 720 阅读 · 0 评论 -
Intent 跳 Android Market
Uri uri = Uri.parse("market://search?=y");原创 2014-08-11 16:10:53 · 1077 阅读 · 0 评论 -
Activity横竖屏切换, 生命周期变化
Activity横竖屏切换生命周期变化1. 新建一个Activity并把各个生命周期都打印(未配置该Activity 的android:configChanges)2. 运行Activity, 得到如下打印信息onCreateonStartonResume3. 切换横屏时, 打印onSaveInstanceStateonPauseon原创 2015-10-17 14:39:59 · 571 阅读 · 0 评论 -
Android学习Broadcast Receiver(广播接收者) 注意事项
一般去面试都可能会问到Android 的4大组件之一:Broadcast Receiver(广播)那么面试中需要注意一些什么东西呢?1. 什么是Broadcast Receiver (What)? 下面是Android Doc中关于BroadcastReceiver的概述:①广播接收器是一个专注于接收广播通知信息,并做出对应处理的组件。很多广播是源自于系统代码的──比如原创 2015-10-17 16:45:42 · 3245 阅读 · 0 评论 -
面试中有可能遇到的算法题--Java算法
面试中有可能遇到的算法题--Java算法最近别人都问我是不是发神经,怎么突然离职了。我也只是呵呵一笑,不以为然。程序猿离职无需理由,做了两年6个月还没有跳过槽就更神奇了。这个只有程序猿才知道。好了,废话少说。最近面试中遇到了一些Jave算法的题目,跟各位分享分享,毕竟你也有可能遇到,这个比在街上遇到郭敬明跟姚明走在一起(还手牵手)的机会更大。题目原创 2015-10-17 15:18:01 · 3783 阅读 · 2 评论 -
Android事件分发机制总结
Android事件分发机制总结当我们去面试的时候,面试官都会问一问Android 里面的事件分发机制,如果要详细说的话估计没有几个能够完整的描述出来。所以为了我自己也为了其他去面试的小伙伴,我也出来总结一下Android 里面的事件分发机制,起码这样回答能够得70分吧,呵呵。1. 只要你触摸到任何一个控件(或者说View),就一定会调用该控件的 dispatchTo原创 2015-10-17 20:48:44 · 594 阅读 · 0 评论 -
浅谈单线程模型中Message、Handler、Message Queue、Looper之前的关系
浅谈单线程模型中Message、Handler、Message Queue、Looper之前的关系1、MessageMessage即为消息,可以理解为线程间交流的信息。处理数据后台线程需要更新UI,你可以发送Message内含一些数据给UI线程。2、HandlerHandler 即为处理者,是Message的主要处理者,负责Message的发送,Message内容的原创 2015-10-18 22:50:06 · 1449 阅读 · 0 评论 -
Android Service不被杀死
1.在service中重写下面的方法,这个方法有三个返回值, START_STICKY是service被kill掉后自动重写创建@Overridepublic int onStartCommand(Intent intent, int flags, int startId) {return START_STICKY;}----------------@Overridepub转载 2013-03-07 14:47:10 · 1960 阅读 · 1 评论 -
JAVA通过JNI调用本地C语言方法
ava特性深受人们喜爱,而又正由于它的跨平台的目的,使得它和本地机器的各种内部联系变得很少,约束了它的功能。解决JAVA对本地操作的一种方法就是JNI。 JAVA通过JNI调用本地方法,而本地方法是以库文件的形式存放的(在WINDOWS平台上是DLL文件形式,在UNIX机器上是SO文件形式)。通过调用本地的库文件的内部方法,使JAVA可以实现和本地机器的紧密联系,调用系统级的各接口方法。转载 2015-10-20 21:41:58 · 1521 阅读 · 0 评论 -
Android SQLite数据库版本更新
Android SQLite数据库版本更新面试中经常会问到Android 中SQLite 数据库版本的更新问题,我们需要怎样去回答呢?下面是本人的一些认识,仅供参考。当你创建一个类并继承SqliteOpenHelper时,会要求你实现他的两个回调方法:onCreate()和onUpgrade()方法。顾名思义,onCreate()方法就是就是创建数据库是调用,o原创 2015-10-19 22:46:55 · 773 阅读 · 0 评论 -
Android中ContentProvider组件详解
Android中ContentProvider组件详解1. ContentProviderContentProvider(内容提供者)是Android的4大组件之一。主要用于对外共享数据,也就是通过ContentProvider把应用中的数据共享给其他应用访问,其他应用程序通过ContentResolver来对其共享的的数据进行增删改查操作。ContentProvider分转载 2015-10-20 18:01:34 · 638 阅读 · 0 评论 -
Activity四种启动模式
Activity启动方式有四种,分别是:standardsingleTopsingleTasksingleInstance可以根据实际的需求为Activity设置对应的启动模式,从而可以避免创建大量重复的Activity等问题。设置Activity的启动模式,只需要在AndroidManifest.xml里对应的标签设置android:launchMode属性,转载 2015-10-20 22:22:30 · 410 阅读 · 0 评论 -
Android打开指定应用程序
Android中可以打开指定的应用程序,不过前提是你已经知道该应用程序的packageName, 及Activity Name。例如我想指定打开某个浏览器页面:Intent intent = new Intent();intent.setAction("android.intent.action.VIEW");Uri uri = Uri.parse("http://www.163.原创 2015-10-20 19:54:44 · 1014 阅读 · 0 评论 -
Android 的数据存储方式有哪些?
Android 的数据存储方式有哪些?SharePreference用来存储“Key - Value Pairs”格式的数据,他是一个轻量级的键值存储机制,只可以存储基本的数据类型,可以通过它保存一些上次用户所做的修改操作。文件存储方式它通过FileInputStream和FileOutputStream对文件进行操作。但是在Android中,文件是一个应用程序原创 2015-10-20 16:54:42 · 552 阅读 · 0 评论 -
Service和IntentService的区别
Service和IntentService的区别1. 首先IntentService是继承自Service;2. Service不是一个单独的进程,它和应用程序在同一个进程中;3. Service也不是一个线程,所以我们要避免在Service中进行耗时的操作;4. IntentService使用队列的方式将请求的Intent加入队列,然后开启了一个Worker Thre原创 2015-10-21 14:02:55 · 5301 阅读 · 0 评论 -
自定义View执行invalidate()方法,为什么有时候不会回调onDraw()
自定义View执行invalidate()方法,为什么有时候不会回调onDraw()自定义一个view时,重写onDraw。调用view.invalidate(),会触发onDraw和computeScroll()。前提是该view被附加在当前窗口. view.postInvalidate(); //是在非UI线程上调用的自定义一个ViewGroup,重写onDraw。onDraw可能不会被调用,转载 2017-08-24 14:52:24 · 4748 阅读 · 0 评论