
Android基础知识
文章平均质量分 74
怎么连话都说不清楚
这个作者很懒,什么都没留下…
展开
-
Android Activity界面切换添加动画特效
在android2.0中已经可以很简单的实现Activity 之间的动画切换效果。在startActivity 后调用 overridePendingTransition(int enterAnim,int exitAnim),就可以实现Activity之间的动画,其中enterAnim 是下一个Activity的enter动画效果,exitAnim 是当前Actitvity退出的动画效果转载 2013-01-23 16:20:49 · 680 阅读 · 0 评论 -
ListView实现自动滚动
首先是stackFromBottom属性,这只该属性之后你做好的列表就会显示你列表的最下面,值为true和false android:stackFromBottom="true" 第二是 transciptMode属性,需要用ListView或者其它显示大量Items的控件实时跟踪或者查看信息,并且希望最新的条目可以自动滚动到可视范围内。通过设置的控件transcriptMode属性可以将转载 2013-01-23 16:23:21 · 1017 阅读 · 0 评论 -
Android开发之——SQLite使用方法
Android采用关系型数据库SQLite3,它是一个支持SQL轻量级的嵌入式数据库,在嵌入式操作系统上有很广泛的应用,WM采用的也是SQLite3 关于过于、原理方面的东西在这篇文章里不会提到,但是如果你想能够快速的学会操作SQLite3,那这就是你要找的文章! 首先,我们看一下api,所有数据库相关的接口、类都在android.databas转载 2013-01-24 13:27:57 · 514 阅读 · 0 评论 -
Android设置铃声分析
代码其实没有几行,这里简单记录下学习的过程.Android系统启动时会扫描系统与SD卡中的对媒体文件,分别存入数据库sqlite中,以contentProvider的形式对外提供服务路径:/data/data/com.android.providers.media/databases/XXX...可以看到有2个db文件, 一个是系统的,一个是sd卡里的用SQ转载 2013-01-24 23:34:29 · 632 阅读 · 0 评论 -
setContentView和inflate区别
一般用LayoutInflater做一件事:inflateinflate这个方法总共有四种形式(见下面),目的都是把xml表述的layout转化为View对象。其中有一个比较常用,View inflate(int resource, ViewGroup root),另三个,其实目的和这个差不多。int resource,也就是resource/layout文件在R文件中对应的I转载 2013-01-20 22:52:09 · 490 阅读 · 0 评论 -
Android APK反编译得到Java源代码和资源文件
一.反编译Apk得到Java源代码首先要下载两个工具:dex2jar和JD-GUI,前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。以下是下载地址:dex2jar:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip JD-GUI:http://l转载 2013-01-20 22:58:15 · 1481 阅读 · 0 评论 -
如何让Android横竖屏切换时不销毁当前activity
背景介绍: 在编写android小应用的时候,碰到了这样的一个问题:当推开手机的实体键盘时,屏幕由竖屏转换为横屏,此时应用程序的显示界面(Activity)就会被销毁了,这个让人比较郁闷。 如何才能让这个activity不被销毁呢? ———————————— 分割线 ———————————————- 解决办法: 通过上面资料的阅读,解决办法就很简单了。 首先在Mainife转载 2013-01-20 23:03:39 · 626 阅读 · 0 评论 -
android:ListView中的getView原理
其实这里的复用技术在列表中是十分常见的,iphone中的tableView也有相关的技术,cell的复用工作原理:ListView 针对List中每个item,要求 adapter “给我一个视图” (getView)。一个新的视图被返回并显示如果我们有上亿个项目要显示怎么办?为每个项目创建一个新视图?NO!这不可能!实际上Android为你缓存了视图。An转载 2013-01-20 23:13:58 · 487 阅读 · 0 评论 -
android 局部界面动态切换
局部界面固定,局部界面可以动态切换。效果如下: 这个效果由3个layout构成main.xmlxml version="1.0" encoding="utf-8"?>LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:la转载 2013-01-20 23:32:29 · 1747 阅读 · 0 评论 -
Android设置多个定时器时只有最后一个有效的问题解决
先看这段API:我们会用到PendingIntent 来获取一个实例它有四个参数:PendingIntent pi = PendingIntent.getBroadcast(context, requestCode, intent, flags)content 和 intent 比较熟悉,不必多说主要是flag,它有以下参数:FLAG_CANCEL_CURRE原创 2013-01-22 18:38:44 · 1717 阅读 · 0 评论 -
android进度条的样式
android 进度条的样式 例1:(默认样式(中等圆形))Xml代码 android:id="@+id/progressBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 例2:(超大圆形)Xml代码转载 2013-03-04 19:35:20 · 585 阅读 · 0 评论 -
有关Android线程的学习
1. Android进程 在了解Android线程之前得先了解一下Android的进程。当一个程序第一次启动的时候,Android会启动一个LINUX进程和一个主线程。默认的情况下,所有该程序的组件都将在该进程和线程中运行。同时,Android会为每个应用程序分配一个单独的LINUX用户。Android会尽量保留一个正在运行进程,只在内存资源出现不足时,Android会尝试停止一些进程从转载 2013-03-07 21:23:32 · 611 阅读 · 0 评论 -
IntentService和AsyncTask
IntentService 是Serivce+handler的结合产物 AsyncTask是thread+handler的结合产物 不清楚我的总结是不是前不见来者。下面是我对location service ,remote service ,IntentService,AsyncTask的阐述。为什么用service而不用thread:android 的系统机制有关,我们先拿 Thr转载 2013-03-07 21:17:40 · 3005 阅读 · 0 评论 -
android中的AsyncTask异步操作
在开发Android移动客户端的时候往往要使用多线程来进行操作,我们通常会将耗时的操作放在单独的线程执行,避免其占用主线程而给用户带来不好的用户 体验。但是在子线程中无法去操作主线程(UI 线程),在子线程中操作UI线程会出现错误。因此android提供了一个类Handler来在子线程中来更新UI线程,用发消息的机制更新UI界面,呈 现给用户。这样就解决了子线程更新UI的问题。但是费时的任务操作总转载 2013-03-07 20:29:48 · 757 阅读 · 0 评论 -
监听EditText的变化
监听EditText中的内容的变化。在EditText没有找到一个setOnxxxx的方法。百度了一下,原来在EditText中有一个方法addTextChangedListner(TextWatcher watcher)方法,用他可以时时监听EditText的内容变化。TextWatcher是一个接口类,所以必须实现TextWatcher里的抽象方法:当EditText里面的内容有变化的转载 2013-03-09 16:14:05 · 701 阅读 · 0 评论 -
Android文件 ——保存到内部存储设备
SharedPreferences对象能够让你去保存一些“键值对”类型的数据,比如用户id,生日,性别,身份证号等等。但是,有的时候你需要去使用传统的文件系统去保存数据。例如你可能想要去保存一篇文章,而这篇文章要被展示在你的应用中。在Android系统中,你也可以使用java.io包去实现这个功能。在Android系统中,第一种保存文件的方法是存储到内部设备。下面展示如何保存用书输入的转载 2013-03-11 21:36:19 · 1413 阅读 · 0 评论 -
android--存储之文件
文件存储形式一、直接利用Activity提供的文件操作方法。此类操作的所有文件路径只能是“\data\data\'\files”。示例代码: public void FileIn() { FileOutputStream output = null; //文件输出流 try { output = openFileOutput(FILENAME, MODE_PRIVATE原创 2013-03-12 21:47:51 · 721 阅读 · 0 评论 -
android--存储之SharePreference
SharePreference提供一些基础的信息存储功能,所有的信息都是按照“key = value”的形式进行保存,但是android.content.Sharepreference借口所保存的信息只能是一些基本数据类型,如字符串,整形,布尔型等...保存的文件保存在\data\data\\shared_prefs\目录下面。示例如下: public void SaveData()原创 2013-03-12 20:54:10 · 15736 阅读 · 0 评论 -
Android的内存机制和常见泄漏情形
一、 Android的内存机制 Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似。程序员通过new为对象分配内存,所有对象在java堆内分配空间;然而对象的释放是由垃圾回收器来完成的。那么GC怎么能够确认某一个对象是不是已经被废弃了呢?Java采用了有向图的原理。Java将引用关系考虑为图的有向边,有向边从引用者指向引用对象。线程对象可以转载 2013-03-02 19:55:48 · 445 阅读 · 0 评论 -
Android消息机制
一、 角色描述1.Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue(消息队列)。2.Handler: 你可以构造Handler对象来与Looper沟通,以便push新消息到Message Queue里;或者接收Looper(从Message Queue取出)所送来的消息。3. Message Queue(消息队列):转载 2013-03-02 20:13:08 · 398 阅读 · 0 评论 -
Android线程间通信的Message机制
1.1.Message代码在frameworks\base\core\java\android\Os\Message.java中。Message.obtain函数:有多个obtain函数,主要功能一样,只是参数不一样。作用是从Message Pool中取出一个Message,如果Message Pool中已经没有Message可取则新建一个Message返回,同时用对应的参数给转载 2013-03-02 20:16:44 · 575 阅读 · 0 评论 -
android--存储XML解析
在android开发中,经常用到去解析xml文件,常见的解析xml的方式有一下三种:SAX、Pull、Dom解析方式。最近做了一个android版的优快云阅读器,用到了其中的两种(sax,pull),今天对android解析xml的这三种方式进行一次总结。 今天解析的xml示例(channels.xml)如下:百度腾讯新浪淘宝一、使用sax方式解析转载 2013-03-13 17:41:11 · 643 阅读 · 0 评论 -
Android的Handler总结
一、Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发, 比如说, 你要是点击一个 Button, Android会分发事件到Button上,来响应你的操作。 如果此时需要一个耗时的操作,例如转载 2013-03-17 20:34:30 · 520 阅读 · 0 评论 -
Android开发入门:如何激活和关闭组件
本篇将介绍如何激活组关闭组件等。本文的主题如下:1、激活组件:意图(Intents)1.1、活动(Activity)组件的激活1.2、服务(Service)组件的激活1.3、广播接收者(Broadcast receiver)组件的激活2、关闭组件3、清单文件4、Intent过滤器1、激活组件:意图(Intents)当 接收到ContentResolver转载 2013-03-17 20:53:14 · 1069 阅读 · 0 评论 -
Android中的Intent详细讲解
Android的Intent机制实例讲解在Android应用程序框架中,有一个比较强大的事件处理机制——Intent(意图)。Intent(意图)的作用与事件(event)很像,但与传统的事件处理有些差异。传统的事件处理,讲究的是处理者(handler)的触发,当事件发生时,便callback事件的处理者,或是直接将该事件传送(forward)给应用程序,由应用程序决定处理方式转载 2013-03-17 21:04:03 · 1034 阅读 · 0 评论 -
Android开发之SQLite技术详解
Google为Andriod的较大的数据处理提供了SQLite,他在数据存储、管理、维护等各方面都相当出色,功能也非常的强大。SQLite具备下列特点:1.轻量级。使用 SQLite 只需要带一个动态库,就可以享受它的全部功能,而且那个动态库的尺寸想当小。2.独立性。SQLite 数据库的核心引擎不需要依赖第三方软件,也不需要所谓的“安装”。3.隔离性。SQLite 数据库转载 2013-03-17 21:08:54 · 1735 阅读 · 0 评论 -
Android SQLite教程:内部架构及SQLite使用办法
SQLite 介绍SQLite一个非常流行的嵌入式数据库,它支持SQL语言,并且只利用很少的内存就有很好的性能。由于JDBC不适合手机这种内存受限设备,所以Android开发人员需要学习新的API 来使用SQLite。此外它还是开源的,任何人都可以使用它。许多开源项目((Mozilla, PHP, Python)都使用了SQLite.SQLite由以下几个组件组成:SQL编译器、内转载 2013-03-17 21:10:04 · 614 阅读 · 0 评论 -
缓冲
public class Main extends Activity { private Animation anm; private int marginsTop; public List images; public LinearLayout ll; @Override public void onCreate(Bundle savedInstanceSta原创 2013-03-20 11:35:31 · 608 阅读 · 0 评论 -
Android应用开发中的风格和主题(style,themes)
越来越多互联网企业都在Android平台上部署其客户端,为了提升用户体验,这些客户端都做得布局合理而且美观.......Android的Style设计就是提升用户体验的关键之一。Android上的Style分为了两个方面:Theme是针对窗体级别的,改变窗体样式;Style是针对窗体元素级别的,改变指定控件或者Layout的样式。 Android系统的themes.xml和转载 2013-04-05 15:52:39 · 514 阅读 · 0 评论 -
viewholder的使用
Adapter的作用就是ListView界面与数据之间的桥梁,当列表里的每一项显示到页面时,都会调用Adapter的getView方法返回一个View。 优化的思路两种: 1. View的重用 View的每次创建是比较耗时的,因此对于getview方法传入的convertView应充分利用 != null的判断 2.ViewHolder的应用 View的转载 2013-04-10 20:53:11 · 663 阅读 · 0 评论 -
android常用的代码片段
android从资源文件中读取文件流显示private void doRaw(){ InputStream is = this.getResources().openRawResource(R.raw.ziliao); try{ doRead(is); }catch(IOException e){ e.printStackTrace(); }}private void do原创 2013-04-27 10:09:44 · 596 阅读 · 0 评论 -
android Bitmap用法总结
android Bitmap用法总结 1、Drawable → Bitmappublic static Bitmap drawableToBitmap(Drawable drawable) {Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(),drawable.getInt转载 2013-04-27 17:10:11 · 575 阅读 · 0 评论 -
android ScrollVIew中嵌套GridView,如何显示GridView
在Android开发当中经常会用到了需要ScrollView嵌套GridView或者是ListView的情况,由于这两款控件都自带滚动条,当他们一起使用的时候就会出现GridView或ListView会显示不全的问题。重写ListView、gridView: 重写ListViewpublic class MyListView extends ListView { publi转载 2013-05-22 20:05:35 · 2286 阅读 · 0 评论 -
Android五大布局
Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦。组件按照布局的要求依次排列,就组成了用户所看见的界面。Android的五大布局分别是LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布局)。 Linear转载 2013-06-03 21:38:56 · 497 阅读 · 0 评论 -
Intent中的四个重要属性——Action、Data、Category、Extras
Intent作为联系各Activity之间的纽带,其作用并不仅仅只限于简单的数据传递。通过其自带的属性,其实可以方便的完成很多较为复杂的操作。例如直接调用拨号功能、直接自动调用合适的程序打开不同类型的文件等等。诸如此类,都可以通过设置Intent属性来完成。 Intent主要有以下四个重要属性,它们分别为: Action:Action属性的值为一个字符串,它代表了系统中已经转载 2013-06-03 21:46:26 · 640 阅读 · 0 评论 -
Activity的四种加载模式
Activity之间的跳转,或者说加载一个新的Activity,一般对于开发者来说,都不是一个太难的问题。直到后来随着不断的深入,才发现原来Activity的加载还分为四种不同加载模式,让我突然有了一种别有洞天的感觉。灵活的使用合适的加载模式,可以避免产生大量的重复的Activity,从而优化性能,减少系统资源消耗。 四种加载模式具体为:standard: 标准模式,一调用sta转载 2013-06-03 21:48:04 · 470 阅读 · 0 评论 -
Android应用程序的组成
Android应用程序由一些松散连系的组件构成,遵守着一个应用程序清单(manifest),这个清单描述了每个组件以及它们如何交互,还有包含了应用程序的硬件和平台需求的元数据(metadata)。以下六个组件提供了应用程序的基础部分:Activites 应用程序的表示层。应用程序的每个界面都将是Activity类的扩展。Acitvities用视图(View)构成GUI来显示信息、转载 2013-06-03 21:48:55 · 540 阅读 · 0 评论 -
Android数据的存储方式(四) —— ContentProvider
ContentProvider是安卓平台中,在不同应用程序之间实现数据共享的一种机制。一个应用程序如果需要让别的程序可以操作自己的数据,即可采用这种机制。并且此种方式忽略了底层的数据存储实现,ContentProvider提供了一种统一的通过Uri实现数据操作的方式。其步骤为: 1. 在当前应用程序中定义一个ContentProvider。 2. 在当前应用程序的Android转载 2013-06-03 21:36:11 · 618 阅读 · 0 评论 -
Android数据的存储方式(二) —— SQLite
SQLite是一种转为嵌入式设备设计的轻型数据库,其只有五种数据类型,分别是: NULL: 空值 INTEGER: 整数 REAL: 浮点数 TEXT: 字符串 BLOB: 大数据 在SQLite中,并没有专门设计BOOLEAN和DATE类型,因为BOOLEAN型可以用INTEGER的0和1代替true和false,而转载 2013-06-03 21:30:45 · 610 阅读 · 0 评论 -
Android数据的存储方式(五) —— 文件存储数据
关于文件存储,Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的。文件可用来存放大量数据,如文本、图片、音频等。默认位置:/data/data//files/***.***。代码示例: publicvoid save() { try { File转载 2013-06-14 17:57:21 · 650 阅读 · 0 评论