Android开发
lingwu7
水到桥头自然直.
展开
-
Android防止内存溢出浅析
Android的虚拟机是基于寄存器的Dalvik,它的最大堆大小一般是16M。但是Android采用的是Java语言编写,所以在很大程度上,Android的内存机制等同于Java的内存机制,在刚开始开发的时候,内存的限制问题会给我们带来内存溢出等严重问题。在我们不使用一些内存的时候,我们要尽量在Android或者其他平台上避免在运行其他程序时,保存必要的状态,使得一些死进程所带来的内存问题,应该尽量在关闭程序或者保存状态的时候释放掉,这样能提高系统在运行方面的流畅性。原创 2014-03-31 02:09:38 · 1042 阅读 · 0 评论 -
【Android】Android Studio百问
0. Q:Android Studio插件如何使用?A:插件查找网站->https://plugins.jetbrains.com/?androidstudio 常用插件:Android Postfix Completion ————Toast自动完成Android Toolbox Plugin —————–自动生成ViewHolderSexyEditor原创 2015-12-19 00:37:58 · 1022 阅读 · 0 评论 -
【Android】数据存储
Android数据存储Android提供了5种方式存储数据:使用SharedPreferences存储数据;文件存储数据;SQLite数据库存储数据;使用ContentProvider存储数据;网络存储数据;先说下,SharedPreferences,File, DataBase这三种方式分别对应的目录是/data/data/Package Name/Shared_Pref, /data/原创 2016-05-26 23:42:15 · 415 阅读 · 0 评论 -
【Anrdoid】接口回调那不得不说的秘密
接口回调暴露接口 所谓接口无非就是一方在使用接口一方实现接口,这里以手机短信备份来讲,怎么在备份的工具类中得到短信的总条数和已经备份过的条数来供自己的程序使用呢(如设置progressBar显示备份进度等) public class SmsUtils { //在自己的程序中定义一个接口,并提供相应方法 public interface BackUpStatusListene原创 2016-05-03 22:14:26 · 602 阅读 · 0 评论 -
【Android】内存泄漏调试
Android内存泄漏调试一.概述java编程中经常容易被忽视,但本身又十分重要的一个问题就是内存使用的问题.Android应用主要使用java语言编写,因此这个问题也同样会在Android开发中出现.本文不对java编程问题做探讨,而是对于在Android中,特别是应用开发中的此类问题进行整理.如文章叙述有不当之处,欢迎指正.二.Android(java)中常见的容易引起内存泄漏的不良代码Andr原创 2016-04-21 23:03:24 · 368 阅读 · 0 评论 -
【Anrdoid】开发中异常的处理
朋友们大家好,小柒又和大家见面咯。。。相信小伙伴们每天都会和异常打交道,不胜其烦啊,测试小妹还天天给咱提bug,想想就痛苦啊。。。今天小柒就给咱们来讲一讲在Android开发中的异常处理,让其不那么的明显显示出来,吼吼。。。实现步骤如下 : 实现未捕捉异常处理器public class MyExceptionHandler implements Thread.UncaughtExceptionHa原创 2016-05-04 22:46:25 · 657 阅读 · 0 评论 -
【Android】LruCache简单用法示例
LruCache简单用法总结LruCache相当于一个Map,存储的是键值对.public class BitmapCache { private static BitmapCache cache; private LruCache<String, Bitmap> mMemoryCache; public static BitmapCache getInstance() {原创 2016-05-28 22:48:42 · 892 阅读 · 0 评论 -
【Android】解析JSON数据详解
Android解析JSON数据详解JSON(JavaScript Object Notation) 定义:一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。 – Json.orgJSON的结构:原创 2016-05-05 23:19:57 · 2161 阅读 · 0 评论 -
【Android】Bitmap优化
Bitmap优化一个进程的内存可以由2个部分组成:native和dalvik,dalvik就是我们平常说的java堆,我们创建的对象是在这里面分配的,而bitmap是直 接在native上分配的。一旦内存分配给Java后,以后这块内存即使释放后,也只能给Java使用,所以如果Java突然占用了一个大块内存,即使很快释放了,C能用的内存也是16M减去Java最大占用的内存数。而Bitmap的生原创 2016-05-06 23:17:22 · 1667 阅读 · 0 评论 -
【Android】TextView中Spannable对象的使用
TextView是用来显示文本的,有时需要给TextView中的个别字设置为超链接,或者设置个别字的颜色、字体等,那就需要用到Spannable对象,可以借助Spannable对象实现以上设置 代码如下 : myTextView = (TextView) this.findViewById(R.id.myTextView); //创建一个 SpannableString对象 Span原创 2016-03-06 22:59:37 · 609 阅读 · 0 评论 -
【Android】深入理解Context
深入理解ContextContext在应用程序开发中会经常被使用,在一般的计算机书籍中,Context被翻译为”上下文”,而笔者认为Android中的Context应该被翻译为”场景”.Context是什么一个Context意味着一个场景,一个场景就是用户和操作系统交互的一种过程.比如当你打电话时,场景包括电话程序对应的界面,以及隐藏在界面后的数据;当你看短信时,场景包括短信界面,以及隐藏在后面的原创 2016-01-14 22:57:00 · 738 阅读 · 0 评论 -
【Android】柱状图示例
最近研究一下下柱状图,自己写了一个Demo,示例效果图如下:MainActivity.javapackage com.sg7.barchart;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.view.KeyEvent;impo原创 2014-04-09 14:34:46 · 1353 阅读 · 0 评论 -
【Android】Android自动开关机实现
自动开机,网上的介绍就比较少了,因为它需要底层rtc时钟的支持。前段时间根据客户需求实现了自动开关机。在这里分享一下。1. 简介我的实现是在设置程序里面增加一个接口,让用户设置自动开关机,这个自动开关机的设置可以参照闹钟的设置。关于自动关机,考虑到关机的时候,用户可能正有一些重要的操作,那么应该给用户一个机会去取消当前的关机。1)一个BroadcastReceiver, 接收如下信息:转载 2014-04-13 14:51:00 · 1224 阅读 · 0 评论 -
【Android】ViewFlipper的使用
ViewFlipper的使用效果如下:主要代码:MainActivity.java public class MainActivity extends Activity implements OnTouchListener, OnGestureListener, OnDoubleTapListener { private ViewFlipper mFlipper;原创 2016-01-27 23:13:19 · 898 阅读 · 0 评论 -
【Android】Android网络开发详解
Android网络开发详解概要本文主要介绍在Android平台上开发网络应用的一些常用接口。Android平台上可以使用的几种网络接口Android平台的网络应用绝大部分都是基于Java的编程接口的,也就是说我们开发类似的应用的时候可以有多种选择,比J2me确实好多了。2.1 标准Java接口java.net.*下面提供了访问 HTTP 服务的基本功能。使用这部分接口的基本操作主要包括:创建 U原创 2016-01-27 23:49:24 · 557 阅读 · 0 评论 -
【Android】Binder架构深度解析
BinderBinder,英文的意思是别针,回形针.我们经常用别针把两张纸”别”在 一起,而在Android中,Binder用于完成进程间通信(IPC),即把多个进程”别”在一起.比如,普通应用程序可以调用音乐播放服务提供的播放,暂停,停止等功能.Binder工作在Linux层面,属于一个驱动,只是这个驱动不需要硬件,或者说其操作的硬件是基于一小段内存.从线程的角度来讲,Binder驱动代码运行在内原创 2016-01-12 00:07:00 · 921 阅读 · 0 评论 -
【Android】Framework概述
Framework概述从本篇博文开始,真正进入Android Framework内核之旅.任何控制类程序都有一个入口,汇编程序的入口由处理器内部的复位(Reset)中断向量表决定;C程序的入口是main()函数,一个C程序只能有一个main()函数;java程序的入口必须是某个类的静态成员函数main().对于依赖于操作系统的程序,客户程序除了包含一个程序入口外,还需要和相关系统服务一起运行,以完成原创 2016-01-12 23:18:43 · 656 阅读 · 0 评论 -
【Android】Android性能优化
Android性能优化何为性能问题?在性能测试中存在两个概念:响应时间指从用户操作开始到系统给用户以正确反馈的时间。一般包括系统处理时间 + 网络传输时间 + 展现时间。对于非网络类应用不包括网络传输时间。响应时间是用户对性能最直接的感受。TPS(Transaction Per Second)TPS为每秒处理的事务数,是系统吞吐量的指标,在搜索系统中也用QPS(Query Per Second)原创 2016-01-31 22:11:47 · 463 阅读 · 0 评论 -
dp、sp和px的区别【Android】
现在这里介绍一下,dp也就是dip。这个和sp基本类似。如果设置长度、高度等属性可以使用dp或sp。但如果设置字体,需要使用sp。dp是与密度(dpi)无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160dpi(标准),这时dp和sp和px是一样的,即1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度变成了320。那么原来TextVi原创 2014-03-26 01:28:19 · 1322 阅读 · 0 评论 -
【Android】几种常见广播监听器(Wifi,亮灭屏,Home键,短信)总结
Wifi状态监听的广播接收者/** * 监控Wifi状态的广播接收器,注意不需要添加任何权限 */public final class WifiStateReceiver extends BroadcastReceiver { private static final String TAG = "TagForWifiStateReceiver"; @Override pu原创 2016-05-07 23:44:02 · 6874 阅读 · 0 评论 -
【Android】系统音量及屏幕亮度调节
屏幕亮度调节/** * 滑动改变亮度,不需要权限 * * @param percent 亮度百分比,值为0.0----1.0 */private void onBrightnessSlide(float percent) { if (mBrightness < 0) { // mBrightness是当前屏幕的亮度 mBrightness = getWindow()原创 2016-05-08 22:05:26 · 2166 阅读 · 0 评论 -
【Android】当xutils3遇到umeng统计
背景:项目中使用xutils3.x.x集成umeng统计之后出现错误(在某些手机上会出现以下错误,其他手机却没有任何问题,出错的手机已知的有 : oppo n,r系列,华为荣耀系列)06-01 11:55:36.345 8074-8074/? E/dalvikvm: Could not find class 'org.xutils.x$Ext$1', referenced from metho原创 2016-06-01 13:55:35 · 1412 阅读 · 0 评论 -
Android服务详解
服务的两种开启方式:startService();开启服务. 开启服务后 服务就会长期的后台运行,即使调用者退出了.服务仍然在后台继续运行.服务和调用者没有什么关系, 调用者是不可以访问服务里面的方法.(举例:你没有事,游手好闲在一家网吧外面,然后没交钱就跑进去把一台电脑开启了,然后就跑了…,但是电脑还是开着的,电脑相当于服务)bindService();绑定服务. 服务开启后,生命周期与调原创 2017-03-30 14:07:21 · 549 阅读 · 0 评论 -
handler机制的原理
handler机制的原理 andriod提供了Handler和 Looper 来满足线程间的通信。Handler先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(MessageExchange)。1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的MessageQueue(消息队列)。2)Handler: 你可以构造Hand原创 2017-08-16 10:18:20 · 277 阅读 · 0 评论 -
Android事件分发机制
View的事件分发 :对于事件分发机制,举个简单的例子,在一个Activity中只有一个按钮,如果我们想给这个按钮注册一个点击事件,只需要调用setOnClickListener方法,这样在onClick方法里面写实现的代码,就可以在按钮被点击的时候执行.我们再给这个按钮添加一个touch事件,只需要调用setOnTouchListener方法,onTouch方法里能做的事情比onClick要原创 2017-08-09 11:16:38 · 276 阅读 · 0 评论 -
调用Android系统隐藏方法
首先在 com.sk.pri包下写一个Person类,该类有一个私有方法setDog接收一个PersonDog类型的对象,该方法理论上来说,只能在类的内部调用,因为即使用上反射,但是参数如果创建则是一个更大的问题,但是如果我们通过反射加动态代理,就可以实现外部调用。public class Person { private void setDog(PersonDog instance原创 2017-08-16 21:56:24 · 604 阅读 · 0 评论 -
ListView与ScrollView冲突解决三种方法
1.在ScrollView中添加一属性 android:fillViewport=”true”,这样就可以让ListView全屏显示了2.指定ListView的高度 android:layout_height=”XXXdip” ;(XXX指你认为足够大的宽度). 不过,有些人想要把ListView的宽度随着列的不同而不同。解决方法: private void setList原创 2017-08-17 18:25:21 · 435 阅读 · 0 评论 -
编译android4.0.1源码遇到的问题
ubuntu12.04编译android4.0.1所遇到的问题1.JDK要用1.6, 1.7不行2.一些工具包没安装/usr/bin/ld: cannot find -lzhost Executable: aapt (out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt)/usr/bin/ld:原创 2017-08-15 19:59:55 · 1017 阅读 · 0 评论 -
播放器
mediaplayer的生命周期. 1. 当mediaplayer被new出来的时候处于idle状态.(空闲状态) mediaPlayer.reset() 之前:可以设置错误的监听器.2.setDataSource() 设置数据源. 初始化完毕. 3.prepare() 准备开始播放视频或者音频.HD prepareAsync() 异步准备.原创 2017-09-06 09:39:00 · 1454 阅读 · 0 评论 -
几个常见易错题(备忘)
1 . 如果一个类实现了一个接口又继承了一个类 那么如果接口和父类有同名的变量,怎么引用 ? 2 . 题目如下 : String a = "a";String b ="a";问a==b是否为true3 . 接口可用的修饰符?只有Public 和 abstract ; 如果接口定义在类的里面,只能有abstract修饰,如果单独定义一个接口文件,可以publi原创 2017-09-06 10:05:00 · 380 阅读 · 0 评论 -
AndroidStudio大全
AndroidStudio优点1.可以自动生成图片选择器selector 所需要的插件名称 : SelectorChapek for Android 方法: 1. 2. 3. 2.可以自动生成json格式的bean3.可以设置图片背景4.自动生成findviewbyid 所需要的插件的名称 : Android L原创 2017-03-21 22:09:18 · 536 阅读 · 0 评论 -
【Android】XmlPullParser及XmlSerializer的使用
直接上代码:public class PersonService { /** * 接收一个包含XML文件的输入流, 解析出XML中的Person对象, 装入一个List返回 * * @param in 包含XML数据的输入流 * @return 包含Person对象的List集合 */ public static List<Perso原创 2016-10-21 11:08:52 · 609 阅读 · 0 评论 -
【Android】自定义状态栏通知
在项目开发中,我们有时候需要自定义状态栏通知的样式,以下就是自定义状态栏通知的一个案例代码,以此作为一个记录,有需要的童鞋也可以参考一下状态栏通知布局custom_notification.xml<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/r原创 2016-05-09 22:28:45 · 1608 阅读 · 0 评论 -
【Android】安全退出应用程序
Android安全退出应用程序杀死进程。 这种方法是没有效果的,只能杀死当前的Activity无法关闭程序,在1.5的时候有用,谷歌设计的时候规定程序不能自杀android.os.Process.killProcess(android.os.Process.myPid()). 终止当前正在运行的Java虚拟机,导致程序终止. 这原创 2016-05-22 20:08:48 · 512 阅读 · 0 评论 -
【Android】资源文件拷贝的三种方式
类加载器(类路径) 用Classloader.getResourceAsStream()来读取类路径中的资源,然后用FileOutputStream写入到自己的应用中(sdk开发的时候经常用这种方式)。这种方式必须要将数据库address.db放到src目录下,这样编译后就会直接将address.db生成到bin/classes目录中,会在类路径下,所以可以使用Classloader进行加载.示原创 2016-05-22 23:35:03 · 2863 阅读 · 0 评论 -
【Android】GitHub Android Libraries Top 100 简介
本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果, 然后过滤了跟 Android 不相关的项目, 所以排名并不具备任何官方效力, 仅供参考学习, 方便初学者快速了解当前一些流行的 Android 开源库.iOS 版本的在此: https:转载 2016-06-06 15:43:18 · 676 阅读 · 0 评论 -
【Android】Android 中ListView setOnItemClickListener点击无效原因分析
这篇文章主要介绍了Android 中ListView setOnItemClickListener点击无效原因分析的相关资料,需要的朋友可以参考下前言最近在做项目的过程中,在使用listview的时候遇到了设置item监听事件的时候在没有回调onItemClick 方法的问题。我的情况是在item中有一个Button按钮。所以不会回调。上百度找到了解决办法有两种,如下:1、在checkbox、but转载 2016-06-15 13:46:25 · 2024 阅读 · 0 评论 -
Android Studio 编译报错:Manifest merger failed with multiple errors, see logs
原因 : 去年红框中内容就可以了原创 2016-07-24 00:09:41 · 1521 阅读 · 0 评论 -
【Android】android studio一键生成快速开发实现语言国际化
internationalization (国际化)简称 i18n,因为在i和n之间还有18个字符,localization(本地化 ),简称L10n。一般用语言_地区的形式表示一种语言,如 zh_CN, zh_TW.各国语言缩写 http://www.loc.gov/standards/iso639-2/php/code_list.php国家和地区简写 h原创 2016-07-14 11:04:48 · 2859 阅读 · 0 评论 -
【Android】自定义ScrollingTabs结合ViewPager实现指引的效果
自定义ScrollingTabs结合ViewPager实现指引的效果。 原理: 由于ScrollingTabs既可以点击又可以实现左右滑动,首先想到的就是继承HorizontalScrollView来实现滑动,至于点击的实现需要通过对View设置点击。 通过对ViewPager设置OnPageChangeListener来监听页面变化,从而实现对ScrollingTabs的改变,而在每个T原创 2016-09-18 23:46:48 · 451 阅读 · 0 评论