07 2012 档案
Android Dialog自定义
摘要:2011-9-17 16:56:03 上传下载附件 (42.45 KB) 1 import android.app.Activity; 2 import android.app.AlertDialog; 3 import android.app.Dialog; 4 import android.content.DialogInterface; 5 import android.os.Bundle; 6 import android.view.KeyEvent; 7 import android.view.LayoutInflater; 8 import android.view.Menu; 9
阅读全文
infate
摘要:通俗的说,inflate就相当于将一个xml中定义的布局找出来. 因为在一个Activity里如果直接用findViewById()的话,对应的是setConentView()的那个layout里的组件. 因此如果你的Activity里如果用到别的layout,比如对话框上的layout,你还要设置对话框上的layout里的组件(像图片ImageView,文字TextView)上的内容,你就必须用inflate()先将对话框上的layout找出来,然后再用这个layout对象去找到它上面的组件,如: View view=View.inflate(this,R.layout.d...
阅读全文
eclipse常用断点
摘要:1、 条件断点断点大家都比较熟悉,在EclipseJava 编辑区的行头双击就会得到一个断点,代码会运行到此处时停止。 条件断点,顾名思义就是一个有一定条件的断点,只有满足了用户设置的条件,代码才会在运行到断点处时停止。在断点处点击鼠标右键,选择最后一个"BreakpointProperties" 断点的属性界面及各个选项的意思如下图,2、 变量断点断点不仅能打在语句上,变量也可以接受断点,上图就是一个变量的打的断点,在变量的值初始化,或是变量值改变时可以停止,当然变量断点上也是可以加条件的,和上面的介绍的条件断点的设置是一样的。3、 方法断点方法断点就是将断点打在方法的入
阅读全文
Android eclipse中程序调试
摘要:一:断点调试用eclipse开发android程序的时,跟VS一样是可以断点单步调试的.步骤如下.1 设置断点:在编码窗体的左边框上用鼠标双击,或者右键点击菜单,选择 Toggle Breakpoint菜单项即可.2 在debug模式下运行程序进入调试状态:通过点击工具栏上的小虫按钮或者是在项目右键点击然后选择Debug As,Android Application菜单,启动程序的调试模式.第一次运行调试模式eclipse会弹出如下确认窗口当程序运行到你的断点地方时就会停下,这时可以按照下面的功能键按需求进行调试:[1]快捷键(F8)直接执行程序,直到下一个断点处停止。[2]快捷键(F5)单步
阅读全文
转:10个常见的 Android 新手误区
摘要:转自:http://www.oschina.net/question/157182_611401、不读Android开发文档 Android开发者网站可以很好的帮助你。很多的文档也可以通过SDK工具下载。这些文档不仅仅是Javadoc API的参考,它包括许多指南、教程、视频、培训以及其他有用的资料来创建Android应用程序。 Android训练,通过一些有用的教程示例,指导你解决特定问题或实现特定的功能。 2、不熟悉Android开发工具 Android SDK不仅可以用来编译打包你的应用程序在Android手机上运行,而且它有一整套工具来帮助你构建应用程序。其中一些工具可以帮助你的应用程
阅读全文
转:Android网络编程之http通信
摘要:转自:http://www.cnblogs.com/xiaoxiaoboke/archive/2011/06/23/2088133.htmlAndroid中提供的HttpURLConnection和HttpClient接口可以用来开发HTTP程序。1. HttpURLConnection接口 首先需要明确的是,Http通信中的POST和GET请求方式的不同。GET可以获得静态页面,也可以把参数放在URL字符串后面,传递给服务器。而POST方法的参数是放在Http请求中。因此,在编程之前,应当首先明确使用的请求方法,然后再根据所使用的方式选择相应的编程方式。 HttpURLConnection是
阅读全文
Socket网络通信例子
摘要:1 package com.Aina.Android; 2 import java.io.BufferedReader; 3 import java.io.BufferedWriter; 4 import java.io.InputStreamReader; 5 import java.io.OutputStreamWriter; 6 import java.io.PrintWriter; 7 import java.net.Socket; 8 9 import android.app.Activity; 10 impor...
阅读全文
handler.obtainMessage()理解
摘要:在handler.obtainMessage()的参数是这样写的:Message android.os.Handler.obtainMessage(int what, int arg1, int arg2, Object obj)public final Message obtainMessage (int what, int arg1, int arg2, Object obj) Since: API Level 1 Same as obtainMessage(), except that it also sets the what, obj, arg1,and arg2 values on
阅读全文
Android TableLayout 常用的属性介绍及演示
摘要:转自:http://www.byywee.com/page/M0/S582/582680.htmlTableLayout经常用的属性是: 1.android:collapseColumns:以第0行动序,隐蔽指定的列:把android:collapseColumns=0,2 意思是把第0和第2列隐蔽 2.android:shrinkColumns:以第0行动序,主动延长指定的列填充可用项目组:当LayoutRow里面的控件还没有布满布局时,shrinkColumns不起感化,设置了shrinkColumns=0,1,2,布局完全没有改变,因为LayoutRow里面还剩足够的空间。当Lay...
阅读全文
转:浅析Android单线程模型
摘要:摘要:随着中国移动在8月份相继发布基于Google Android的OPhone平台和手机网上应用商店Mobile Market,以及各大手机生产厂商在2009年北京国际通信展?上展出了各自基于Android的 手机,Android技术受到越来越多的关注。基于这样的背景 下,本文将通过一个例子来初探Android的线程模型。 关键词:Android;UI thread;线程模型 1引言 Android一词本义指机器人,Google于2007年11月发布了以Android命名的开源移动设备综合平台,包括其基于Linux的操作系统、中间件和关键的手机应用。并且组建了开放手机联盟,其成员囊括了全球著
阅读全文
ByteArrayXXXputStream、InputStream的read()方法
摘要:字节数组流:ByteArrayOutputStream: 可以捕获内存缓冲区的数据,转换成字节数组。ByteArrayoutputStream bout=new ByteArrayOutputStream();bout.write(int a);bout.write(int b);bout.write(int c);byte[] buf=bout.toByteArray();//获取内存缓冲中的数据for(int i=0;i<=buf.length;i++){System.out.println(buf);}bout.close();注:通过调用reset()方法可以重新定位。ByteA
阅读全文
利用sax处理xml(推荐)
摘要:转自:http://www.eoeandroid.com/thread-33212-1-1.html相信各位android开发者,对SAX已经并不陌生了,SAX(Simple API for XML),是一个使用非常广泛的XML解析标准,通常使用Handler模式来处理XML文档,这种处理模式和我们平常习惯的理解方式很不同,身边也经常有一些朋友在刚接触SAX的时候会觉得理解起来有些困难。其实SAX并不复杂,只不过是换了一种思维方式,正如它的名字所表示的,为了让我们以更简单的方式来处理XML文档,下面我们就开始吧。 我们通常的理解方式是,我们给出一个输入(比如xml文档的地址),然后程序返回给.
阅读全文
编写高效的Android代码2
摘要:编写高效的Android代码(原文:http://www.chinaup.org/docs/toolbox/performance.html)毫无疑问,基于Android平台的设备一定是嵌入式设备。现代的手持设备不仅仅是一部电话那么简单,它还是一个小型的手持电脑,但是,即使是最快的最高端的手持设备也远远比不上一个中等性能的桌面机。这就是为什么在编写Android程序时要时刻考虑执行的效率,这些系统不是想象中的那么快,并且你还要考虑它电池的续航能力。这就意味着没有多少剩余空间给你去浪费了,因此,在你写Android程序的时候,要尽可能的使你的代码优化而提高效率。本页介绍了几种可以让开发者的And
阅读全文
编写高效的android代码1(译文)
摘要:虽然如此说,但似乎并没有什么好的办法:Android设备是嵌入式设备。现代的手持设备,与其说是电话,更像一台拿在手中的电脑。但是,即使是“最快”的手持设备,其性能也赶不上一台普通的台式电脑。 这就是为什么我们在书写Android应用程序的时候要格外关注效率。这些设备并没有那么快,并且受电池电量的制约。这意味着,设备没有更多的能力,我们必须把程序写的尽量有效。 本章讨论了很多能让开发者使他们的程序运行更有效的方法,遵照这些方法,你可以使你的程序发挥最大的效力。 简介 对于占用资源的系统,有两条基本原则: 不要做不必要的事 不要分配不必要的内存 所有下面的内容都遵照这两个原则。 有些人可能马上会跳
阅读全文
Android网络连接判断与处理
摘要:获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />1)判断是否有网络连接 1 public boolean isNetworkConnected(Context context) { 2 if (context != null) { 3 ConnectivityManager mConnectivityManager = (ConnectivityManager) context 4 ..
阅读全文
Android 的权限设置2
摘要:1 android------权限 2 3 在利用android访问本地服务器是需要设置权限: 4 5 < 6 uses-permission 7 android:name 8 ="android.permission.INTERNET" 9 ></ 10 uses-permission 11 > 12 13 其他权限为: 14 15 添加WiFi以及访问网络的权限: 16 17 <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" &
阅读全文
Android 的权限设置大全3
摘要:android.permission.ACCESS_CHECKIN_PROPERTIES 002 //允许读写访问”properties”表在checkin数据库中,改值可以修改上传 003 004 android.permission.ACCESS_COARSE_LOCATION 005 //允许一个程序访问CellID或WiFi热点来获取粗略的位置 006 007 android.permission.ACCESS_FINE_LOCATION 008 //允许一个程序访问精良位置(如GPS) 009 010 android.permission.A...
阅读全文
Android 权限设置大全1
摘要:1 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 2 3 访问登记属性 4 5 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 6 7 获取错略位置 8 9 android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米 10 11 获取精确位置 12 13 andr
阅读全文
[转]android 获取手机GSM/CDMA信号信息
摘要:本文转自:http://software.intel.com/zh-cn/blogs/2011/12/16/android-gsmcdma/在Android中我们常用的轻松获取WIFI信号列表,那如何获取CDMA或者GSM的手机信号呢?系统提供了TelephonyManager类,此类非常丰富,基本你所需要的手机信息都能获取到,那下面就来看看我们所需要的CDMA与GSM信号是如何获取的吧。 1 private TelephonyManager telephonyManager; 2 private PhoneStateListener phoneStateListener; 3 首先声明...
阅读全文
真正能获得基站LBS定位的android程序包括GSM、CDMA
摘要:1 package com.jouhu.chinamobile; 2 3 import java.io.BufferedReader; 4 import java.io.IOException; 5 import java.io.InputStreamReader; 6 import java.io.UnsupportedEncodingException; 7 import java.util.ArrayList; 8 import java.util.Calendar; 9 import java.util.Locale; 10 11 import org.apac...
阅读全文
android GSM+CDMA基站定位
摘要:在googleAPI里提供了基站信息的获取类TelephonyManager,通过其方法getCellLocation得到CellLocation即可获取到基站相关信息但CellLocation是个抽象类,所以在具体使用时需要判断接入的网络制式来用其子类CdmaCellLocation或GsmCellLocation 来强转CdmaCellLocation对应CDMA网,GsmCellLocation对应GSM网三大网络运营商的网络制式对应如下:移动2G 网 --> GSM移动3G 网 --> TD-SCDMA电信2G 网 --> CDMA电信3G 网 --> CDMA
阅读全文
Android之TelephonyManager&GsmCellLocation类的方法详解
摘要:TelephonyManager类主要提供了一系列用于访问与手机通讯相关的状态和信息的get方法。其中包括手机SIM的状态和信息、电信网络的状态及手机用户的信息。在应用程序中可以使用这些get方法获取相关数据。 TelephonyManager类的对象可以通过Context.getSystemService(Context.TELEPHONY_SERVICE)方法来获得,需要注意的是有些通讯信息的获取对应用程序的权限有一定的限制,在开发的时候需要为其添加相应的权限。以下列出TelephonyManager类所有方法及说明:package com.ljq.activity;import java
阅读全文
Handler对象的Message应用
摘要:知识点 接受子线程发送的消息数据,并用此消息数据配合主线程更新UI。 根据消息数据中的标识msg.what,分类处理相应的操作。范例程序 为了让线程对象Runnable运行过程中,可以不断地将信息往Activity传递,所以用了Android.os.Handler对象及Android.os.Message对象,且在类成员变量中声明了两个整数:STOP_NOTIFIER与RUNNING_NOTIFIER,这两个整数将作为信息传递出来时的信号标识,前者为线程对象Runnable需要喊停的标识,后者为线程对象Runnable正在运行的标识。 本范例中,摆放一个按钮和一个进度条控件。按钮用于复位参数和
阅读全文
Android内存管理基本介绍
摘要:Android内核是基于Linux 2.6内核的(目前最新开发版本是2.6.31),它是一个增强内核版本,除了修改部分 Bug 外,它提供了用于支持Android平台的设备驱动,其核心驱动主要包括: Android Binder,基于OpenBinder框架的一个驱动,用于提供Android平台的进程间通讯(IPC,inter-process communication)。 源代码位于drivers/staging/Android/binder.c Android 电源管理(PM) ,一个基于标准Linux电源管理系统的轻量级的Android 电源管理驱动,针对嵌入式设备做了很多优化。源代..
阅读全文
Android Handler讲述很详细的一篇文章
摘要:Android中的Handler<一>Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发, 比如说, 你要是点击一个 Button ,Android会分发事件到Button上,来响应你的操作。 如果此时需要一个耗时的操作,例如: 联网读取数据, 或者读取本地较大的一个文件的时候,你不能把这些操作放在主线程中,,如果你放在主线程中的话,界面会出现假死现象, 如果5秒钟还没有完成的话,,会收到Android系统的一个错误...
阅读全文
android为什么不允许新开启一个线程来更新UI,而是用handler来更新界面
摘要:操作是很有可能并发的,而界面只有一个这个和买票排队是一回事买票的人太多了,卖票的只有一个,只能一个一个来如果你开多线程,让100个人同时去买票,而且不排队,那么后果会怎么样- -同理,你开多线程,让100个线程去设置同一个TextView的显示内容,每个显示内容都不一样,它该听谁的?那为什么不直接new一个新线程而要使用一个所谓的handler?就是因为new了一个子线程才要用handler的,不然在主线程里更新UI要handler干什么?多此一举就好比只有1个人来买票,卖票的难道会跟他说:同志,请你排队!?handle是主线程 ,Thread是从线程。控件数据更改只能在主线程 里,所以要用h
阅读全文
Android里面如何编写退出主程序的提示代码
摘要:当用户选择“确定”,就退出当前的对话框。其中,有个很重要的函数,Activity.finish(),通过调用这个函数,退出当前运行的整个Android程序.当用户选择“取消”的时候,只要单纯的retuan,即可返回主程序.我们可以定义一个showTips()的专用方法在main Activity里面,那么,每次我们写的时候,就调用这个函数的就可以了。private void showTips(){AlertDialog alertDialog = new AlertDialog.Builder(Activity.this).setTitle(“退出程序”).setMessage(“是否退出程序
阅读全文
java线程 同步与异步 线程池
摘要:1)多线程并发时,多个线程同时请求同一个资源,必然导致此资源的数据不安全,A线程修改了B线程的处理的数据,而B线程又修改了A线程处理的数理。显然这是由于全局资源造成的,有时为了解决此问题,优先考虑使用局部变量,退而求其次使用同步代码块,出于这样的安全考虑就必须牺牲系统处理性能,加在多线程并发时资源挣夺最激烈的地方,这就实现了线程的同步机制同步:A线程要请求某个资源,但是此资源正在被B线程使用中,因为同步机制存在,A线程请求不到,怎么办,A线程只能等待下去异步:A线程要请求某个资源,但是此资源正在被B线程使用中,因为没有同步机制存在,A线程仍然请求的到,A线程无需等待显然,同步最最安全,最保险的
阅读全文
json格式转换
摘要:StringBuffer stringBuffer=new StringBuffer();List list=new ArrayList();Map<String, String> testmap = new HashMap<String, String>();testmap.put("status", "1");testmap.put("ticket_code", "11111");testmap.put("lotteryNo", "CMK");te
阅读全文
网络编程之同步,阻塞,异步,非阻塞
摘要:同步:函数没有执行完不返回,线程被挂起; 阻塞:没有收完数据函数不返回,线程也被挂起; 异步:函数立即返回,通过事件或是信号通知调用者; 非阻塞:函数立即返回,通过select通知调用者同步:函数没有执行完不返回,线程被挂起阻塞:没有收完数据函数不返回,线程也被挂起异步:函数立即返回,通过事件或是信号通知调用者非阻塞:函数立即返回,通过select通知调用者这样看来异步和非阻塞有什么区别呢?异步=非阻塞?同步是在操作系统层面上,阻塞是在套接字上?Reactor是同步Proactor是异步?回答:同步、异步、阻塞和非阻塞的概念 在进行网络编程时,我们常常见到同步、异步、阻塞和非阻塞四种调...
阅读全文
Android中Handler Thread及Runnable之间的关系
摘要:在多线程编程这块,我们经常要使用Handler,Thread和Runnable这三个类,那么他们之间的关系你是否弄清楚了呢?首先说明Android的CPU分配的最小单元是线程,Handler一般是在某个线程里创建的,因而Handler和Thread就是相互绑定的,一一对应。而Runnable是一个接口,Thread是Runnable的子类。所以说,他俩都算一个进程。HandlerThread顾名思义就是可以处理消息循环的线程,他是一个拥有Looper的线程,可以处理消息循环。与其说Handler和一个线程绑定,不如说Handler是和Looper一一对应的。最后需要说明的是,在UI线程(主线程
阅读全文
Android文件资源(raw/data/asset)的存取
摘要:在android开发中,我们离不开资源文件的使用,从drawable到string,再到layout,这些资源都为我们的开发提供了极大的便利,不过我们平时大部分时间接触的资源目录一般都是下面这三个。/res/drawable/res/values/res/layout但android的资源文件并不止这些,下面就为大家介绍一下另外三个资源目录/res/xml/res/raw/assets首先是/res/xml ,这个目录中大家可能偶尔用到过,这里可以用来存储xml格式的文件,并且和其他资源文件一样,这里的资源是会被编译成二进制格式放到最终的安装包里的,我们也可以通过R类来访问这里的文件,并且解析
阅读全文
Android私有文件资源文件的存取
摘要:一、私有文件夹下的文件存取(/data/data/包名)复制到剪贴板Java代码 1 import java.io.FileInputStream; 2 import java.io.FileOutputStream; 3 import org.apache.http.util.EncodingUtils; 4 5 public void writeFileData(String fileName,String message){ 6 try{ 7 FileOutputStream fout = openFileOutput(fileName, MO...
阅读全文
Android中资源的访问——颜色资源
摘要:1、颜色的定义:#Alpha-R-G-B;2、颜色资源XML文件的定义3、使用颜色资源1)新建一个Android2.2工程,命名为test;2)添加颜色资源XML,新建一个Android XML File:所有资源文件基本上都这样创建;然后:选择资源类型,这里我选择的是Values,当然还有其他可选项,资源类型列表列出了全部可创建的资源,用到了再选。然后:这是Android的资源编辑器界面,如果你进入的不是这样的界面,而是XML代码界面,你可以在color.xml文件上单击右键,open with下现则android资源编辑器。接下来当然是Add了:选择Color,OK;然后:Name处,输入
阅读全文
Android资源文件
摘要:资源是您在代码中使用到的并且在编译时被打包进您的应用程序的附加文件。Android支持多种不同的文件,包括XML、PNG和JPEG文件。XML文件的格式决定于其描述的内容。这些文件将描述文件支持的类型、语法或格式。处于加载效率的考虑,资源被从代码中分离出来,而且XML文件被编译进二进制代码中。字符串,类似的会被压缩存储为更经济的格式。处于这样或那样的原因,Android平台中会存在很多不同的资源和资源定义文件。这些文件包括以下部分:资源o 创建资源o 使用资源§ 在代码中使用资源§ 引用资源§ 引用主体属性§ 使用系统属性o 更改资源o 资源引用o 术语
阅读全文
Android getResources的作用和需要注意点
摘要:getResources。[java] view plaincopyprint?Drawable currentIcon = null; ……………… currentIcon = getResources().getDrawable(R.drawable.folder); ……………… currentIcon = getResources().getDrawable(R.drawable.image); ………… 一开始不是很理解为什么用c getResources()这个方法就可以获取存在系统的资源。于是看了一下文档和翻阅了一下资料:例如:把资源文件放到应用...
阅读全文
Android设置桌面背景图片的方法
摘要:1.设置桌面背景图片的方法 Resources res=getResources(); BitmapDrawable bmpDraw=(BitmapDrawable)res.getDrawable(R.drawable.icon); Bitmap bmp=bmpDraw.getBitmap(); try{ setWallpaper(bmp); }catch(IOException e) { e.printStackTrace(); }2.在manifest中增加设置桌面的权限 <uses-permission android:name="and...
阅读全文
使用Java中的Timer和TimerTask
摘要:有的时候我们需要每隔一段时间去执行某个任务,在Java中提供了Timer and TimerTask来完成这个任务,本文提供一个应用程序的源代码告诉你如何使用这两个类。Timer和TimerTask的方法很少,使用起来也非常方便。希望如果遇到问题参考一下API doc,里面写的很清楚。TimerTask是个抽象类,他扩展了Object并实现了Runnable接口,因此你必须在自己的Task中实现public void run()方法。这也就是我们需要执行的具体任务。Timer实际上是用来控制Task的,他提供的主要方法是重载的schedule()方法。我们这里将使用schedule(Timer
阅读全文
java类Timer和TimerTask的使用
摘要:这两个类使用起来非常方便,可以完成我们对定时器的绝大多数需求 Timer类是用来执行任务的类,它接受一个TimerTask做参数 Timer有两种执行任务的模式,最常用的是schedule,它可以以两种方式执行任务:1:在某个时间(Data),2:在某个固定的时间之后(int delay).这两种方式都可以指定任务执行的频率.看个简单的例子:importjava.io.IOException;importjava.util.Timer;publicclassTimerTest...{publicstaticvoidmain(String[]args)...{Timertimer=newTime
阅读全文
为什么要使用Handler
摘要:为什么要用Handler?子线程不能更改主线程的UI一般来说,所有显示在界面上的控件,都是由主线程创建的每个主线程都有一个Handler,Handler运行在主线程里,它与了线程可以通过Message对象来传递数据Handler原理 主线程里都维护了一个消息对列(message queue),子线程通过Message实例设置消息内容,通过主线程里的Handler实例把消息发送到消息队列(message queue),在主线程里还有一个轮循器(looper)在检查消息对列里有没有新的消息,一旦发现有新的消息,looper就会交给Handler对象处理,Handler则调用自己的回调函数Hand.
阅读全文
System.in
摘要:import java.io.*; public class IOStreamDemo { public void samples() throws IOException { //1. 这是从键盘读入一行数据,返回的是一个字符串 BufferedReader stdin =new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter a line:"); System.out.println(stdin.readLine()); //2. 这是从文件中逐行读入数据 Buffere
阅读全文
区分Activity的四种加载模式----以及Intent的setFlags
摘要:区分Activity的四种加载模式----以及Intent的setFlags分类: android-example2011-07-15 14:43 583人阅读 评论(0) 收藏 举报转载来源——http://marshal.easymorse.com/archives/2950 区分Activity的四种加载模式在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。这需要为Activity配置特定的加载模式,而不是使用默认的加载模式。加载模式分类及在
阅读全文
Activity的Launch mode 以及Intent的setFlags
摘要:Activity有四种加载模式:standard(默认), singleTop, singleTask和 singleInstance。以下逐一举例说明他们的区别:standard:Activity的默认加载方法,即使某个Activity在Task栈中已经存在,另一个activity通过Intent跳转到该activity,同样会新创建一个实例压入栈中。例如:现在栈的情况为:A B C D,在D这个Activity中通过Intent跳转到D,那么现在的栈情况为: A B C D D 。此时如果栈顶的D通过Intent跳转到B,则栈情况为:A B C D D B。此时如果依次按返回键,D D C
阅读全文
Android应用程序中访问文件应用程序包中的资源(assets目录)
摘要:下面来看看如何在Android应用程序中访问文件应用程序包中的资源AssetManager类,即管理资产类,这个类为访问当前应用程序的资产文件提供了入口。这个类的方法有:open (String filename,int accessMode)使用一个精确的访问模式来打开当前包的一个资产,返回输入流,即由此读取了这个包的资产的内容。要注意的是,这里所说的资产是放置在assets目录下的文件资产。其中accessmode的值可以为:ACCESS_BUFFER,ACCESS_RANDOM,ACCESS_STREAMING,ACCESS_UNKNOWN其中的一个。下面给出一个实例:InputStre
阅读全文
CharSequence类型
摘要:CharSequence类型这是一个接口,代表的是一个有序字符集合,这个接口包含的方法有:charAt(int index),toString(),length(),subSequence(int start,int end).这里需要说的一点就是,对于一个抽象类或者是接口类,不能使用new来进行赋值,但是可以通过以下的方式来进行实例的创建:CharSequence cs="hello";但是不能这样来创建:CharSequence cs=new CharSequence("hello");下面来看看一个例子:TextView tv; //声明一个Tex
阅读全文
Android的layout_weight属性
摘要:layout_weight是LinearLayout布局里一个重要的属性,就像Qt里的stretch一样,把父视图剩余的空间分配给设置了layout_weight的组件。这个属性可以让LinearLayout里不同的组件分配不同宽度/高度变得非常灵活。Android官网里对layout_weight如下解释:LinearLayoutalso supports assigning aweightto individual children. This attribute assigns an "importance" value to a view, and allows i
阅读全文
Android布局之weight属性解析
摘要:转自:http://blog.csdn.net/kangyaping/article/details/7400281在网上看了一些对Layout_weight的讲解,有些说的比较片面,只列举了一种情况,然后自己通过实验和一些比较好的文章总结了一下,特此记录下来,以备以后所用。Layout_weight是线性布局,也就是LinearLayout里面用到的,下面通过实验来看这个Layout_weight的特性。1.当控件的属性android:layout_width="fill_parent"时,布局文件如下:Xml代码<?xmlversion="1.0&quo
阅读全文
Android界面五大布局
摘要:转自:http://www.xuanyusong.com/archives/1331.线性布局(LinearLayout)线性布局的形式可以分为两种,第一种横向线性布局 第二种纵向线性布局,总而言之都是以线性的形式 一个个排列出来的,纯线性布局的缺点是很不方便修改控件的显示位置,所以开发中经常会 以 线性布局与相对布局嵌套的形式设置布局。如图所示 使用了线性布局的水平方向与垂直方向,从图中可以清晰的看出来所有控件都是按照线性的排列方式显示出来的,这就是线性布局的特点。设置线性布局为水平方向android:orientation=”horizontal”设置线性布局为垂直方向android:or
阅读全文
转:新浪微博布局学习——妙用TabHost
摘要:转自:http://www.cnblogs.com/over140/archive/2011/03/02/1968042.html前言 为了更好的开发Android应用程序,除了熟练掌握基本的UI组件和API外,还需要掌握一些技巧,而这些技巧可以通过阅读一些代码来提高,本系列将与大家分享一些新浪微博布局方面的收获,欢迎交流!声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://www.cnblogs.com/over140版本 新浪微博 weibo_10235010.apk正文 一、效果图 红...
阅读全文
TabHost的两种实现方式
摘要:第一种:继承TabActivity,从TabActivity中用getTabHost()方法获取TabHost。只要定义具体Tab内容布局就行了. xml布局: Java代码 <FrameLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"> <LinearLayoutandroid:id="@+
阅读全文
Tab与TabHost
摘要:Tab与TabHost这就是Tab,而盛放Tab的容器就是TabHost如何实现??每一个Tab还对应了一个布局,这个就有点好玩了。一个Activity,对应了多个功能布局。①新建一个Tab项目,注意,不要生成main Activity这里不要选②在包里面新建一个类MyTab,继承于TabActivity其实,TabActivity是Activity的子类package zyf.tab.test;import android.app.TabActivity;public class MyTab extends TabActivity {}复制代码③从父类继承OnCreate()入口方法pack
阅读全文
java读取txt文件中的数据
摘要:java读取txt文件的内容 类1.package txt; 2. 3.import java.io.BufferedReader; 4.import java.io.File; 5.import java.io.FileInputStream; 6.import java.io.InputStreamReader; 7. 8./** 9. * 读取TXE数据 10. */ 11.public class ReadTxtUtils { 12. public static void main(String arg[]) { 13. t...
阅读全文
Android API中文系列总结
摘要:Android2.2 API 中文文档系列:http://www.cnblogs.com/over140/category/277077.htmlAndroid2.2 API 中文文档系列(1) —— TextViewAndroid2.2 API 中文文档系列(2) —— EditText
阅读全文
convertView&setTag方法的一点理解
摘要:转自:http://blog.163.com/freemanls@126/blog/static/164585061201171210504864/前言首先我们要知道setTag方法是干什么的,SDK解释为TagsUnlike IDs, tags are not used to identify views. Tags are essentially an extra piece of information that can be associated with a view. They are most often used as a convenience to store data r
阅读全文
view的setTag() 和 getTag()应用
摘要:View中的setTag(Onbect)表示给View添加一个格外的数据,以后可以用getTag()将这个数据取出来。 可以用在多个Button添加一个监听器,每个Button都设置不同的setTag。这个监听器就通过getTag来分辨是哪个Button 被按下。 Java代码 importandroid.app.Activity; importandroid.os.Bundle; importandroid.view.View; importandroid.widget.Button; publicclassMainextendsActivity{ @Overridepublicvoid..
阅读全文
Android中关于线程使用的几点注意事项
摘要:转自:http://flysnow.iteye.com/blog/1053996我们都知道Android是单线程模型,这意味着Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行,所以你单纯的new一个Thrad并且start()不行的,因为这违背了Android的单线程模型。 很幸运的是Android为我们提供了在其他线程中访问UI线程的方法,相信大家都见过,这几个就是Activity的runOnUiThread方法,View的post和postDelayed方法,以及最常用的Hanlder和AsyncTask,这里我推荐使用Hanlder和AsyncTask,尤其是..
阅读全文
Android学习
摘要:EditText详解:转自:http://flysnow.iteye.com/blog/828415一:新建HelloEditText工程新建一个Hello world详细步骤可以参见Android教程之三:第一个Android应用,HelloWorld创建设置如下:Project name: HelloEditTextBuild Target :android 2.2Application name:HelloEditTextPackage name:com.flysnowcreate Activity: HelloEditTextmin SDK 8这时候运行还看不到EditText,因为我
阅读全文
android Intent类
摘要:1)利用Inent监听应用程序的安装、替换、删除等与包相关的Intent:Intent.ACTION_PACKAGE_INSTALLIntent.ACTION_PACKAGE_ADDEDIntent.ACTION_PACKAGE_REPLACEDIntent.ACTION_PACKAGE_REMOVEDIntent.ACTION_PACKAGE_CHANGEDIntent.ACTION_PACKAGE_RESTARTEDIntent.ACTION_PACKAGE_DATA_CLEARED首先定义一个Broadcast类——HandlePackageAction,代码如下:[java] view
阅读全文
PendingIntent与Intent区别
摘要:intent英文意思是意图,pending表示即将发生或来临的事情。 PendingIntent这个类用于处理即将发生的事情。比如在通知Notification中用于跳转页面,但不是马上跳转。 Intent 是及时启动,intent 随所在的activity 消失而消失。 PendingIntent 可以看作是对intent的包装,通常通过getActivity,getBroadcast ,getService来得到pendingintent的实例,当前activity并不能马上启动它所包含的intent,而是在外部执行 pendingintent时,调用intent的。正由于pendingi
阅读全文
Android之ContentProvider总结
摘要:Android之ContentProvider总结1.适用场景1) ContentProvider为存储和读取数据提供了统一的接口2) 使用ContentProvider,应用程序可以实现数据共享3) android内置的许多数据都是使用ContentProvider形式,供开发者调用的(如视频,音频,图片,通讯录等)2.相关概念介绍1)ContentProvider简介 当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据。虽然使用其他方法也可以对外共享数据,但数据访问方式会因数据存储的方式而不同,如:采用文件方式对外共享数据,需..
阅读全文