随笔分类 -  Android

摘要:在开发中,我们经常使用到ListView这个控件。Android的API也提供了许多创建ListView适配器的快捷方式。例如ArrayAdapter、SimpleAdapter和SimpleCursorAdapter等。但你是否发现,如果采用这些系统自带的适配器,对于事件的响应只能局限在一个行单位。假设一行里面有一个按钮和一个图片控件,它们之间的响应操作是不一样的。若采用系统自带的适配器,就不能精确到每个控件的响应事件。这时,我们一般采取自定义适配器来实现这个比较精确地请求。ListView的创建,一般要具备两大元素:1)数据集,即要映射的字符串、图片信息之类。2)适配器,实现把要映射的字符 阅读全文
posted @ 2012-08-15 22:51 water0504 阅读(276) 评论(0) 推荐(0)
摘要:很多网友发现自己Android程序的标题栏TitleBar区域很单调,如果想个性化一些可以通过下面的方法来为自己软件的标题定制一个layout布局文件,比如浏览器的标题栏,它包含了网站的Favicon,自定义的进度条,和不确定的进度指示等等,实现的方法自己控制吧。下面代码在onCreate 中使用,同时顺序不要改变,否则将无法生效:requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main); //软件activity的布局getWindow().setFeatureInt(Window... 阅读全文
posted @ 2012-08-10 22:45 water0504 阅读(376) 评论(0) 推荐(0)
摘要:在开发手机应用时,除了对API的掌握外,更重要的还是画面。对于画面,屏幕分辨率又是很重要的一个因素。 由于手机屏幕尺寸各不相同,在画面布局时就需要考虑这个问题。Android可以设置为随着窗口大小调整缩放比例,但即便如此,手机程序设计人员还是必须知道手机屏幕边界,以免布局变形。下面我们就讲一下,如何通过代码获取手机屏幕的分辨率,代码其实很简单,关键是android.util.DisplayMetrics这个类。该类记录了一些常用信息,如显示信息、大小、维度、字体等等。代码:@Override public void onCreate(Bundle savedInstanceState) {.. 阅读全文
posted @ 2012-08-09 22:49 water0504 阅读(317) 评论(0) 推荐(0)
摘要:ExpandableListView是android中可以实现下拉list的一个控件,是一个垂直滚动的心事两个级别列表项手风琴试图,列表项是来自ExpandableListViewaAdapter,组可以单独展开。重要方法:expandGroup (int groupPos) ;//在分组列表视图中 展开一组,setSelectedGroup (int groupPosition) ;//设置选择指定的组。setSelectedChild (int groupPosition, int childPosition, boolean shouldExpandGroup);//设置选择指定的子项。 阅读全文
posted @ 2012-08-09 22:43 water0504 阅读(672) 评论(0) 推荐(0)
摘要:ExpandableListView是android中可以实现下拉list的一个控件,具体的实现方法如下:首先:在layout的xml文件中定义一个ExpandableListView< LinearLayout android:id ="@+id/linearLayout" android:layout_width ="fill_parent" android:layout_height ="fill_parent" androidrientation ="vertical" > < Exp.. 阅读全文
posted @ 2012-08-09 22:39 water0504 阅读(249) 评论(0) 推荐(0)
摘要:假设:我这里有两个Activity:A和B,从A中向B中传递数据的时候采用的是Bundle封装数据,然后从A中跳转到B中,当B有需求将数据封装起来回传给A并跳转回A。那么A中接收数据时还要先判断Bundle是否为空,因为第一次访问A的时候(即B还没有回传的时候),Bundle是为空的,这样显然是比较麻烦的,不明智的做法。还好startActivityForResult来做跳转给了我们更好的解决办法。1.跳转的时候不是采用startActivity(intent) 这个方法,而是startActivityForResult(intent, 0)。 Intent intent=new Intent 阅读全文
posted @ 2012-08-09 22:35 water0504 阅读(623) 评论(0) 推荐(0)
摘要:在Android中startActivityForResult主要作用就是:A-Activity需要在B-Activtiy中执行一些数据操作,而B-Activity又要将,执行操作数据的结果返回给A-Activtiy//看效果//看代码package sn.len.actres;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import andr 阅读全文
posted @ 2012-08-09 22:31 water0504 阅读(213) 评论(1) 推荐(0)
摘要:android开发中经常会在setContentView(R.layout.XXX); 前设置requestWindowFeature(XXXX)。他的意思是需要软件全屏显示、自定义标题(使用按钮等控件)和其他的需求首先介绍一个重要方法那就是requestWindowFeature(featrueId),它的功能是启用窗体的扩展特性。参数是Window类中定义的常量。一、枚举常量1.DEFAULT_FEATURES:系统默认状态,一般不需要指定2.FEATURE_CONTEXT_MENU:启用ContextMenu,默认该项已启用,一般无需指定3.FEATURE_CUSTOM_TITLE:自定 阅读全文
posted @ 2012-08-07 10:39 water0504 阅读(426) 评论(0) 推荐(0)
摘要:从网上找了一圈 大致有两种方法方法一:XML代码<TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:orientation="vertical" 阅读全文
posted @ 2012-08-07 10:28 water0504 阅读(208) 评论(0) 推荐(0)
摘要:在手机屏幕中,Tab也是比较常用的,通常和List结合,例如我们手机的通信录。下面是Tag的结构。TabHost是整个Tab的容器,包括两部分,TabWidget和FrameLayout。TabWidget就是每个tab的标签,FrameLayout则是tab内容。如果我们使用extends TabAcitivty,如同ListActivity,TabHost必须设置为@android:id/tabhostTabWidget必须设置android:id为@android:id/tabsFrameLayout需要设置android:id为@android:id/tabcontent例子一:基本的 阅读全文
posted @ 2012-08-07 10:21 water0504 阅读(208) 评论(0) 推荐(0)
摘要:import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.text.ParseException;import java.text.SimpleDateFormat; 阅读全文
posted @ 2012-08-06 22:47 water0504 阅读(1441) 评论(0) 推荐(1)
摘要:android中获取屏幕的长于宽测试代码:// 获取屏幕密度(方法1) int screenWidth = getWindowManager().getDefaultDisplay().getWidth(); // 屏幕宽(像素,如:480px) int screenHeight = getWindowManager().getDefaultDisplay().getHeight(); // 屏幕高(像素,如:800p) Log.e(TAG + " getDefaultDisplay", "screenWidth=" + screenWidth + &q 阅读全文
posted @ 2012-08-06 22:40 water0504 阅读(207) 评论(0) 推荐(0)
摘要:px :是屏幕的像素点in :英寸mm :毫米pt :磅,1/72 英寸dp :一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1pxdip :等同于dpsp :同dp相似,但还会根据用户的字体大小偏好来缩放。建议使用sp作为文本的单位,其它用dipdip和px 的关系:QVGA: density=0.75; densityDpi=120; QVGA(240*320)HVGA: density=1.0; densityDpi=160; HVGA(320*480)VGA: density=1.0; densityDpi=160; V... 阅读全文
posted @ 2012-08-06 22:36 water0504 阅读(293) 评论(0) 推荐(0)
摘要:一.介绍ImageView用来显示任意图像图片,可以自己定义显示尺寸,显示颜色等等.二.XML属性android:adjustViewBounds 是否保持宽高比。需要与maxWidth、MaxHeight一起使用,单独使用没有效果。android:cropToPadding 是否截取指定区域用空白代替。单独设置无效果,需要与scrollY一起使用android:maxHeight 定义View的最大高度,需要与AdjustViewBounds一起使用,单独使用没有效果。如果想设置图片固定大小,又想保持图片宽高比,需要如下设置:1) 设置AdjustViewBounds为true;2) 设置m 阅读全文
posted @ 2012-08-05 18:30 water0504 阅读(211) 评论(0) 推荐(0)
摘要:部分源码如下:dialog= ProgressDialog.show(this,"","加载数据,请稍等 …",true,true); //图片资源 String url = "http://www.kzwlg.com.cn:1080/Wlg_server2/"+bundle.getString("pic"); //得到可用的图片 getHttpBitmap(url);/** * 对图片进行大小缩放 * @param bm * @param newWidth * @para... 阅读全文
posted @ 2012-08-05 18:07 water0504 阅读(283) 评论(0) 推荐(0)
摘要:在我们平时做开发的过程中,总是会有布局要考虑,不光是大布局,像LinearLayout这样,小的如文字在View中的布局也影响到整体的美观,所以,在开发中要多多留意这些细节部分的布局,在Android中,文字居中很多人都不知道在哪里。包括很多Web开发人员也是,总以为是一个叫align的属性。我也不例外,不过借助百度搜索,我找到了解决方案,就把它存起来吧。以后可能又会忘记的。页面布局是LinearLayout里包一个TextView控件1.方法一:TextView设置android:gravity=”center”,同时TextView设置android:layout_width=”fill_ 阅读全文
posted @ 2012-08-05 18:01 water0504 阅读(11928) 评论(0) 推荐(1)
摘要:在android中有时候我们不需要用到本机的SQLite数据库提供数据,更多的时候是从网络上获取数据,那么Android怎么从服务器端获取数据呢?有很多种,归纳起来有一:基于Http协议获取数据方法。二:基于SAOP协议获取数据方法,三:忘了-------那么我们的这篇文章主要是将关于使用Http协议获取服务器端数据,这里我们采取的服务器端技术为java,框架为Struts2,或者可以有Servlet,又或者可直接从JSP页面中获取数据。那么,接下来我们便开始这一路程:首先:编写服务器端方法,我这里采用的MVC框架是Struts2,目的很单纯,就是为了以后做个完整的商业项目,技术配备为:and 阅读全文
posted @ 2012-08-05 17:59 water0504 阅读(235) 评论(0) 推荐(0)
摘要:什么是JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成,非常适合于服务器与客户端的交互。JSON采用与编程语言无关的文本格式,但是也使用了类C语言的习惯,这些特性使JSON成为理想的数据交换格式。和 XML 一样,JSON 也是基于纯文本的数据格式。由于 JSON 天生是为 JavaScript 准备的,因此,JSON 的数据格式非常简单,您可以用 JSON 传输一个简单的 String,Number,Boolean,也可以传输一个数组,或者一个复杂的 Object 对象。Json_lib可以方便的将 阅读全文
posted @ 2012-08-05 10:00 water0504 阅读(318) 评论(0) 推荐(0)
摘要:我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等方式,重写我们自己的对话框。当然,这也是不失为一个不错的解决方式,但是一般的情况却是这样,我们重写的对话框,也许只在一个特定的地方会用到,为了这一次的使用,而去创建一个新类,往往有点杀鸡用牛刀的感觉,甚至会对我们的程序增加不必要的复杂性,对于这种情形的对话框有没有更优雅的解决方案呢? 幸运的是,android提供了这种问题的解决方案,刚开始接触android的时候,我在做一个自定义对话框的时候,. 阅读全文
posted @ 2012-08-02 23:35 water0504 阅读(384) 评论(0) 推荐(0)
摘要:XMPP协议简介XMPP协议(Extensible Messaging and PresenceProtocol,可扩展消息处理现场协议)是一种基于XML的协议,目的是为了解决及时通信标准而提出来的,最早是在Jabber上实现的。它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。并且XML很易穿过防火墙,所以用XMPP构建的应用不易受到防火墙的阻碍。利用XMPP作为通用的传输机制,不同组织内的不同应用都可以进行有效的通信。这篇文章有基本的介绍,http://blog.csdn.net/xutaozero21/article/details/4873439IMIns 阅读全文
posted @ 2012-08-02 23:34 water0504 阅读(354) 评论(0) 推荐(0)