Android高手进阶
文章平均质量分 78
Android_Tutor
个人微信公共账号:山高魏垚 微信号:bbookkii
展开
-
Android高手进阶教程(一)-------Android常用名令集锦(图文并茂)!
大家好,今天我们要讲的是android开发中,比较常用的名令集锦, 在我们开发中难免用到Android命令,有些确实命令确实很有用处。特别对于一些初学者来说,命令根本没有想过用也不会用,比如他们想安装一个.apk文件到模拟器上面,但是他们不会启动模拟器,他们只会先启动Eclipse,然后在启动模拟器,这样不但浪费时间,而且Eclipse又占用你的内存。这也是我为什么总结这篇文章的原因了,希望对原创 2010-04-12 20:41:00 · 56584 阅读 · 46 评论 -
Android 高手进阶教程(十三)之----Android 数据库SQLiteDatabase的使用!!
大家好,好久没有更新博客了,最近由于身体不适让大家久等了,好了,直接进入主题~Android 提供了三种数据方式,第一种是文件存储;第二种是SharedPreferences存储;第三种就是数据库SQLiteDatabase存储。文件存储我就不用多说了,而SharedPreferences可以存取简单的数据(int,double,float.etc),它经常用于数据缓存,因为它读取存储简单。详细可以参见本系列。Android高手进阶教程(七)之----Android 中Preferenc原创 2010-06-07 22:20:00 · 28389 阅读 · 48 评论 -
Android 高手进阶教程(十四)之----Android Location的使用!!
大家好,今天说说Location, Location在Android开发中还是经常用到的,比如 通过经纬度获取天气,根据Location获取所在地区详细Address(比如Google Map开发).等。而在Android 中通过LocationManager来获取Location.通常获取Location有GPS获取,WIFI获取。我今天做一个简单的小Demo,来教大家如何获取Location,从而获取经纬度。下一节将教大家通过Location来获取Address.首先第一步:创建一个Android工原创 2010-06-15 22:00:00 · 29192 阅读 · 26 评论 -
Android高手进阶教程(十八)之---列出Android设备中所有启动的服务,及判断某个服务是否开启!
<br />大家好,好久不见,今天在开发中遇到的一个问题给大家分享一下,我先前做了一个音乐播放器,因为播放音乐一般都是用服务来处理的。<br />当用户点击播放按钮时,音乐在服务中播放,然后用用户退出程序(服务进程还在,音乐还继续),所以妥用户点再次进入应用时,我们播放器要处于播放状态,这里我作了简单的处理,判断这个音乐服务是否开启来完成的。<br />今天给大家的小例子是列出Android设备中所有启动的服务,及判断某个服务是否开启,具体步骤如下了:<br />第一步:新建一个Android工程,命名为R原创 2010-08-19 17:31:00 · 31449 阅读 · 36 评论 -
Android高手进阶教程(十九)之---Android开发中,使用线程应该注意的问题!
我们都知道Hanlder是线程与Activity通信的桥梁,我们在开发好多应用中会用到线程,有些人处理不当,会导致当程序结束时,线程并没有被销毁,而是一直在后台运行着,当我们重新启动应用时,又会重新启动一个线程,周而复始,你启动应用次数越多,开启的线程数就越多,你的机器就会变得越慢。原创 2010-08-24 11:52:00 · 41434 阅读 · 84 评论 -
Android高手进阶教程(二十)之---Android与JavaScript方法相互调用!
在Android中通过WebView控件,可以实现要加载的页面与Android方法相互调用,addJavascriptInterface为了让大家容易理解,我写了一个简单的Demo,具体步骤如下:第一步:新建一个Android工程,命名为WebViewDemo(这里我在assets里定义了一个html页面)。第二步:修改main.xml布局文件,增加了一个WebView控件还有Button控件,代码如下:原创 2010-08-31 15:15:00 · 35677 阅读 · 29 评论 -
Android高手进阶教程(二十一)之---Android中创建与几种解析xml的方法!
大家好今天我今天给大家讲解一下android中xml的创建以及一些解析xml的常用方法。首先是创建,我们用XmlSerializer这个类来创建一个xml文件,其次是解析xml文件,常用的有dom,sax,XmlPullParser等方法,由于sax代码有点复杂,本节只讲解一下dom与XmlPullParser解析,sax我将会在下一节单独讲解,至于几种解析xml的优缺点我就不再讲述了。为了方便理解,我做了一个简单的Demo。大家可以按照我的步骤一步步来:第一步:新建一个Android工程,命名为XmlDe原创 2010-09-17 14:33:00 · 21911 阅读 · 33 评论 -
Android高手进阶教程(二十二)之---Android中几种图像特效处理的集锦!!
大家好,这一节给大家分享的是Android中几种图像特效处理的小技巧,比如圆角,倒影,还有就是图片缩放,Drawable转化为Bitmap,Bitmap转化为Drawable等等.废话少说了,直接讲解今天的实例,本例主要是先获取壁纸(getWallpaper()),然后对当前壁纸的一些特效处理.大家按步骤一步一步来:第一步:新建一个Android工程命名为ImageDemo,工程结构如下:第二步:新建一个.java文件,命名为ImageUtil.java,在里面定义一些图片处理方法,代码如下:package原创 2010-11-02 13:25:00 · 40051 阅读 · 66 评论 -
Android高手进阶教程(二十三)之---Android中的日历读写操作!!!
大家好,好久没有更新blog了,今天给大家分享一下Android中一些自带日历的操作方法,这里主要用到了ContentProiver的知识.如果大家不明白ContentProvider建议先查一下资料,知道它是干什么的。这样更容易下面的例子.好了废话不说,这里提个醒,Android中的日历,只有真机才有,模拟上是没有的,所以测试环境一定要真机!!因为日历是系统自带的,所以我们读写它一定要申请权限,也就是在AndroidManifest.xml加如下两行代码(一个读一个写):Android中日历用了三个URL原创 2011-01-26 21:20:00 · 38986 阅读 · 34 评论 -
Android高手进阶教程(二十四)之---Android WebView的缓存!!!
各位读者大家好,最近比较忙好久没有写blog了,今天挤点时间和大家分享一下Android中WebView的缓存。我们在项目中也时常会用到WebView这个控件,当我们加载html时候,会在我们data/应用package下生成database与cache两个文件夹如下图如示:原创 2011-03-10 20:25:00 · 41166 阅读 · 44 评论 -
Android高手进阶教程(二十五)之---Android 中的AIDL!!!
大家好,好久不见,今天要给大家分享的是android aidl(跨进程通信)。在Android中, 每个应用程序都可以有自己的进程. 在写UI应用的时候, 经常要用到Service. 在不同的进程中, 怎样传递对象呢? 显然, Java中不允许跨进程内存共享. 因此传递对象, 只能把对象拆分成操作系统能理解的简单形式, 以达到跨界对象访问的目的. 在J2EE中,采用RMI的方式, 可以通过序列化传递对象. 在Android中, 则采用AIDL的方式. 理论上AIDL可以传递Bundle,实际上做起来却比较麻原创 2011-05-17 19:49:00 · 74478 阅读 · 100 评论 -
Android高手进阶教程(二十六)之---Android超仿Path菜单的实现!
Hi~大家好,出来创业快3个月了,一切还不错,前一段时间用了业余时间搞了个问答类网站YQMA(http://yqma.net).想做中国的stackoverflow,哈哈,只是YY下,希望大家多多支持!好了,今天给大家分享的是Path菜单的简单实现,可以支持自定义方向(左上,右上,右下,左下),并且可以自定义菜单的个数,难点就是菜单的摆放位置(动态设置margin),还有动画的实现,其实动画只是简原创 2012-06-08 15:11:19 · 24106 阅读 · 33 评论 -
Android高手进阶教程(二十七)之---基于ViewFlipper实现的自定义新手指引控件.
第一步:新建Android工程ViewFlipperDemo:第二步:新建AdverView.java代码如下:package com.tutor.viewflipper;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import a原创 2012-06-15 18:21:47 · 14185 阅读 · 8 评论 -
谈谈Android里的Context的使用!!!
大家好,今天给大家分享一下Android里的Context的一些用法,以前经常有人在群里问我比如我在一个工具类里的某个方法,或者View里需要调用Context.但是工具类还有View里没有这个上下文怎么办?为了解决大家的疑问,为了解决大家的疑问,我今天写一个简单的Demo.让大家如何学好自如的用Context.想什么时候有Context,什么时候就有Context.这里大致可以分为两种:一是传递原创 2012-09-27 18:34:09 · 53694 阅读 · 29 评论 -
Android高手进阶教程(二十八)之---Android ViewPager控件的使用(基于ViewPager的横向相册)!!!
大家好,相信大家用的ListView控件一定很多的,是竖向滑动的,复用convertView,我们可以加载成千上万的数据,但有时候我们会有这个需求比如相册,我们想横向滑动,并且数据有好多,这时候ViewPager控件就派上用场了,ViewPager使用时候我们需要导入第三方包android-support-v4.jar包,这是谷歌提供的,这个包里有Fragment ViewPager等控件,用户导原创 2012-09-14 18:10:47 · 46556 阅读 · 36 评论 -
Android高手进阶教程(十七)之---Android中Intent传递对象的两种方法(Serializable,Parcelable)!
大家好,好久不见,今天要给大家讲一下Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是Bundle.putParcelable(Key, Object);当然这些Object是有一定的条件的,前者是实现了Serializable接口,而后者是实现了Parcelable接口,为了让大家更容易理解我还是照常写了一个简单的Demo,大家就一步一步跟我来吧!第一步:新建一个Android工程命名为ObjectT原创 2010-07-16 22:13:00 · 116845 阅读 · 131 评论 -
Android 中的拿来主义(编译,反编译,AXMLPrinter2,smali,baksmali)!
一、前言:大家好,今天给大家分享一下Android中的拿来主义,我们时常会碰到一个自己觉得很漂亮很帅气的应用(apk),所以我们会尝试用WinRAR等之类工具查看,而一般的应用程序打包后的目录通常是这样的如下图:当然res里的图片是可以拿来就用的(笔者的好多应用的图片都是从别人的apk里扣出来的),而诸如layout里的布局及权限文件(AndroidManifest.xml)已经是一堆乱码了,完全看不懂,想看看别人是怎么布局的都不容易。还有源代码都被编译成了classes.dex,完全看不出原创 2010-07-09 22:23:00 · 101250 阅读 · 80 评论 -
Android高手进阶教程(二)之----Android Launcher抽屉类SlidingDrawer的使用!
最近在研究Lanucher,看了源码,发现了SlidingDrawer这个类,也就是所谓的"抽屉"类。它的用法很简单,要包括handle,和content. handle就是当你点击它的时候,content要么抽抽屉要么关抽屉。别的不多说了,具体步骤如下. 1.新建Android工程,命名为SlidingDrawer. 2.准备素材,在这里我原创 2010-04-14 22:21:00 · 30074 阅读 · 23 评论 -
Android高手进阶教程(三)之----Android 中自定义View的应用.
大家好我们今天的教程是在Android教程中自定义View的学习,对于初学着来说,他们习惯了Android传统的页面布局方式,如下代码: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" andro原创 2010-04-18 18:21:00 · 41393 阅读 · 45 评论 -
Android高手进阶教程(四)之----Android 中自定义属性(attr.xml,TypedArray)的使用!
今天我们的教程是根据前面一节扩展进行的,如果你没有看,请点击 Android高手进阶教程(三) 查看第三课,这样跟容易方便你的理解! 在xml文件里定义控件的属性,我们已经习惯了android:attrs="",那么我们能不能定义自己的属性能,比如:test:attrs=""呢?答案是肯定的. 好了我就不卖关子了,直接进入主题。大致以下步骤: 一、在原创 2010-04-20 21:59:00 · 69146 阅读 · 73 评论 -
Android高手进阶教程(五)之----Android 中LayoutInflater的使用!
大家好我们这一节讲的是LayoutInflater的使用,在实际开发种LayoutInflater这个类还是非常有用的,它的作用类似于findViewById(), 不同点是LayoutInflater是用来找layout下xml布局文件,并且实例化!而findViewById()是找具体xml下的具体widget控件(如:Button,TextView等)。 为了让大家容原创 2010-04-21 23:37:00 · 25971 阅读 · 42 评论 -
Android高手进阶教程(六)之----Android 中MenuInflater的使用(布局定义菜单)!
大家好,我们上一节讲的是LayoutInflater的 使用,而这一节我将讲一下MenuInflater,顾名思义,LayoutInflater是用来解析定义在layout下的布局文件,那么MenuInflater是不是用来解析定义在menu目录下的菜单布局文件呢? 恭喜你答对了!(*^__^*) 嘻嘻…… 我们传统意义上 的定义菜单感觉比较繁琐,当我们使用Menu原创 2010-04-23 23:42:00 · 25117 阅读 · 22 评论 -
Android高手进阶教程(七)之----Android 中Preferences的使用!
大家好,我们这一节讲的是Android Preferences 的学习,Preferences 在Android当中被用来记录应用,以及用户喜好等等,它可以用来保存简单的数据类型,如Int,Double,Boolean等。Preferences中保存的数据可以理解为Map型。我们通过PreferenceManager以及getDefaultSharedPreferences(Conte原创 2010-04-26 22:49:00 · 36787 阅读 · 17 评论 -
Android高手进阶教程(八)之----Android Widget开发案例(世界杯倒计时!)
今天我们要写一下Android Widget的开发,由于快点凌晨,我就不说的太具体了,同志们就模仿吧!首先看一下效果图: 下面是Demo的详细步骤: 一、新建一个Android工程命名为:WidgetDemo. 二、准备素材,一个是Widget的图标,一个是Widget的背景。存放目录如下图: 三、修改string.xml文件如下:原创 2010-04-29 23:48:00 · 25998 阅读 · 35 评论 -
Android高手进阶教程(十五)之---通过Location获取Address的使用!
大家好,上一节我讲了一下如何通过LocationManager来获取Location,没有看过上一节的同学,可以点击如下链接返回查看:Android高手进阶教程十四之---Android Location的使用!我们获取Location的目的之一肯定是有获取这个位置的详细地址,而我们有了Location在来获取Address就相对简单多了,因为GoogleApi已经封装好了方法,我们只需呀通过Location获取GeoPoint,然后在通过GeoPoint来获取我们想要的Address.下面是我做的一个简单原创 2010-06-24 20:58:00 · 35135 阅读 · 73 评论 -
Android高手进阶教程(十六)之---Android中万能的BaseAdapter(Spinner,ListView,GridView)的使用!
大家好!今天给大家讲解一下BaseAdapter(基础适配器)的用法,适配器的作用主要是用来给诸如(Spinner,ListView,GridView)来填充数据的。但是(Spinner,ListView,GridView)都有自己的适配器。但是BaseAdapter对他们来说却是通用的,为什么这么说呢,首先我们看一下API文档:我们看一下BaseAdapter已经实现了ListAdapter和SpinnerAdapter的接口,而GridView的适配器是实现了ListAdapter接口,只不过是二维的。原创 2010-07-01 21:15:00 · 41524 阅读 · 75 评论 -
Android高手进阶教程(九)之----Android Handler的使用!!!
大家好我们这一节讲的是Android Handler的使用,在讲Handler之前,我们先提个小问题,就是如何让程序5秒钟更新一下Title. 首先我们看一下习惯了Java编程的人,在不知道Handler的用法之前是怎么样写的程序,代码如下所示: package com.android.tutor;import java.util.Timer;import java.uti原创 2010-05-08 02:25:00 · 44052 阅读 · 36 评论 -
Android高手进阶教程(十)之----Android PopupWindow的使用!!!
大家好,我们这一节讲的是Android PopupWindow的使用! 在我理解其实PopupWindow其实类似于一个不能动的Widget(仅从显示效果来说!) 它是浮在别的窗口之上的. 下面我将给大家做一个简单的Demo,类似于音乐播放器的Widget的效果,点击Button的时候出来PopupWindow,首先我们看一下效果图: 下面是核心原创 2010-05-10 22:10:00 · 72340 阅读 · 141 评论 -
Android高手进阶教程(十一)之----Android 通用获取Ip的方法(判断手机是否联网的方法)!!!
大家好,我们这一节讲一下,Android获取Ip的一些方法,在我们开发中,有判断手机是否联网,或者想获得当前手机的Ip地址,当然WIFI连接的和我们3G卡的Ip地址当然是不一样的. 首先我尝试了如下方法: WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);WifiInfo wifiI原创 2010-05-10 22:14:00 · 42765 阅读 · 39 评论 -
Android高手进阶教程(十二)之----Android 在一个应用中如何启动另外一个已安装的应用!!!
今天晚上Jimmy问了我一个问题,就是如何在一个应用中 通过某个事件,而去启动另外一个已安装的应用。所以愿意和大家分享一下!而为了能让大家更加容易的理解,我写了一个简单的Demo,我们的程序有俩个按钮,其中一个点击会启动我自己写的应用(一个3D应用为例),而另外一个按钮会启动系统自带的应用(如,日历,闹钟,计算器等等).这里我一日历为例子! 首先看一下我们的效果图(点击第一个按钮为例)原创 2010-05-16 01:06:00 · 24657 阅读 · 40 评论 -
解决Android解析图片的OOM问题!!!
大家好,今天给大家分享的是解决解析图片的出现oom的问题,我们可以用BitmapFactory这里的各种Decode方法,如果图片很小的话,不会出现oom,但是当图片很大的时候就要用BitmapFactory.Options这个东东了,Options里主要有两个参数比较重要.options.inJustDecodeBounds = false/true;//图片压缩比例.options.inS原创 2012-10-22 18:12:49 · 56011 阅读 · 45 评论