2013年10月26日
摘要: Android上下文Context介绍 在应用开发中最熟悉而陌生的朋友-----Context类 ,说它熟悉,是应为我们在开发中时刻的在与它打交道,例如:Service、BroadcastReceiver、Activity等都会利用到Context的相关方法。说它陌生,完全是因为我们真正的不懂Context的原理、类结构关系。一个简单的问题是,一个应用程序App中存在多少个Context实例对象呢?一个、两个? 在此先卖个关子吧。读了本文,相信您会豁然开朗的 。 Context,中文直译为“上下文”,SDK中对其说明如下:Interface to global information abou 阅读全文
posted @ 2013-10-26 16:07 知行立远 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 获取手机屏幕宽高Display display = getWindowManager().getDefaultDisplay();int width = display.getWidth();//宽int height = display.getHeight(); //高 阅读全文
posted @ 2013-10-26 16:05 知行立远 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 安卓数据存储分为五大部部分一、共享存储共享文件可读可写,有专门的xml文件格式 文件路径为:data/data/项目包名称/shared_prefes二、数据库存储使用SQLite数据库存储 文件路径为:data/data/项目包名称/databases三、内部存储1、res/raw目录中,只读文件,没有目录结构,只有一层结构,没有文件路径2、assets目录中,只读文件,单独文件存储有大小限制,文件路径为:file:///android_asset/文件名3、files目录中,可读可写文件 文件路径为:data/data/项目包名称/files 【this.getFilesDir()可获得d 阅读全文
posted @ 2013-10-26 16:04 知行立远 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 关于listView优化问题:阻止列表重复形状的加载,即选项样式的重复加载。加载一次即可,缓存到convertView其中notes为listView列表集合,note为列表中一个选项对象,有noteInfo、noteTime、isCheck三个属性,note_work_list_item为xml文件为列表每一项对象的样式,样式中有tv_noteInfo、tv_noteTime、cb_noteDel三个控件,对应note三个属性。/*** listView适配器*/BaseAdapter mBaseAdapter = new BaseAdapter(){// 封装ListView上的每一Vie 阅读全文
posted @ 2013-10-26 16:03 知行立远 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 获取外部存储设备状态并计算其容量利用该类,直接调用即可,totalSpace为容量,freeSpace为剩余容量,例 String temp=MyUtil.convertStorage(MyUtil.getSDCardInfo().totalSpace);package com.lhy.filemanage.myutil;import java.io.File;import android.util.Log;public class MyUtil{/*** SD卡数据bean** @author User*/public static class SDCardInfo{public long 阅读全文
posted @ 2013-10-26 16:03 知行立远 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 判断网络连接情况// 判断网络连接情况,利用广播boolean isNetWorkOk=false;【这里将网络状态连接情况保存在isNetWorkOk,其他地方要使用直接利用该布尔值判断就可以了】class MyNetWork extends BroadcastReceiver{@Overridepublic void onReceive ( Context context, Intent intent){myNetState(context, intent);}}public void myNetState ( Context context, Intent intent){// inte 阅读全文
posted @ 2013-10-26 16:02 知行立远 阅读(240) 评论(0) 推荐(0) 编辑
摘要: ListView和Adapter对象均具备有对象更新方法ListView对象列表的更新方法1、invalidate();--重绘组件2、invlidateView()--重绘组件并包含所有的ViewAdapter对象更新列表方法1、mBaseAdapter.notifyDataSetChanged();重绘当前可见区域,不可见区域滑动可刷新2、mBaseAdapter.notifyDataSetInvalidated() 重绘所有控件,会回到最原始的状态因此,为了更有效的考虑ListView对象更新的问题并采取有效的方法达到目的,就使用Adapter对象的notifyDataSetChange 阅读全文
posted @ 2013-10-26 16:02 知行立远 阅读(293) 评论(0) 推荐(0) 编辑
摘要: ListView列表刷新方法的区别ListView对象的刷新方法:listNote.invalidate();重绘所有组件listNote.invalidateViews();重绘组件【包含所有的view,也就连同数据】Adapter适配器刷新方法mBaseAdapter.notifyDataSetChanged();重绘当前可见区域,不可见区域滑屏后刷新mBaseAdapter.notifyDataSetInvalidated();重绘所有组件,还原初始状态 阅读全文
posted @ 2013-10-26 16:01 知行立远 阅读(592) 评论(0) 推荐(0) 编辑
摘要: 对于Application、 Activity、 Notification、 BroadCast、 Service这些组件的使用,对象的实例化问题各有不同,如何实例化以及在什么时候实例化也所有不同。一、如何实例化【应用程序】Application:回调OnCreate()方法实例化【活动】Activity:回调【生命周期】实例化【通知】Notification:需要实例化【关键字new】【广播】BroadCast:【系统自动实例化】在Androidmainfest.xml中注册即可,获取不了广播对象。【手动实例化】new关键字,用java代码程序注册,但是最后必须程序注销【服务】Service 阅读全文
posted @ 2013-10-26 16:01 知行立远 阅读(578) 评论(0) 推荐(0) 编辑
摘要: 2013-9-21问题一、不同的XML文件中相同类型的控件id相同,那么将这些不同的布局xml组合在一个大的布局中,如何解决相同id问题 ?解决办法:不同的布局文件XML要组合成一个新的大布局,必须使用include加载各个不同的xml,那么在这不同的XML文件组合到一起时,难免会有些空间的id有冲突,如果在主页面仍然利用this.findViewById(R.id.xxx)时找相应的控件时,编译器只会识别第一个,而后面的可能不会识别,所以,在利用include加载各个xml时,此时incldue在某种意义上讲已经是一个view了,那么给该include都命名一个不同的id,然后通过该id找该 阅读全文
posted @ 2013-10-26 16:00 知行立远 阅读(1931) 评论(0) 推荐(0) 编辑
摘要: Android网络编程之HttpClient运用在Android开发中我们经常会用到网络连接功能与服务器进行数据的交互,为此Android的SDK提供了Apache的HttpClient来方便我们使用各种Http服务。你可以把HttpClient想象成一个浏览器,通过它的API我们可以很方便的发出GET,POST请求(当然它的功能远不止这些)。 比如你只需以下几行代码就能发出一个简单的GET请求并打印响应结果:java代码:try {// 创建一个默认的HttpClientHttpClient httpclient = new DefaultHttpClient();// 创建一个GET请求. 阅读全文
posted @ 2013-10-26 15:58 知行立远 阅读(233) 评论(0) 推荐(0) 编辑
摘要: Android 网络编程之HttpURLConnection利用HttpURLConnection对象,我们可以从网络中获取网页数据.01URL url =newURL("http://www.sohu.com");02HttpURLConnection conn = (HttpURLConnection) url.openConnection();03conn.setConnectTimeout(6*1000);//设置连接超时04if(conn.getResponseCode() !=200)thrownewRuntimeException("请求url失败& 阅读全文
posted @ 2013-10-26 15:57 知行立远 阅读(168) 评论(0) 推荐(0) 编辑
摘要: Android 网络通信之Socket应用软件的网络通信无非就是Socket和HTTP,其中Socket又可以用TCP和UDP,HTTP的话就衍生出很多方式,基础的HTTP GET和POST请求,然后就是WebService的SOAP。在这些方式中,Socket当然是最基础的。服务端就不需要过多的说明了,无论采用什么语言什么平台都可以,只要遵循基本的Socket监听模式就行。实际上Android的Socket开发就是Java的Socket开发,因此学习过Java的开发人员也许觉得并没有什么难度,不过依然有一些不同于PC开发的地方需要注意首先是说说TCP开发JAVA里的TCP开发感觉比C#里简单 阅读全文
posted @ 2013-10-26 15:56 知行立远 阅读(354) 评论(0) 推荐(0) 编辑
摘要: SurfaceView介绍SurfaceView是视图(View)的继承类,这个视图里面内嵌了一个专门用于绘制的Surface。你可以控制这个Surface的格式和尺寸,而SurfaceView控制这个Surface的绘制位置,Surface是纵深排序的,这表明它总在自己所在的窗口的后面,SurfaceView提供了一个可见区域,只有这个可见区域内的surface部分内容才能可见,可见区域外的是看不到的。当然surface的排版显示会受到视图层级关系的影响,它的兄弟视图结点会在顶端显示,这意味着surface的内容将会被它的兄弟视图遮挡,这一特性可以用来放置遮盖物。注意:如果surface上面 阅读全文
posted @ 2013-10-26 15:54 知行立远 阅读(703) 评论(0) 推荐(0) 编辑
摘要: Android网络编程之Http通信Android中提供的HttpURLConnection和HttpClient接口可以用来开发HTTP程序。以下是本人在学习中的总结与归纳。1. HttpURLConnection接口 首先需要明确的是,Http通信中的POST和GET请求方式的不同。GET可以获得静态页面,也可以把参数放在URL字符串后面,传递给服务器。而POST方法的参数是放在Http请求中。因此,在编程之前,应当首先明确使用的请求方法,然后再根据所使用的方式选择相应的编程方式。 HttpURLConnection是继承于URLConnection类,二者都是抽象类。其对象主要通过URL 阅读全文
posted @ 2013-10-26 15:53 知行立远 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 安卓解析JSON文件根据JOSN文件的格式,文件只有两种数据,一是对象数据,以 {}为分隔,二是数组,以[]分隔以下介绍安卓如何解析一个JSON文件,该文件存放在assets目录下,即:assets/xx.json工程目录结构以及简单布局:要解析的JSON文件数据代码实现:package com.lhy.nojsonfile;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import org.json.JSO 阅读全文
posted @ 2013-10-26 15:53 知行立远 阅读(1259) 评论(0) 推荐(0) 编辑
摘要: 一、创建数据库这里创建了note便签数据表,字段有noteId、noteTitle、noteTime、noteInfopackage com.lhy.notework.splite;import android.content.Context;import android.database.DatabaseErrorHandler;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.database.sql 阅读全文
posted @ 2013-10-26 15:52 知行立远 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 安卓解析XML文件主要有三种方式:DOM解析、SAX解析、PULL解析其中:DOM解析为等XMl文件全部加载后,然后根据需要解析的内容解析出所需的内容数据。SAX解析为从XML文件中执行一行,就解析一行XML文件,只要解析到所需要的内容数据为止。PULL解析在SAX的基础之上简化代码,由安卓提供解析方案,原理一样。以下为三种解析方法的应用方法,其中都是解析同一个XML文件【note_item.xml】,该XML文件在raw目录下的:raw/note.xml项目工程目录结构以及相关简单布局:代码实现:package com.lhy.xmlfiledom;import java.io.IOExce 阅读全文
posted @ 2013-10-26 15:50 知行立远 阅读(632) 评论(0) 推荐(0) 编辑
摘要: Android数据存储 之SQLite数据库简介SQLite的相关知识,并结合Java实现对SQLite数据库的操作。SQLite是D.Richard Hipp用C语言编写的开源嵌入式数据库引擎。它支持大多数的SQL92标准,并且可以在所有主要的操作系统上运行。SQLite由以下几个部分组成:SQL编译器、内核、后端以及附件。SQLite通过利用虚拟机和虚拟数据库引擎(VDBE),是调试、修改和扩展SQLite的内核变得更加方便。所有SQL语句都被编译成易读的、可以在SQLite虚拟机中执行的程序集。SQLite的整体结构图如下:值得一提的是,袖珍型的SQLite竟然可以支持高达2TB大小的数 阅读全文
posted @ 2013-10-26 15:49 知行立远 阅读(285) 评论(0) 推荐(0) 编辑
摘要: Android数据存储之Shared Preferences共享数据存储在Android中一共提供了4种数据存储方式,但是由于存储的这些数据都是其应用程序私有的,所以如果需要在其他应用程序中使用这些数据,就要使用Android提供的Content Provider(数据共享)。Android中4种数据存储方式分别如下。1、Shared Preferences:用来存储“Key-value paires”格式的数据。它是一个轻量级的键值存储机制,只可以存储基本数据类型。2、Files:它通过fileInputStream和FileOutputStream对文件进行操作。但是在Android中,文 阅读全文
posted @ 2013-10-26 15:48 知行立远 阅读(412) 评论(0) 推荐(0) 编辑