Android基础知识
文章平均质量分 95
共勉
这个作者很懒,什么都没留下…
展开
-
android中使用Cursor时防止内存泄露的几个方面
最近在工作中处理了一些内存泄露的问题,在这个过程中我尤其发现了一些基本的问题反而忽略导致内存泄露,比如静态变量,cursor关闭,线程,定时器,反注册,bitmap等等,我稍微统计并总结了一下,当然了,这些问题这么说起来比较笼统,接下来我会根据问题,把一些实例代码贴出来,一步一步分析,在具体的场景下,用行之有效的方法,找出泄露的根本原因,并给出解决方案。 现在,就从cursor关闭的问题开转载 2015-06-11 23:07:04 · 913 阅读 · 2 评论 -
较详细的介绍JNI
较详细的介绍JNI JNI编程注意事项JNI其实是Java Native Interface的简称,也就是java本地接口。它提供了若干的API实现了和Java和其他语言的通信(主要是C&C++)。也许不少人觉得Java已经足够强大,为什么要需要JNI这种东西呢?我们知道Java是转载 2015-07-11 21:52:43 · 352 阅读 · 0 评论 -
Activity生命周期
1.Activity 生命周期 废话少说,上图: 图 官网上的Activity的生命周期图 Activity的生命周期非常重要,在不同的阶段做什么操作影响到用户体验。用户离开和再次进入时做的操作不一样。比如一个在线网络视频播放,activity处于pause状态时可以暂停播放、关闭网络(节省资源),用户返回时Activity处于resume状态时再重新打开网络转载 2015-08-15 17:06:57 · 439 阅读 · 0 评论 -
Android中保存图片的两种方式
Android中保存图片的两种方式第一种是保存到数据库:1、保存到数据库: 2、从数据库读取: 二是以图片格式保存到本地1、A、声明tempFile以保存到指定路径: B、保存到tempFile: 2、或者用系统方法保存到本地:转载 2015-07-03 12:00:28 · 1701 阅读 · 0 评论 -
使用自定义的BaseAdapter实现LIstView的展示
使用自定义的BaseAdapter实现LIstView的展示 实现以下功能点: 1.通过自定义的BaseAdapter展示ListView;2.动态修改、刷新ListView内容;3.在自定义的BaseAdapter中实现ListView内容的点击和长按点击事件;4.在BaseAdapter的getView方法中动态增加新组件;转载 2015-06-11 14:19:44 · 579 阅读 · 0 评论 -
Android中Bitmap和Drawable
一、相关概念1、Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的可画对象2、Canvas画布,绘图的目的区域,用于绘图3、Bitmap位图,用于图的处理4、Matrix矩阵二、Bitmap1转载 2015-06-28 19:05:31 · 407 阅读 · 0 评论 -
Java回调机制使用
本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17483273)。以前不理解什么叫回调,天天听人家说加一个回调方法啥的,心里想我草,什么叫回调方法啊?然后自己就在网上找啊找啊找,找了很多也不是很明白,现在知道了,所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D转载 2015-06-03 11:13:00 · 370 阅读 · 0 评论 -
Bitmap导致的OOM 一些解决方案
(http://www.eoeandroid.com/thread-166226-1-1.html)相机越来越好,相片也越来越大, 而手机应用程序所分配的内存有限, 所以在读相片的时候,如果代码写得不好,经常导致OOM. 信息如下:java.lang.OutOfMemoryError: bitmap size exceeds VM budget 基本上要注意几个地方:1 bi转载 2015-06-08 11:23:39 · 478 阅读 · 0 评论 -
Android程序退出彻底关闭进程的方法
因为发现光调用finish()方法后 程序中所启动的线程依旧在后台运行——Android的特点之一——否则也不会出现诸多用于关闭进程的工具。搜索了相关资料,大致有以下几种方法可以用于完全关闭进程的方式。其中第一种方法作者已经用过,的确是可行的。 第一种方法:1android.os.Process.killProcess(android.转载 2015-07-24 18:01:10 · 1069 阅读 · 0 评论 -
bitmapfactory.options使用总结
BitmapFactory.Options详解http://m.blog.csdn.net/blog/wclxp891009/9950425下面我们回到我们的主题上来:怎样获取图片的大小?思路很简单:首先我们把这个图片转成Bitmap,然后再利用Bitmap的getWidth()和getHeight()方法就可以取到图片的宽高了。新问题又来了,在通过Bi转载 2015-06-05 17:09:19 · 641 阅读 · 0 评论 -
如何从Eclipse导入github上的项目源码
1.首先在github.com上申请一个账号,比如笔者的账号为puma0072.Eclipse需要安装egit插件,在Eclipse中选择help-》Marketplace,在search中输入egit,找到后安装即可3.在github上找到你要导入的源码项目,比如笔者以oschina的Android客户端为例,网址:https://github.com/oschina/android转载 2015-06-24 10:20:06 · 385 阅读 · 0 评论 -
为什么要用Fragment.setArguments(Bundle bundle)来传递参数
转载自:http://blog.csdn.net/tu_bingbing/article/details/24143249?utm_source=tuicool&utm_medium=referral 在此感谢作者的无私分享,仅作为笔记使用。Fragment在Android3.0开始提供,并且在兼容包中也提供了Fragment特性的支持。Fragment的推出让我们编写和管理用户界转载 2015-10-18 22:41:54 · 543 阅读 · 0 评论 -
android中Widget的生命周期
Widget是android中桌面小控件,创建时必须继承AppWidgetProvider,AppWidgetProvider其实就是继承了BroadcastReceiver的Receiver的一种,widget有以下几个生命周期方法:1.onEnabled方法:此方法在Widget第一次被创建的时候调用,并且只调用一次,此方法中常放入初始化数据,服务的操作。 2.o转载 2015-08-17 17:29:36 · 1330 阅读 · 0 评论 -
Android中使用SAX方式解析XML文件
转载http://blog.csdn.net/cjjky/article/details/6666834 在Android中解析XML文主要有三种方式,分别为Simple API for XML(SAX)、Document Object Model(DOM)和Android附带的pull解析器。在本篇文章中主要采用例子说明使用SAX方式解析XML文件。 SA转载 2015-05-18 11:07:46 · 412 阅读 · 0 评论 -
Android 开发时如何正确获取使用扩展存储路径
先介绍一下Android的存储在 2.x 版本中,Android设备都是单存储,第三方App写文件,必须申请 WRITE_EXTERNAL_STORAGE 权限;在4.0之后,Android设备开始有了内置闪存,即 primary storage,并且可以外置SD卡,即 secondary external storage device;WRITE_EXTERNAL_STO转载 2015-06-18 10:28:31 · 1374 阅读 · 0 评论 -
Android模拟器中使用SD卡
关于在android中使用SD卡网上很多介绍手动建立镜像文件的,研究发现安装AVD时已经配置了SD卡,查看eclipse -> windows->Android AVD Manager 选模拟器,点击右边的“Edit”可以设定sd卡大小,如图,此处设定为1024M,也就是1G。设定完成后保存,点击右边的“Details”查看可以看到设定的SD卡大小。转载 2015-05-23 17:09:05 · 1615 阅读 · 0 评论 -
Android之基本常见知识(持续更新) getwindow() requestWindowFeature()
//能够取得屏幕的信息 DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm);dm.widthPixels; //取得宽像素 dm.heightPixels; //取得高像素 //获转载 2015-06-06 00:18:29 · 10518 阅读 · 0 评论 -
Activity切换动画overridePendingTransition的使用
http://blog.csdn.net/menxu_work/article/details/10258787实现两个 Activity 切换时的动画。在Activity中使用有两个参数:进入动画和出去的动画。注意1、必须在 StartActivity() 或 finish() 之后立即调用。2、而且在 2.1 以上版本有效3、手机设置-显示-动转载 2015-07-01 23:15:21 · 427 阅读 · 0 评论 -
Android中的Service 与 Thread 的区别?
很多时候,你可能会问,为什么要用 Service,而不用 Thread 呢,因为用 Thread 是很方便的,比起 Service 也方便多了,下面我详细的来解释一下。他们之间没有任何关系1). Thread:Thread 是程序执行的最小单元,它是分配CPU的基本单位。可以用 Thread 来执行一些异步的操作。2). Service:Service 是android的一种机制,转载 2015-06-14 20:50:26 · 575 阅读 · 0 评论 -
json转换之Gson
参见详情http://blog.csdn.net/lk_blog/article/details/7685169(但是拒绝转载)本文转载自http://www.cnblogs.com/haippy/archive/2012/05/20/2509329.html如何将数组转化为 json 串?下面的例子中我们示例如何将一个数据转换成 json 串,并使转载 2015-07-02 09:14:39 · 401 阅读 · 0 评论 -
android httpClient 支持HTTPS的2种处理方式
转载自:http://my.oschina.net/blackylin/blog/144136(在此特别感谢作者的无私分享,愿与大家共勉)问题:解决过程:1.没遇到过的问题,搜索吧,少年2.了解并分析问题2.1 https2.2分析下出现问题的原因3.解决问题最后总结:问题:项目中Android https或http请求地址重定向为HTT转载 2015-07-02 11:31:33 · 434 阅读 · 0 评论 -
SqliteOpenHelper封装——DBManager模板
在Android平台上,集成了一个嵌入式关系型数据库—SQLite。如果你想要开发 Android 应用程序,一定需要在 Android 上存储数据,使用SQLite 数据库是一种非常好的选择。下面介绍的基本使用:是一个抽象类不能直接实例化,所以新建一个类DBOpenHelper继承自SQLiteOpenHelper :[java] view转载 2015-06-13 11:08:18 · 721 阅读 · 0 评论 -
Android: NDK编程入门笔记
另参见Android之NDK开发为何要用到NDK?概括来说主要分为以下几种情况:1. 代码的保护,由于apk的java层代码很容易被反编译,而C/C++库反汇难度较大。2. 在NDK中调用第三方C/C++库,因为大部分的开源库都是用C/C++代码编写的。3. 便于移植,用C/C++写得库可以方便在其他的嵌入式平台上再次使用。下面就介绍下Android转载 2015-07-11 21:29:11 · 341 阅读 · 0 评论 -
Android中的DVM和Java中的JVM的异同点?
http://blog.csdn.net/yujun411522/article/details/45932247 本文出自:【yujun411522的博客】1.Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念?Dalvik虚拟机允许多个instance的存在。实际上android中的每一个app都是运行在自己VM实例之中(沙盒)。每一个转载 2015-08-15 16:26:26 · 2386 阅读 · 0 评论 -
AsyncTask
http://blog.csdn.net/yujun411522/article/details/46125613本文出自:【yujun411522的博客】AsyncTask是android将Handler和Thread继承好的一个类,在某些场景下使用它很方便。先介绍基本用法,然后看一下源代码,最后比较一下它与handler。7.1 使用方法(点击这里查看官网介绍)定义:A转载 2015-08-15 17:33:26 · 479 阅读 · 0 评论 -
Handler
http://blog.csdn.net/yujun411522/article/details/46049131本文出自:【yujun411522的博客】对android开发了解多一些的开发者应该都知道handler在android中的重要性。Android中的消息机制是针对某一个具体线程的。一个线程只能有一个looper,通过looper来不停取出消息队列中的消息。在默认创建的转载 2015-08-15 22:10:29 · 533 阅读 · 0 评论 -
Service
http://blog.csdn.net/yujun411522/article/details/46008947本文出自:【yujun411522的博客】 两种方式:start和bind。1.start方式:android 中其他组件可以调用startService(Intent) 方式来启动一个service。如果该service实例不存在,则调用service.oncreat转载 2015-08-15 22:12:02 · 486 阅读 · 0 评论 -
android体系结构以及源代码阅读环境搭建
http://blog.csdn.net/yujun411522/article/details/46334057本文出自:【yujun411522的博客】1.2 Android体系结构体系结构按照两种视角来分析:静态和动态视角1.2.1 静态视角的体系结构可以分为四层application、application framework转载 2015-08-16 11:40:57 · 426 阅读 · 0 评论 -
Android BroadcastReceiver介绍
本文主要介绍BroadcastReceiver的概念、使用、生命周期、安全性、分类、特殊的BroadcastReceiver(本地、粘性、有序、粘性有序广播)。示例代码见BroadcastReceiverDemo,示例APK见:TrineaAndroidDemo.apk。 1、概念介绍及两种注册方式的区别BroadcastReceiver作为Android四大组件之一,不像Acti转载 2015-08-17 00:09:54 · 362 阅读 · 0 评论 -
如何避免Handler引起内存泄露
如果您在Activity中定义了一个内部Handler类,如下代码:帮助123456789101112131415161718192021publicclass Mai转载 2015-06-08 11:06:52 · 581 阅读 · 0 评论 -
Android之Handler用法总结
原文:http://www.cnblogs.com/devinzhang/archive/2011/12/30/2306980.html 方法一:(java习惯,在android不推荐使用)刚刚开始接触android线程编程的时候,习惯好像java一样,试图用下面的代码解决问题new Thread( new Runnable() {转载 2015-06-04 10:24:13 · 306 阅读 · 0 评论 -
android坐标
说来说去都不如 画图示意 简单易懂啊!!!真是的! 来吧~~先上张图~~!(一)首先明确一下 android 中的坐标系统 : 屏幕的左上角是坐标系统原点(0,0) 原点向右延伸是X轴正方向,原点向下延伸是Y轴正方向 (二)关于Scroll: 屏幕显示的内容很多时,会有超出一屏的情况,于是就产生了Scroll的概念。转载 2015-07-27 20:48:03 · 372 阅读 · 0 评论 -
五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程
五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程引言 在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入Android浪潮的朋友们,为了确保大家能顺利完成开发环境的搭建,文章写的尽量详细,希望对准备进入Android开发的朋友有帮助。 本教程将分为五个步骤来转载 2015-05-03 08:48:57 · 605 阅读 · 1 评论 -
Android 开发环境下载地址 -- 百度网盘 adt-bundle android-studio sdk adt 下载
Android 开发环境介绍 : 目前 Android 有两种开发环境, 一种是传统的 Eclipse + ADT, 一种就是目前最新并且得到 Google 推荐的 Android Studio;-- Eclipse + ADT 开发环境 : 大多数开发者正在使用的, 正在逐渐被淘汰中, 目前我也在用这个环境;-- Android Studio 开发环境 : 该环境推出几年, 与转载 2015-05-02 22:41:20 · 3401 阅读 · 0 评论 -
android开发配置
1、新建SDk_HOME D:\adt-bundle-windows-x86-20140702\sdk(安装目录)2、Path 中添加:%SDK_HOME%\build-tools;%SDK_HOME%\tools;原创 2015-05-02 22:58:33 · 419 阅读 · 0 评论 -
Android帮助文档本地打开慢的解决方案
1. 打开index.html,然后注释掉两个地方 stylesheet和js两个地方:href="http://fonts.googleapis.com/css?family=Roboto:regular,medium,thin,italic,mediumitalic,bold" title="roboto">-->-->然后保存2. C:\Windo转载 2015-05-12 14:04:38 · 524 阅读 · 0 评论 -
Java构造和解析Json数据的两种方法详解
Java构造和解析Json数据的两种方法详解一 在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别。下面首先介绍用json-lib构造和解析Json数据的方法示例。 用org.son构造和解析Json数据的方法详解请参见我下一篇博文:Java构造和解析Json数据的两种转载 2015-05-17 16:36:37 · 474 阅读 · 0 评论 -
Android中使用PULL方式解析XML文件
Pull解析器的运行方式与 SAX 解析器相似。它提供了类似的事件,如:开始元素和结束元素事件,使用parser.next()可以进入下一个元素并触发相应事件。跟SAX不同的是, Pull解析器产生的事件是一个数字,而非方法,因此可以使用一个switch对感兴趣的事件进行处理。当元素开始解析时,调用parser.nextText()方法可以获取下一个Text类型节点的值。转载 2015-05-18 10:38:05 · 451 阅读 · 0 评论 -
Android 对Layout_weight属性完全解析以及使用ListView来实现表格(自定义适配器)
转载请注明出处:http://blog.csdn.net/xiaanming/article/details/13630837今天主要说的是对Layout_weight属性的完全解析,以及利用Layout_weight这个属性使用ListView来实现表格的效果,我们都知道Android里面专门有一个TableLayout来实现表格的,说实话,我平常开发中用TableLayout还是比较少转载 2015-06-03 11:49:10 · 404 阅读 · 0 评论 -
监听网络状态
1.写监听广播BroadcastReceiver public class NetworkStateReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) {// 法一:// ConnectivityManager conn原创 2015-07-03 12:01:45 · 474 阅读 · 0 评论