android 进阶
文章平均质量分 71
Jacob-wj
这个作者很懒,什么都没留下…
展开
-
0. Ubuntu Linux中设置adb环境变量
Ubuntu Linux中设置adb环境变量当前用户sudo vi .bashrc在这个文件中加入:export PATH=”$PATH:export PATH="$PATH:/home/[username]/android-sdk-linux_86/platform-tools/"重启或再次登陆后生效,如果想立即生效:则执行:sudo source .bashrc全局原创 2012-04-05 15:28:09 · 5006 阅读 · 0 评论 -
4.Android中自定义属性
今天我们的教程是根据前面一节扩展进行的,如果你没有看,请点击《Android高手进阶教程》3.Android中自定义View的应用,这样更容易理解。在xml文件里定义控件的属性,我们已经习惯了android:attrs="",那么我们能不能定义自己的属性能,比如:test:attrs=""呢?答案是肯定的。好了我就不卖关子了,直接进入主题。大致以下步骤:一、在res/values文件下原创 2012-04-05 16:57:38 · 634 阅读 · 0 评论 -
6.Android MenuInflater的使用
大家好,我们上一节讲的是LayoutInflater的使用,而这一节我将讲一下Android MenuInflater,顾名思义,Android MenuInflater是用来解析定义在layout下的布局文件,那么MenuInflater是不是用来解析定义在menu目录下的菜单布局文件呢?恭喜你答对了!我们传统意义上的布局定义菜单感觉比较繁琐,当我们使用MenuInflater来生成菜单原创 2012-04-05 17:14:25 · 1075 阅读 · 0 评论 -
2. Android中SlidingDrawer介绍
安卓中1.5后加入了SlidingDrawer【隐藏式抽屉】,设计原理在你的UI布局有限的情况下,放不下太多的控件的时候,可以考虑用这个隐藏式抽屉。用SlidingDrawer注意两点,一个是android:handle(委托要展开的图片加载Layout配置) 和android:content(要展开的Layout Content), 下面看程序截图:转载 2012-04-05 15:51:15 · 1100 阅读 · 0 评论 -
7.Android Preferences的使用
大家好,我们这一节讲的是Android Preferences的学习,Preferences在Android中被用来记录应用,以及用户喜好等等,它可以用来保存简单的数据类型,如Int、Double、Boolean等。Preferences中保存的数据可以理解为Map型。我们通过PreferenceManager以及getDefaultSharedPreferences(Context)来获取它原创 2012-04-05 17:45:59 · 820 阅读 · 0 评论 -
8.Android Widget开发案例(世界杯倒计时)
今天我们学习Android Widget的开发,由于快凌晨了,我就不说的太具体了,同志们就模仿吧!首先看一下效果图:下面是Demo的详细步骤:一、新建一个Android工程命名为:WidgetDemo二、准备素材,一个是Widget的图标,一个是Widget的背景。存放目录如下图:三、修改string.xml文件如下:?1234原创 2012-04-05 17:54:34 · 809 阅读 · 0 评论 -
9.Android Handler的使用
大家好我们这一节讲的是Android Handler的使用,在讲Handler之前,我们先提个小问题,就是如何让程序5秒钟更新一下Title.首先我们看一下习惯了Java编程的人,在不知道Handler的用法之前是怎么样写的程序,代码如下所示:?1234567891011121314151617原创 2012-04-05 17:59:32 · 695 阅读 · 0 评论 -
10.Android在一个应用中启动另外一个应用
,就是如何在一个应用中通过某个事件,而去启动另外一个已安装的应用。所以愿意和大家分享一下。为了能让大家更容易理解,我写了一个简单的Demo,我们的程序有俩个按钮,其中一个点击会启动我自己写的应用(一个3D应用为例),而另外一个按钮会启动系统自带的应用(如,日历,闹钟,计算器等等)。这里我一日历为例子。首先看一下我们的效果图(点击第一个按钮为例):下面是Demo的详细步骤:一原创 2012-04-05 18:08:31 · 972 阅读 · 0 评论 -
11.Android数据库SQLiteDatabase的使用
Android提供了三种数据存储方式:第一种是文件存储。第二种是SharedPreferences存储。第三种是数据库SQLiteDatabase存储。文件存储我就不多说了,而SharedPreferences可以存取简单的数据(int,double,float.etc),它经常用于数据缓存,因为它读取存储简单。详细可以参见本系列《Android高手进阶教程》7.Android P原创 2012-04-05 18:17:51 · 2659 阅读 · 1 评论 -
1.Android常用名令集锦
大家好,今天我们要讲的是Android常用名令集锦,在我们的Android开发中难免要用到Android命令,有些命令确实很有用处。特别对于一些初学者来说,命令根本没有想过用也不会用,比如他们想安装一个.apk文件到模拟器上面,但是他们不会启动模拟器,他们只会先启动Eclipse,然后在启动模拟器,这样不但浪费时间,而且使用Eclipse又占用内存。这也是我为什么总结这篇文章的原因了,希望对大原创 2012-04-05 14:47:36 · 696 阅读 · 0 评论 -
3.Android中自定义View的应用
大家好,我们今天的教程是学习在Android中自定义View,对于初学着来说,他们习惯了Android传统的页面布局方式,如下代码:123456789101112xmlversion="1.0"encoding="utf-8"?>LinearLayoutxmlns:android="ht原创 2012-04-05 16:44:26 · 623 阅读 · 0 评论 -
12 .Android Location的使用
大家好,今天说说Android Location,Location在Android开发中还是经常用到的,比如通过经纬度获取天气,根据Location获取所在地区详细地址(比如Google Map开发)等。而在Android中通过LocationManager来获取Location,通常获取Location有GPS获取、WIFI获取。我今天做一个简单的小Demo,来教大家如何获取Location原创 2012-04-05 21:08:13 · 1320 阅读 · 0 评论 -
16. Android中使用线程应该注意的问题
我们都知道Hanlder是线程与Activity通信的桥梁,我们在开发好多应用中会用到线程,有些人处理不当,会导致当程序结束时,线程并没有被销毁,而是一直在后台运行着,当我们重新启动应用时,又会重新启动一个线程,周而复始,你启动应用次数越多,开启的线程数就越多,你的机器就会变得越慢。为了方便大家理解,我写一个简单的Demo.功能就是每2秒中将应用的Title更换一次。具体步骤如下:第一步:原创 2012-04-06 11:22:59 · 857 阅读 · 0 评论 -
21.Android WebView的缓存
各位读者大家好,最近比较忙好久没有写blog了,今天挤点时间和大家分享一下Android WebView的缓存。我们在项目中也时常会用到WebView这个控件,当我们加载html时候,会在我们data/应用package下生成database与cache两个文件夹如下图如示:我们请求的url记录是保存在webviewCache.db里,而url的内容是保存在webviewCache文件夹下原创 2012-04-06 11:30:40 · 1164 阅读 · 1 评论 -
18 .Android中创建与几种解析xml的方法
大家好今天我今天给大家讲解一下Android创建xml以及一些解析xml的常用方法。首先是创建,我们用XmlSerializer这个类来创建一个xml文件,其次是解析xml文件,常用的有dom,sax,XmlPullParser等方法,由于sax代码有点复杂,本节只讲解一下dom与XmlPullParser解析,sax我将会在下一节单独讲解,至于几种解析xml的优缺点我就不再讲述了。为了方原创 2012-04-06 11:25:38 · 750 阅读 · 0 评论 -
14. Android Intent传递对象的两种方法
大家好,好久不见,今天要给大家讲一下Android Intent中如何传递对象,就我目前所知道的有两种方法:一种是Bundle.putSerializable(Key,Object);另一种是Bundle.putParcelable(Key, Object);当然这些Object是有一定的条件的,前者是实现了Serializable接口,而后者是实现了Parcelable接口,为了让大原创 2012-04-06 08:51:54 · 1381 阅读 · 0 评论 -
15.列出Android设备中所有启动的服务及判断某个服务是否开启
大家好,好久不见,今天在开发中遇到的一个问题给大家分享一下,我先前做了一个音乐播放器,因为播放音乐一般都是用服务来处理的。当用户点击播放按钮时,音乐在服务中播放,然后用用户退出程序(服务进程还在,音乐还继续),所以妥用户点再次进入应用时,我们播放器要处于播放状态,这里我作了简单的处理,判断这个音乐服务是否开启来完成的。今天给大家的小例子是列出Android设备中所有启动的服务,及判断某个服原创 2012-04-06 10:28:35 · 830 阅读 · 0 评论 -
13.Android中万能的BaseAdapter的使用
大家好,今天给大家讲解一下Android BaseAdapter(基础适配器)的用法,适配器的作用主要是用来给诸如(Spinner、ListView、GridView)来填充数据的。而(Spinner、ListView、GridView)都有自己的适配器(记起来麻烦)。但是BaseAdapter(一招鲜)对他们来说却是通用的,为什么这么说呢,首先我们看一下API文档:我们看到Android原创 2012-04-06 08:41:05 · 57907 阅读 · 17 评论 -
22. Android中的AIDL
在Android中,每个应用程序都可以有自己的进程。在写UI应用的时候,经常要用到Service。在不同的进程中,怎样传递对象呢?显然,Java中不允许跨进程内存共享。因此传递对象,只能把对象拆分成操作系统能理解的简单形式,以达到跨界对象访问的目的。在J2EE中,采用RMI的方式,可以通过序列化传递对象。在Android中,则采用AIDL的方式。理论上AIDL可以传递Bundle,实际上做起来却比原创 2012-04-06 11:32:01 · 702 阅读 · 0 评论 -
Android中Fragment的应用
Fragment 表现 Activity中用UI的一个行为或者一部分.可以组合多个fragment放在一个单独的activity中来创建一个多界面区域的UI,并可以在多个activity里重用某一个fragment.把fragment想象成一个activity的模块化区域, 有它自己的生命周期, 接收属于它的输入事件,并且可以在activity运行期间添加和删除.Fragment必须总原创 2012-04-09 23:54:01 · 1041 阅读 · 0 评论 -
Android MediaPlayer基本使用方式
使用MediaPlayer播放音频或者视频的最简单例子:JAVA代码部分:public class MediaPlayerStudy extends Activity { private Button bplay,bpause,bstop; private MediaPlayer mp = new MediaPlayer();原创 2012-04-09 23:56:30 · 736 阅读 · 0 评论 -
ListView之setEmptyView的问题
使用listView或者gridView时,当列表为空时,有时需要显示一个特殊的empty view来提示用户,一般情况下,如果你是继承ListActivity,只要 当列表为空时就会自动显示TextView 但是,如果继承Activity的话,想出现上面的效果,就需要手动 ListView list= (ListView)findViewById(原创 2012-04-09 21:57:23 · 735 阅读 · 0 评论 -
5.Android LayoutInflater的使用
大家好我们这一节讲的是Android LayoutInflater的使用,在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById(),不同的是LayoutInflater是用来找layout下xml布局文件,并且实例化!而findViewById()是找具体xml下的具体widget控件(如:Button,TextView等)。为了让大家更容易理解原创 2012-04-05 17:04:23 · 1647 阅读 · 0 评论 -
Android系统中 setprop,getprop,watchprops命令的使用
在android系统中,有一些初始化的配置文件,例如:/init.rc/default.prop/system/build.prop文件里面里面配置了开机设置的系统属性值,这些属性值,可以通过getprop获取,setprop设置,它的格式如下:getprop [key]获取指定key的配置值,如果不带参数,只是getprop则是显示系统所有的配置值。[dalv原创 2012-04-10 19:41:07 · 47663 阅读 · 0 评论 -
Android 使用AlarmManager设置闹钟
package com.Aina.Android; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.widget.Toast; /** * com.Aina.Android * Pro_原创 2012-04-24 10:45:28 · 8309 阅读 · 0 评论 -
android弹出窗口的实现(PopupWindow)
最近看到新浪微博顶部栏的微博分组效果很炫,从网上查了一些资料明白原来是用PopupWindow实现的,今天自己也写了一个例子实现了这种效果,希望对大家有帮助。 PopupWindow就是弹出窗口的意思,类似windows下面的开始按钮。PopupWindow可以实现浮层效果,而且可以自定义显示位置,出现和退出时的动画. 首先定义新浪微博的顶部栏,tit转载 2012-04-24 19:15:05 · 2667 阅读 · 0 评论 -
【Android进阶】多抽屉效果 (类似最早QQ使用的效果)
也不知道该怎么取名,暂且就叫他多抽屉效果吧~~ 最早QQ就是这样的效果,点一下,还有声音,呵呵。 一晃,都过去那么多年了... 废话不多说了,看下效果: 这个就是类似抽屉的效果,这边做了三个抽屉,点击抽屉既可打开,同时关闭其他抽屉。 有人猜到怎么做的了吗? 其实很简单,就是三个 TextView + 三个Layout。 关键就在于控制转载 2012-04-24 20:27:34 · 816 阅读 · 0 评论 -
获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
众所周知,通过PackageManager可以获取手机端已安装的apk文件的信息,具体代码如下[java] view plaincopyprint?PackageManager packageManager = this.getPackageManager(); List packageInfoList = packageManager.getInstalledPac转载 2012-04-25 08:32:27 · 721 阅读 · 0 评论 -
SharedPreferences具体使用方法及createPackageContext方法(获取其他应用的共享文件)
很多时候我们开发的软件需要向用户提供软件参数设置功能,Android应用,我们最适合采用什么方式保存软件配置参数呢?在Android平台上,提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是用xml文件存放数据,使用简易的键值对存储。文件存放在/data/data//shared_prefs转载 2012-04-13 19:08:37 · 1078 阅读 · 0 评论 -
使用SharedPreferences进行数据存储
很多时候我们开发的软件需要向用户提供软件参数设置功能,例如我们常用的QQ,用户可以设置是否允许陌生人添加自己为好友。对于软件配置参数的保存,如果是window软件通常我们会采用ini文件进行保存,如果是j2se应用,我们会采用properties属性文件进行保存。如果是Android应用,我们最适合采用什么方式保存软件配置参数呢?Android平台给我们提供了一个SharedPreferences原创 2012-04-13 19:09:44 · 1234 阅读 · 0 评论 -
getSystemService原理
1.说明 android的后台运行在很多service,它们在系统启动时被SystemServer开启,支持系统的正常工作,比如MountService监听是否有SD卡安装及移除,ClipboardService提供剪切板功能,PackageManagerService提供软件包的安装移除及查看等等,应用程序可以通过系统提供的Manager接口来访问这些Service提供的数据,以下将说原创 2012-04-13 22:04:16 · 1201 阅读 · 0 评论 -
android之权限大全
android.permission.ACCESS_CHECKIN_PROPERTIES允许读写访问”properties”表在checkin数据库中,改值可以修改上传( Allows read/write accessto the “properties” table in the checkin database, to change valuesthat get uploaded)原创 2012-04-13 19:11:01 · 782 阅读 · 1 评论 -
WebView加载网页保存信息到Cookie
一.知识点 1.WebView加载INTERNET网页 2.Android Activity和网页jsp之间传递参数 3.Jsp存储数据到本地计算机中,通过Cookie实现设置默认值二.代码分析1、PropertyActivity.javapackage com.esri.arcgis.android.map; import org.j原创 2012-04-13 17:58:07 · 4993 阅读 · 0 评论 -
android编写Service入门
android编写Service入门android SDK提供了Service,用于类似*nix守护进程或者windows的服务。Service有两种类型:本地服务(Local Service):用于应用程序内部远程服务(Remote Sercie):用于android系统内部的应用程序之间前者用于实现应用程序自己的一些耗时任务,比如查询升级信息,并不占用应用程序比如Activ原创 2012-04-16 20:28:09 · 715 阅读 · 0 评论 -
浅谈BroadcastReceiver的用法
最近看了下关于广播方面的东西,加深了理解,也纠正了自己以前的不正确的看法。 关于广播有2中注册方式,一种是在代码中注册,也叫动态注册,另一种是在AndroidManifest里面注册,也叫静态注册。 不管在哪个里面注册,都需要发送广播sendBroadcast()。广播发送的是一个Intent,intent里面一般是action。 如果是在代码里面注册,一般在onResume()原创 2012-04-16 08:32:52 · 688 阅读 · 1 评论 -
android悬浮窗--获取内存
首先,得先说明,这个例子并不是我写的,是从eoeAndroid的一个帖子上面看到的,下载了他的源代码,然后分析一下,供学习共享。(另外,对于其代码有所修改,以便于更好的说明问题,另:同时把源代码上传,下载地址:http://download.csdn.net/detail/aomandeshangxiao/3880055) 一开始,我们先看一下运行效果:其中,这一块转载 2012-04-16 08:42:23 · 771 阅读 · 0 评论 -
Android提高篇之ListView自适应实现表格
本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处! 上次介绍了使用GridView实现表格,这次就说说如何用ListView实现自适应的表格。GridView比ListView更容易实现自适应的表格,但是GridView每个格单元的大小固定,而ListView实现的表格可以自定义每个格单元的大小,但因此实现自适应表格也会复杂些(格单元大小不转载 2012-04-17 17:29:43 · 1834 阅读 · 1 评论 -
Android将ButtonBar放在屏幕底部
ButtonBar的方式写底部button,试了试,看起来外观貌似比Tab好看,不过恐怕没有Tab管理Activity方便吧,毕竟一个Tab就是一个Activity,但是这样用Button的话,却并不如此,所以这样的涉及可能虽然好看点,但是管理起来却是相当麻烦。那么暂且把对activity的管理放在一边,只看界面的设计吧。 要涉及这样的一个buttonbar,主要就是要用到st原创 2012-04-17 17:51:33 · 6161 阅读 · 0 评论 -
Android提高篇之SQLite分页读取
本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处! Android包含了常用于嵌入式系统的SQLite,免去了开发者自己移植安装的功夫。SQLite 支持多数 SQL92 标准,很多常用的SQL命令都能在SQLite上面使用,除此之外Android还提供了一系列自定义的方法去简化对SQLite数据库的操作。不过有跨平台需求的程序就建议使用转载 2012-04-17 17:27:11 · 1717 阅读 · 0 评论 -
Android提高篇之SQLite分页表格
本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处! 上次讲的Android上的SQLite分页读取,只用文本框显示数据而已,这次就讲得更加深入些,实现并封装一个SQL分页表格控件,不仅支持分页还是以表格的形式展示数据。先来看看本文程序运行的动画: 这个SQL分页表格控件主要分为“表格区”和“分页栏”这两部分,这两部分都是转载 2012-04-17 17:28:37 · 1119 阅读 · 1 评论