android应用开发基础
文章平均质量分 87
分类介绍android应用开发中用到的各种知识,从简单到深度,,碰到任何问题直接查阅即可解决。讲解通俗易懂,让读者掌握原理。
码农破圈
这个作者很懒,什么都没留下…
展开
-
android二级listview列表
今天来实现以下大众点评客户端的横向listview二级列表,先看一下样式。 这种横向的listview二级列表在手机软件上还不太常见,但是使用过平板的都应该知道,在平板上市比较常见的。可能是因为平板屏幕比较大,而且也能展现更多的内容。 下面来看一下我的实现步骤。 首先自定义一个listview,代码如下:public class MyListView extends ListVie原创 2012-12-28 11:33:23 · 36358 阅读 · 32 评论 -
android书架效果
以前也模仿者ireader实现了书架的效果,但是那种是使用listview实现的,并不好用。绝大多数都是用gridview实现的,网上这方面资料比较少,有些开源的电子书都是重点做了阅读,并没有像ireader和QQ阅读这样的书架效果。 书架这种效果我早就实现了,本来想做一个完美的电子书,但是因为自己的懒惰,仅仅持续了一两天,今天又找到了以前的代码分享出来,希望大家能一起实现一个原创 2012-09-04 23:01:16 · 17291 阅读 · 9 评论 -
android消息推送
1.引言 所谓的消息推送就是从服务器端向移动终端发送连接,传输一定的信息。比如一些新闻客户端,每隔一段时间收到一条或者多条通知,这就是从服务器端传来的推送消息;还比如常用的一些IM软件如微信、GTalk等,都具有服务器推送功能。 推送方法如下: 1)通过SMS进行服务器端和客户端的交流通信。 在Android平台上,你可以通过拦截SMS消息并且解析消息内容来了解服务器的意图,可以实现完全的原创 2012-08-09 20:10:49 · 39622 阅读 · 21 评论 -
android自定义listview实现圆角
在项目中我们会经常遇到这种圆角效果,因为直角的看起来确实不那么雅观,可能大家会想到用图片实现,试想上中下要分别做三张图片,这样既会是自己的项目增大也会增加内存使用量,所以使用shape来实现不失为一种更好的实现方式。在这里先看一下shape的使用: <shape xmlns:android="http://schemas.android.com/apk/res/android"原创 2012-07-14 10:56:39 · 31596 阅读 · 22 评论 -
android网易顶部导航栏demo
随着时间的推移现在的软件要求显示的内容越来越多,所以要在小的屏幕上能够更好的显示更多的内容,首先我们会想到底部菜单栏,但是有时候想网易新闻要显示的内容太多,而且又想在主页面全部显示出来,所以有加了顶部导航栏,但是android这样的移动设备内存是受限的,那么多界面缓存到内存中,很容易导致内存溢出,这个是比较致命的,所以不得不考虑。虽然我在之前也做过网易的顶部导航栏但是哪种方式并不好,就像使用vie原创 2012-07-13 20:28:46 · 34525 阅读 · 11 评论 -
android底部菜单栏demo
上一个项目已经做完了,这周基本上没事,所以整理了下以前的项目,想把一些通用的部分封装起来,这样以后遇到相似的项目就不用重复发明轮子了,也节省了开发效率。今天把demo贴出来一是方便以后自己查询,二是希望同时也能帮到大家。 底部菜单栏很重要,我看了一下很多应用软件都是用了底部菜单栏做。我这里使用了tabhost做了一种通用的(就是可以像微信那样显示未读消息数量的,虽然之前也做过但原创 2012-07-13 19:47:51 · 49475 阅读 · 23 评论 -
android 9PNG图片制作
在android开发的过程中我们经常因为没有好的美工图片失真,这样使界面看起来要逊色很多,有的时候可能我们会想在drawable-hdpi,ldpi,mdpi下放不同分辨率的图片,这样虽然可以有效避免图片失真,但是这样一是麻烦而是图片资源似的整个项目太大。所以有时候我们想要是有些图片可以拉伸而不失真多好啊,这时候我们就要想起android为我们提供的9.png格式的图片了,9.png格式的图片是安原创 2012-07-09 20:16:44 · 11798 阅读 · 4 评论 -
android 大图片拖拽缩放
由于最近项目忙,博客一直没有时间更新,今天有点时间就连续更新两篇吧,过过瘾。 这篇图片拖拽缩放也是我在项目中用到的,今天整理一下,将源码奉献给大家,希望对大家以后碰到相似的问题有帮助。 这篇就不做过多介绍了,直接上源码: public class SpacePageActivity extends Activity { privat原创 2012-06-09 19:19:47 · 9430 阅读 · 7 评论 -
android之图片异步加载并缓存到本地
在android项目中访问网络图片是非常普遍性的事情,如果我们每次请求都要访问网络来获取图片,会非常耗费流量,而且图片占用内存空间也比较大,图片过多且不释放的话很容易造成内存溢出。针对上面遇到的两个问题,首先耗费流量我们可以将图片第一次加载上面缓存到本地,以后如果本地有就直接从本地加载。图片过多造成内存溢出,这个是最不容易解决的,要想一些好的缓存策略,比如大图片使用LRU缓存策略或懒加载缓存策略。原创 2012-06-09 18:23:04 · 23712 阅读 · 17 评论 -
使用ViewPager实现左右循环滑动
前面一篇文章实现了使用ViewPager实现高仿launcher拖动效果 ,后来很多朋友问能不能实现左右循环滑动效果和引导页面。今天实现了左右滑动,至于在最后一页滑动跳转,这个也做了但是效果不是太好,也希望有实现的朋友能够分享下。在最后一页添加一张图片单击跳转,这个认为很简单大家自己添加个图片,点击后跳转就OK。 这篇是在实现了使用ViewPager实现高仿launcher原创 2012-04-25 22:39:04 · 38285 阅读 · 24 评论 -
关于googlemap程序key的正式版和debug版申请
这两天一直纠结这个问题,因为网上给的都是debug版本的,不知道为什么我debug版本的打包成APK以后,地图就出不来为此也很是纠结很是不解。没办法最后看了官网的文档才知道,原来测试使用debug版本,正式发布的话还要另外申请一个正式版的。今天试了下终于把这个小问题搞定,发出来供大家参考,希望大家也能少走弯路。 正式版的发布其实和debug版本的是相同的。官方给出的命令行下:原创 2012-04-23 13:47:29 · 5765 阅读 · 6 评论 -
Android仿微信底部菜单
今天终于把公司的界面原型做完了,哈哈,提前完成正好趁现在有时间更新下最近学到的一些特殊效果。其中这个仿微信的底部菜单,真的要感谢家辉兄弟,我才得以解决。首先看一下实现后效果。 就下面的那个底部栏,下面看一下实现代码吧! 首先是布局main.xml:<TabHost android:id="@android:id/tabhost" android:layo原创 2012-04-19 15:32:08 · 24037 阅读 · 19 评论 -
仿新浪微博的ListView下拉更新功能
由于最近做的项目中也用到了这个功能,今天刚好实现了下,就趁现在有时间写篇博客分享下。在做的时候也参考了下别人的代码,毕竟站在巨人的肩膀上才会是自己更加强大。哈哈!先看看新浪的下拉更新是什么样的吧! OK,今天我们要实现的就是上面的下拉刷新功能。 首先实现下拉刷新的布局文件 layout/head.xml<LinearLayout原创 2012-04-15 20:41:27 · 18984 阅读 · 18 评论 -
android之Listview的分组实现
对于Listview的分组我们再熟悉不过了,因为Android自带的通讯录中的联系人信息就是使用的ListView分组,最近项目中用到了这个功能。所以趁着周末有时间,也更新下一篇这样的博客,希望对大家能够有帮助。 其实对于分组的ListView和我们平时用的ListView没有多大差别,就是需要在适配器中的getView方法中做下判断。只要理解了这个,下面就好说了,下面我们看下实现原创 2012-04-14 11:06:25 · 47303 阅读 · 13 评论 -
高仿iReader书架效果
阅读过电子书的朋友相信对iReader都是比较熟悉的,iReader的书架做的非常漂亮,以前总以为是使用了2D画图做的呢,今天反编译了一下才明白原来是用图片拼接起来的,这样就OK了,今天我就带大家实现一个iReader书架。 首先看一下layout下main.xml布局:<LinearLayout xmlns:android="http://schemas.andro原创 2012-04-06 15:15:14 · 14258 阅读 · 23 评论 -
高仿网易新闻顶部滑动条效果
这个是网易新闻的主界面,我们知道底部可以用tabhost实现,这个很容易,我们在其他软件中也会经常用到。 至于顶部的滑动条,个人感觉还是比较漂亮的所以今天也模仿了下,网易顶部滑动条的效果,由于初次模仿这种效果,可能有些地方还不够完美,不过基本已经实现,希望大家能够喜欢。 废话不多说,下面上代码: 首先是布局layout下的main.xml原创 2012-03-29 11:25:32 · 18754 阅读 · 14 评论 -
使用ViewPager实现高仿launcher拖动效果
前面一篇高仿launcher和墨迹左右拖动效果获得了很多朋友的好评,上一篇文章 主要是通过自定义ViewGroup实现的,有点麻烦。今天用ViewPager 这个类实现了同样的效果,这样代码更少,但是效果是一样的。ViewPager是实现左右两个屏幕平滑地切换的一个类,它是Google提供的。 使用ViewPager首先需要引入android-support-v4.jar这个jar原创 2012-03-23 17:44:04 · 23874 阅读 · 73 评论 -
高仿launcher和墨迹左右拖动效果
半个月前就有这样的想法,做出一个模仿launcher的效果。自己也曾从网上搜过很多资料,也思考过怎么实现,最终还是参考了别人的资料实现了此效果,也解决了我这半个多月的冥思苦想,再次感谢,今天把代码贴出来供大家学习,因为这方面做得比较好的资料缺失比较少(因为本人搜了很多资料都不能达到效果),如果大家觉得还不错,请顶起。 首先自定义一个 ViewGro原创 2012-03-20 15:41:53 · 18139 阅读 · 120 评论 -
android弹出窗口的实现(PopupWindow)
最近看到新浪微博顶部栏的微博分组效果很炫,从网上查了一些资料明白原来是用PopupWindow实现的,今天自己也写了一个例子实现了这种效果,希望对大家有帮助。 PopupWindow就是弹出窗口的意思,类似windows下面的开始按钮。PopupWindow可以实现浮层效果,而且可以自定义显示位置,出现和退出时的动画. 首先定义新浪微博的顶部栏,tit原创 2012-03-19 11:51:03 · 70342 阅读 · 26 评论 -
android之App Widget开发实例
前面一节已经实现了一个简单的App Widget,这里将通过一个实例继续深入学习App Widget。 首先继续了解下App Widget框架的主要的类: AppWidgetProvider:继承自BroadcastReceiver,在App Widget应用update,enable,disable和deleted时接受通知。其中onUpdate,onReceiv原创 2012-03-16 22:02:33 · 20550 阅读 · 5 评论 -
activity切换动画效果
前几天下载了一个软件,activity之间跳转是用的淡出动画效果,今天有时间自己也从网上查了一下资料,实现了一下。 下面通过一个例子来学习下。 首先在res/anim 下 声明两个动画效果 fade.xml<alpha xmlns:android="http://schemas.android.com/apk/res/andr原创 2012-03-16 11:42:57 · 30581 阅读 · 3 评论 -
超炫button按钮动画效果
今天从网上看到一个这样的效果,感觉很有创意,自己也搜集了一些资料,仿照着实现了一下。 下面就直接上源码: 首先看一下布局文件:<RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.andr原创 2012-03-15 17:10:10 · 33906 阅读 · 88 评论 -
android之App Widgets开发初步
AppWidget就是我们平常在桌面上见到的那种一个个的小窗口,利用这个小窗口可以给用户提供一些方便快捷的操作。下面让我们在桌面 上实现一个简单的AppWidget。 首先定义AppWidgetProviderInfo:在res/xml文件夹中定义一个名为 :myappwidgetprovider.xml。<appwidget-provider xmlns:androi原创 2012-03-13 16:18:39 · 6030 阅读 · 2 评论 -
android之wifi开发(一)
WIFI就是一种无线联网技术,常见的是使用无线路由器。那么在这个无线路由器的信号覆盖的范围内都可以采用WIFI连接的方式进行联网。如果无线路由器连接了一个ADSL线路或其他的联网线路,则又被称为“热点”。在Android中对Wifi操作,android本身提供了一些有用的包,在android.net.wifi包下面。主要包括以下几个类和接口:1.ScanResult 主要用来描述原创 2012-03-10 14:54:17 · 111315 阅读 · 57 评论 -
Android 监控网络状态
public static boolean isNetworkAvailable(Context context) { ConnectivityManager connectivity = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivity == null原创 2012-03-08 16:16:49 · 16184 阅读 · 2 评论 -
使用PULL解析XML文件
XmlPull和Sax类似,是基于流(stream)操作文件,然后根据节点事件回调开发者编写的处理程序。因为是基于流的处理,因此Xmlpull和 Sax都比较节约内存资源,不会象Dom那样要把所有节点以对橡树的形式展现在内存中。 但Xmlpull比Sax更简明,而且不需要扫描完整个流。 下面来看一个pull解析xml的例子: student.xml:原创 2012-03-02 17:56:02 · 14717 阅读 · 2 评论 -
使用SAX解析XML文件
SAX是Simple API for XML的缩写,它并不是由W3C官方所提出的标准,虽然如此,使用SAX的还是不少,几乎所有的XML解析器都会支持它。 与DOM比较而言,SAX是一种轻量型的方法。我们知道,在处理DOM的时候,我们需要读入整个的XML文档,然后在内存中创建DOM树,生成DOM树上的每个Node对象。当文档比较小的时候,这不会造成什么问题,但是一旦文档大起来,处理DOM原创 2012-02-29 10:55:35 · 31355 阅读 · 5 评论 -
android之View和SurfaceView
首先介绍一下View类,View类是android的一个超类,每一个View都有一个用于绘画的画布,这个画布可以进行任意的扩展。有的时候我们需要自定义VIew实现自己想要的视图。view、SurfaceView是游戏开发中经常用到的视图。 View:显示视图,内置画布,提供图形绘制函数、触屏事件、按键事件函数等;必须在UI主线程内更新画面,速度较慢。 Surfac原创 2012-02-23 23:22:13 · 13314 阅读 · 3 评论 -
android开发AIDL实例
由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象。在Android平台,一个进程通常不能访问另一个进程的内存空间。但是android提供了AIDL可以用来进程间数据传递。 AIDL (Android Interface Definition Language) 是一种IDL 语言,用于生成可以在Android设备原创 2012-02-20 23:29:57 · 13445 阅读 · 3 评论 -
android中listview分页加载数据
前段时间做的新浪微博项目一直想实现listview分页加载数据,今天终于实现了,哈哈!感觉挺好的,今天又写了个demo给大家分享下。 首先说下listview的优化方案,这也是面试中常考的题目。优化方案有三种:1,如果自定义适配器,那么在getView方法中判断contentView是否为空,如果为空创建contentView并返回,如果不为空直接返回contentV原创 2012-02-12 15:08:01 · 27397 阅读 · 9 评论 -
android语音识别技术
今天从网上找了个例子实现了语音识别,个人感觉挺好玩的,就把代码贴出来与大家分享下: Android中主要通过RecognizerIntent来实现语音识别,其实代码比较简单,但是如果找不到设置,就会抛出异常ActivityNotFoundException,所以我们需要捕捉这个异常。而且语音识别在模拟器上是无法测试的,因为语音识别是访问google云端数据,所以如果手机的网络没原创 2012-02-11 23:35:26 · 59020 阅读 · 17 评论 -
使用http协议获取网络图片
http用于传输WWW方式的数据。http协议采用了请求响应的模型。在android中提供了HttpURLConnection和HttpClient接口开发HTTP程序。下面分别使用这两种方式获取网络图片。 1.HttpURLConnection 代码如下: public class HttpURLConnectionActivity exte原创 2012-02-11 17:23:28 · 14187 阅读 · 1 评论 -
android定位和地图开发实例
在android开发中地图和定位是很多软件不可或缺的内容,这些特色功能也给人们带来了很多方便。 首先介绍一下地图包中的主要类: MapController : 主要控制地图移动,伸缩,以某个GPS坐标为中心,控制MapView中的view组件,管理Overlay,提供View的基本功能。使用多种地图模式(地图模式(某些城市可实时对交通状况进原创 2012-02-09 10:11:49 · 32052 阅读 · 39 评论 -
android抽屉实现
今天在手机上实现了抽屉效果,其实很简单,但是效果却很酷。 首先在layout 下设置xml布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" andro原创 2012-02-02 17:48:24 · 15053 阅读 · 9 评论 -
android自定义控件实例
很多时候android常用的控件不能满足我们的需求,那么我们就需要自定义一个控件了。今天做了一个自定义控件的实例,来分享下。 首先定义一个layout实现按钮内部布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:la原创 2011-12-23 11:20:56 · 18497 阅读 · 5 评论 -
扩展的ListView实例
今天从网上看了个扩展的listView的例子,感觉还蛮炫,自己也试着做了下。 由于比较简单,所有就直接上代码: public class ExtendedListView extends ExpandableListActivity { @Override protected void onCreate(Bundle savedInstanceS原创 2011-12-22 16:15:25 · 8302 阅读 · 5 评论 -
Android之Button自定义点击效果
我们在界面上经常会用到button按钮,但通常button点击后看不到点击的效果,如果用户连续点击了两次,就会报NAR错误,这样交互性就比较差了。如果我们自定义了button点击效果,比如我们点击了button能让我们看到我们确实点击了button按钮,这样就会有效的避免重复点击了。 自定义点击效果有两种方式,一种是在xml中定义,另一种是在代码中定义。原创 2011-12-12 20:45:25 · 84917 阅读 · 10 评论 -
android之Notification实现
在我们的相应程序运行的时候为了不打断当前程序的运行,我们经常会使用Notification来告知用户有新来电或新的短信。 下面先介绍一下toast的简单提醒: private void baseToast(){ Toast.makeText(getApplicationContext(), "Hello toast!", Toast.LENGT原创 2011-12-10 22:53:03 · 3377 阅读 · 0 评论 -
Android适配器Adapter学习
在开发中我们需要绑定一些数据展现到桌面上,这是就需要AdapterView。AdapterView是ViewGroup的子类,它决定了怎么展现视图通过Adapter来绑定特殊的数据类型。 AdapterView是非常有帮助的当你展现数据在你的布局中。Gallery,ListView和Spinner是AdapterView的子类。 下面看一下AdapterView的结构图:原创 2011-12-04 19:32:20 · 7142 阅读 · 0 评论 -
activity之间参数传递
这一节介绍一下activity之间参数传递。我们知道用intent可以实现activity之间相互跳转,在跳转的同时我们不免也需要传递一些参数,下面就介绍一下如何在一个activity里传递参数,在另一个activity里接受参数。 activity之间有两种参数传递形式:一种是一个activity启动另一个activity的时候传递数据到另一个activity,然后在ac原创 2011-12-02 15:00:08 · 21761 阅读 · 1 评论