android
文章平均质量分 75
司小三石
努力生活,快乐写代码
展开
-
Android清单文件详解(二) ---- 应用程序权限声明
我们知道,Android系统的各个模块提供了非常强大的功能(比如电话,电源和设置等),通过使用这些功能,应用程序可以表现的更强大,更灵活。不过,使用这些功能并不是无条件的,而是需要拥有一些权限。接下来,我们就开始讲解另一个非常重要的知识点——应用程序权限声明,其中主要包括应用程序的权限声明,自定义应用程序的访问权限和SDK版本限定。1.——应用程序的权限申请转载 2016-08-03 10:52:41 · 5013 阅读 · 0 评论 -
No service of type Factory available in ProjectScopeServices
将AS2.0升到2.1.3出现的问题:Noservice of type Factory available in ProjectScopeServices 在项目中找到build.gradle这个文件,然后在dependencies中将版本改为1.4.1即可classpath 'com.github.dcendents:Android-maven-gradle-p转载 2016-09-19 18:19:08 · 1696 阅读 · 0 评论 -
ListView中addHeaderView()和addFootView细节,带案例代码
要实现类似IMBd类似的布局。 可以看出它的列表上方的图片展示区和下面列表条目是一体的,在上下滚动的时候。而图片展示区不是列表条目。当然可以分别实现,图片展示区用Gallery,下面用ListView,但是如果横屏,则ListView部分的高度将很短,不方便上下滚动选择。也可以强制竖屏,不过这样用户体验会变差。其实ListView提供了Header,IMBd实现的图片展原创 2016-09-08 10:57:08 · 5441 阅读 · 0 评论 -
Android内存泄漏分析及调试
首先了解一下dalvik的Garbage Collection: 如上图所示,GC会选择一些它了解还存活的对象作为内存遍历的根节点(GC Roots),比方说thread stack中的变量,JNI中的全局变量,zygote中的对象(class loader加载)等,然后开始对heap进行遍历。到最后,部分没有直接或者间接引用到GC Roots的就是需要回收的垃圾转载 2016-10-26 13:40:51 · 596 阅读 · 0 评论 -
Android 开发中Intent.Action
1 Intent.ACTION_MAINString: android.intent.action.MAIN标识Activity为一个程序的开始。比较常用。Input:nothingOutput:nothing activity android:name=".Main" android:label="@string/app_name">原创 2016-11-07 14:18:52 · 501 阅读 · 0 评论 -
从BaseActivity与BaseFragment的封装谈起 不错的文章
源至Hongyang微信公众号,博客源址:从BaseActivity与BaseFragment的封装谈起源码地址AndroidStudio开发环境:源码下载这篇博客主要是从BaseActivity与BaseFragment的封装开始,总结自己在实战开发中关于Fragment的注意事项以及心得体会。先看以下效果图: 这里模拟的是用户登录模块,你可能会说转载 2016-10-19 09:55:22 · 833 阅读 · 0 评论 -
Android琐碎知识点,不断更新中
1.获得屏幕的高度和宽度 width=context,getResources().getDisplayMetrics().widthPixels; height=context.getResources().getDisplayMetrics().heightPixels;2.在Android Studio中隐藏ActionBar的方法。 getSupportActi原创 2016-02-14 16:07:56 · 2216 阅读 · 7 评论 -
Android studio约束布局 ConstraintLayout
ConstraintLayout(约束布局), 是2016年Google I/O最新推出的Android布局, 目前还在完善阶段. 从推出的力度而言, 应该会成为主流布局样式. 在最新版本的Android Studio中, ConstraintLayout已经成为默认布局. 概念 ConstraintLayout约束布局的含义: 根据布局中的其他元素或视图,原创 2016-12-13 17:34:23 · 11266 阅读 · 0 评论 -
2016Android开发技术篇
Android平台今年Android新版本7.0的出现要比往年早一些,在IO大会前两个月就发布了开发者预览版,与此同时还推出了Android测试版计划,学习微软的Windows Insider,让用户也能提前体验最新版系统。新系统最受欢迎的新功能包括Doze模式和增强的通知中心。与Android相关的平台今年也获得更新,包括Android Wear 2.0,能够独立运行App;转载 2017-01-03 14:57:32 · 3026 阅读 · 0 评论 -
Android 搜索 把软键盘上的回车键改为搜索
需求为:当用户在发现界面内点击搜索按钮,弹出键盘,键盘右下角示意为“搜索”按钮,当用户输入内容后,点击搜索按钮将进行关键词搜索,当用户没有输入内容点击搜索按钮,将收起键盘,回到发现界面。具体实现如下: 1.修改Editview属性:android:imeOptions="actionSearch" 在该Editview获得焦点转载 2016-09-05 16:59:19 · 2137 阅读 · 0 评论 -
Android关于图片如何压缩上传
开发中遇到需要上传图片的场景还是很常见的,这就涉及到图片的压缩处理。如果不进行压缩,势必造成消耗大量的流量,下载图片的速度慢等。关于android如何压缩,网上的资料也是很多,但大多数都是代码片段,讲解压缩步骤,而没有一个实用的工具类库。那么如何将压缩算法封装成一个实用工具库呢?其中会遇到些什么问题,比如:需要压缩的图片有多少压缩后的图片是覆盖还是保存到另外的目录如果是另存目录需要原创 2016-09-05 16:24:50 · 1114 阅读 · 1 评论 -
详细深入了解Framgent的生命周期,适合面试
一,Fragment的生命周 二,与Activity生命周期的对比 1. onAttach() 方法 //这个是 回调函数 @Override public void onAttach(Activity activity) { super.onAttach(activity);原创 2016-08-12 09:36:17 · 1067 阅读 · 0 评论 -
Android清单文件详解(一) ---- 一切从<manifest>开始
在AndroidManifest.xml文件中,首先看到是的节点,它是整个应用程序的基本属性,涵盖了默认进程名字,应用程序标识,安装位置,对系统的要求以及应用程序的版本等。它是AndroidManifest.xml文件的根节点,其中必须包含一个节点,并且必须指定xmlns:Android和package属性,其语法如下面的代码所示:package="string"转载 2016-08-03 10:53:15 · 1592 阅读 · 0 评论 -
深入剖析Android四大组件(四)——Messenger实现Android IPC
当Service不需要支持并发操作时Messenger会非常有用。Messenger类使用Handler执行每个传入的消息,所有客户端的调用都按顺序运行在同一个线程上,这和AIDL是有区别的,AIDL每个客户端对应一个线程。使用Messenger类还能避免AIDL文件带来的问题,并可以方便地为客户端提供异步消息API。虽然没有那么强大,但该类有时候会很有效,因为它更容易在客户端和Service实现转载 2016-08-03 11:02:27 · 582 阅读 · 0 评论 -
深入剖析Android四大组件(三)——AIDL实现Android IPC
1.AIDL文本解释在软件工程中,接口定义语言(IDL)已经成为通用术语,是用来描述软件组件接口的特定语言。在Android中,该IDL被称为Android接口定义语言(AIDL),它是纯文本文件,使用Java类似语法编写。但是,编写Java接口的编写AIDL文件还有有些不同的。首先,对所有的非原始类型参数,需要指定如下三种类型方向指示符之一:in,out,inout。in类型方向转载 2016-08-03 11:01:47 · 510 阅读 · 0 评论 -
深入剖析Android四大组件(二)——Service服务之启动与绑定
如果说Activity通常都会提供一个用户界面UI的话,那么服务则不会提供任何用户界面,尽管如此,服务的作用仍然非常重要,它为我们提供了一种类似守护线程的手段来维持一些希望在退出以后仍然能持续运行的程序。1.服务既然服务的作用如此重要,本篇主要讲解如何使用服务和声明应用程序服务,下一节讲解怎么高效率的运用服务。①何为服务转载 2016-08-03 10:55:36 · 1011 阅读 · 0 评论 -
深入剖析Android四大组件(一)——Activity生命周期详解
1.管理Activity的生命周期无论是正在运行的Activity还是没有运行的Activity,它们都接受Android的框架管理,这使得Activity处于不同的生命周期。①Activity的3种状态 通过回调方法来管理Activity的生命周期对于开发一个健壮并且灵活的应用程序是非常关键的。Activity的生命周期直接影响到它与其他Act转载 2016-08-03 10:54:39 · 516 阅读 · 0 评论 -
android 屏幕适配的总结,适合面试
1.支持各种屏幕尺寸: 使用wrap_content, match_parent, weight.要确保布局的灵活性并适应各种尺寸的屏幕,应使用 “wrap_content” 和 “match_parent” 控制某些视图组件的宽度和高度。2.使用相对布局,禁用绝对布局在开发中,我们大部分时候使用的都是线性布局、相对布局和帧布局,绝对布局由于适配性极差,所以极少使用。3.使用尺寸限定符。通原创 2016-08-09 13:28:06 · 9645 阅读 · 4 评论 -
Android ContentProvider 陌生的四大组件之一 实现数据共享
1. Android 应用程序能够将数据保存到SharedPreference中,也可以保存到文件,SQLite数据库中,甚至任何有效的设备中,但是当你想将你的应用数据与其他的应用共享时,内容提供者就可以发挥作用了。2. ContentProvider的主要作用:Content provider机制可支持在多个应用中存储和读取数据。这也是跨应用共享数据的唯一方式。在android系统中,没有一原创 2016-08-10 13:08:51 · 612 阅读 · 0 评论 -
详解Android App卡顿优化问题
所谓app卡顿原因就是在运行时出现了丢帧,还可能是UI线程被阻塞。首先来一下丢帧现象,android每16ms会对界面进行一次渲染,如果app的绘制、计算等超过了16ms那么只能等下一个16ms才能进行渲染,这就发生了丢帧现象。手机卡顿出现的原因:1,布局过于复杂:xml布局文件可能存在深层嵌套或者组件过多;2,重复绘制:一个界面的某一点可能在同一时间进行了多次绘制;3,内存抖动:原创 2016-08-23 12:42:19 · 2936 阅读 · 0 评论 -
Android动画效果的强悍框架,总有你想要的,赶快围观
上传资源稍后上传。留邮箱给你发原创 2016-04-29 13:40:02 · 1616 阅读 · 7 评论 -
Android6.0和7.0新特性分析
Android N已经发布有段时间,甚至马上都要发布Android 7.1,相信不少玩机爱好者已经刷入最新的Android N 7.1 Beta ROM 体验起来,即使你没有能够刷入的设备,通过模拟器来先行体验下,也不错。不过对于Android的ROM来说,特别是国内的ROM厂家,估计就比较头大了,Merge代码估计要疯了。下面,我们就来看看Android N到现在给我们带来哪些新特性,以转载 2017-01-03 15:32:16 · 32828 阅读 · 3 评论 -
将一个Android的工程打成Jar包。右键工程--->Export
将一个Android的工程打成Jar包。右键工程--->Export点击Java--->JAR file---->Next如下图勾选src包即可,其他项不选点击finishi即可,在D盘就可以看到library的jar包5转载 2017-01-04 20:02:56 · 413 阅读 · 0 评论 -
终于找到了一篇一看就懂的 OKHttp 原理解析
一、概述最近在群里听到各种讨论okhttp的话题,可见okhttp的口碑相当好了。再加上Google貌似在6.0版本里面删除了HttpClient相关API,对于这个行为不做评价。为了更好的在应对网络访问,学习下okhttp还是蛮必要的,本篇博客首先介绍okhttp的简单使用,主要包含:一般的get请求一般的post请求基于Http的文件上传转载 2017-03-21 15:29:10 · 16658 阅读 · 2 评论 -
自定义引导页顶部小圆点
每天我们都会使用很多的应用程序,尽管他们有不同的约定,但大多数应用的设计是非常相似的。这就是为什么许多客户要求使用一些其他应用程序没有的设计,使得应用程序显得独特和不同。如果功能布局要求非常定制化,已经不能由Android内置的View创建 —这时候就需要使用自定义View了。而这意味着在大多数情况下,我们将需要相当长的时间来完成它。但这并不意味着我们不应该这样做,因为实现它是非常令人兴奋原创 2017-03-30 09:20:27 · 752 阅读 · 0 评论 -
Git 分支管理与开发流程
参考连接http://www.ituring.com.cn/article/56870http://semver.org/lang/zh-CN/http://blog.csdn.net/jasper_hou/article/details/52200495 摘要:1. 主分支是所有开发活动的核心分支。所有的开发活动产生的输出物最终都会反映到主分支的代转载 2017-03-30 11:12:52 · 6973 阅读 · 4 评论 -
Android中的socket编程,基础
本身就是菜鸟一枚。所以学习的一切东西都是在网上查找资料而得来的。不过如果中间可能会遇到一些问题,这些问题可能大家在学习的时候也会遇到,所以就很小心的记录了下来。主要源码如下:Android 客户端:主要代码:class MyThread extends Thread { public String txt1; public MyThread(St原创 2017-04-19 08:59:21 · 457 阅读 · 0 评论 -
Android Studio 错误:Duplicate files copied in APK META-INF/LICENSE
Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicat原创 2017-05-27 13:41:41 · 680 阅读 · 0 评论 -
android studio 调用jni,实现Java调用C语言程序
思路可能有些问题,但是方法是正确的,如有遇到不通的地方,可以留言提问。1. 新建工程。新建工程的时候,按照普通新建工程的方法就可以。2.新建的工程切换到Project视图下,在main文件夹新建JNI Folder,也可以新建一个Project.3. 在MainActivity中新建一个native方法。 例如: public native String 方法名A();public原创 2017-06-05 16:30:04 · 3449 阅读 · 0 评论 -
Android实现计时与倒计时的几种方法
方法一Timer与TimerTask(Java实现)public class timerTask extends Activity{ private int recLen = 11; private TextView txtView; Timer timer = new Timer(); public void onCreate(Bu转载 2016-06-27 17:17:23 · 80415 阅读 · 16 评论 -
PopupWindow的使用详解
相关文章:1、《PopUpWindow使用详解(一)——基本使用》2、《PopUpWindow使用详解(二)——进阶及答疑》有同学讲到想要知道PopUpWindow的知识,这里就给大家讲一讲PopUpWindow的基本用法和原理吧。这段时间博客可能会更新比较慢,因为你懂的 !!-_- ,往左看公告,嘿嘿。 先看一下我们要做的效果:这个效果很容易理解:当点转载 2017-07-25 16:26:42 · 592 阅读 · 0 评论 -
关于Android Service面试点总结
一、什么是Service?Service通常总是称之为“后台服务”.Service(服务)是一个一种可以在后台执行长时间运行操作而没有用户界面的应用组件。服务可由其他应用组件启动(如Activity),服务一旦被启动将在后台一直运行,即使启动服务的组件(Activity)已销毁也不受影响。此外,组件可以绑定到服务,以与之进行交互,甚至是执行进程间通信 (IPC)。其转载 2017-11-01 10:31:14 · 1122 阅读 · 1 评论 -
源码提供!Android即时通讯和sns开源项目汇总
这是一个整理即时通讯(IM)和社交系统(SNS)优秀开源项目的文档,项目上传github欢迎提交更新。github地址:https://github.com/CameloeAnthony/Perfect_IM_SNS一 国内即时通讯和社交系统平台排名不分先后!1 LeanCloud2 环信3 网易云信4 阿里百川 云旺OpenIM5 腾讯转载 2017-03-28 11:42:10 · 2637 阅读 · 0 评论 -
非常好用的android 特效
各种帮助类汇总:https://github.com/Blankj/AndroidUtilCode常用的 ios 风格 dialog 和 meterial design 风格的 dialog:https://github.com/glassLake/DialogUtils提高 android 应用的颜值,酷炫 UI 组件汇总:https://github.com/madon翻译 2017-02-15 14:55:29 · 10151 阅读 · 3 评论 -
android JNI相关的代码
引言:分析Android源码6.0的过程,一定离不开Java与C/C++代码直接的来回跳转,那么就很有必要掌握JNI,这是链接Java层和Native层的桥梁,本文涉及相关源码:frameworks/base/core/jni/AndroidRuntime.cpplibcore/luni/src/main/java/java/lang/System.javalibcore/lun原创 2017-02-15 14:54:11 · 552 阅读 · 0 评论 -
android studio生成aar包并在其他工程引用aar包
1.aar包是Android studio下打包android工程中src、res、lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件2.生成aar包步骤:①.用android studio打开一个工程,然后新建一个Module,新建Module时候选择Android Library,后面按新建普通工程操作转载 2017-01-04 20:14:27 · 425 阅读 · 0 评论 -
Android应用中返回键的监听及处理
package com.testnbackpressed; import android.os.Bundle; import android.view.KeyEvent; import android.app.Activity; /** * Demo描述: * 处理Back键按下事件 * * 注意事项原创 2017-01-06 10:28:56 · 2464 阅读 · 0 评论 -
1.首先描述下自定义控件的一般方法: 自定义控件是被创造出来,所以先要复写它三个的构造方法,根据需求决定复写哪个,若没有自定义属性,复写只有一个参数的即可。若有自定义属性,则可以通过obtainSty
1.首先描述下自定义控件的一般方法:自定义控件是被创造出来,所以先要复写它三个的构造方法,根据需求决定复写哪个,若没有自定义属性,复写只有一个参数的即可。若有自定义属性,则可以通过obtainStyledAttributes获得TypedArray对象,通过该对象获得属性并进行相应操作。然后下面的过程和画画差不多,我们在画一样东西的时候,首先要知道物品大概的样子,也就是需要复写onMeas转载 2016-12-30 13:37:53 · 1019 阅读 · 0 评论 -
android中各种控件,及其方法介绍
View是Android UI组件的基类,ViewGroup是容纳UI组件的容器,ViewGroup本身也是从View派生出来的。简单的说,Android UI界面是由View和ViewGroup及其派生类组合而成的,其结构示意图:下面将简单的介绍View与GroupView原理以及其子类。详解1、View与ViewGroup转载 2017-01-09 13:49:37 · 726 阅读 · 0 评论 -
Android开发之如何保证Service不被杀掉(broadcast+system/app)
序言最近项目要实现这样一个效果:运行后,要有一个service始终保持在后台运行,不管用户作出什么操作,都要保证service不被kill,这可真是一个难题。参考了现今各种定制版的系统和安全厂商牛虻软件,如何能保证自己的Service不被杀死呢?其实除了常规的手段,我们可以参考一下微信和360,设置-程序-正在运行,可以看到微信是同时开启了两个进程和服务:【有兴趣可以研究一下 守护进程转载 2017-02-06 10:44:57 · 954 阅读 · 0 评论