03 2013 档案

android.os.NetworkOnMainThreadException
摘要:在android 2.3上设计的下载程序,在android 4.0上运行时报android.os.NetworkOnMainThreadException异常,原来在4.0中,访问网络不能在主程序中进行,有两个方法可以解决,一个是在主程序中增加:Java代码 // 详见StrictMode文档 StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectDiskReads() .detectDiskWrites() .detectNetwork() // or .detectAll() for all ... 阅读全文

posted @ 2013-03-30 00:19 疯狂的石头陈 阅读(280) 评论(0) 推荐(0)

SVN提交时如何过滤文件和文件夹
摘要:刚在提交自己本机的SVN代码时想起今天同事问怎么可以过滤那些不需要的文件和文件夹。想起今天好像还没写文章,于是就花十来分钟写下此文:废话不多说,直接上图:一、过滤不需要提交的文件:图1图2二、过滤文件夹选中要过滤的文件夹,右键,在Add to inorge list中选中bin,然后下次就会自动过滤掉该文件夹。图3传src,res, AndroidMainfest.xml lib asserts就好了,其他的不要 阅读全文

posted @ 2013-03-27 12:26 疯狂的石头陈 阅读(1357) 评论(0) 推荐(0)

Android 异步获取网络图片并处理图片Out Of Memory 内存溢出问题
摘要:测试环境为Adnroid 2.1以上。1:AndroidManifest.xml 权限配置:添加互联网访问权限:<uses-permission android:name="android.permission.INTERNET" />2.异步图片类ImageDownloadTaskimport java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.MalformedURLException;import java.n 阅读全文

posted @ 2013-03-23 22:39 疯狂的石头陈 阅读(331) 评论(0) 推荐(0)

Android 通过软引用实现图片缓存,防止内存溢出
摘要:DWINTER CODEmore in dwintergame.comAndroid 通过软引用实现图片缓存,防止内存溢出软引用相关知识传送门:http://blog.csdn.net/donglinlucky/article/details/2845777public class BitmapCache { static private BitmapCache cache; /** 用于Chche内容的存储 */ private Hashtable<Integer, MySoftRef> hashRefs; /** 垃圾Reference的队列(所引用的对象已... 阅读全文

posted @ 2013-03-21 15:22 疯狂的石头陈 阅读(373) 评论(0) 推荐(0)

Android系统中的广播(Broadcast)机制简要介绍和学习计划
摘要:在Android系统中,广播(Broadcast)是在组件之间传播数据(Intent)的一种机制;这些组件甚至是可以位于不同的进程中,这样它就像Binder机制一样,起到进程间通信的作用;本文通过一个简单的例子来学习Android系统的广播机制,为后续分析广播机制的源代码作准备。 在Android系统中,为什么需要广播机制呢?广播机制,本质上它就是一种组件间的通信方式,如果是两个组件位于不同的进程当中,那么可以用Binder机制来实现,如果两个组件是在同一个进程中,那么它们之间可以用来通信的方式就更多了,这样看来,广播机制似乎是多余的。然而,广播机制却是不可替代的,它和Binder机制不一样. 阅读全文

posted @ 2013-03-20 14:47 疯狂的石头陈 阅读(339) 评论(0) 推荐(0)

android中dip、dp、px、sp和屏幕密度
摘要:android中dip、dp、px、sp和屏幕密度1. dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这 这个,不依赖像素。 这里要特别注意dip与屏幕密度有关,而屏幕密度又与具体的硬件有关,硬件设置不正确,有可能导致dip不能正常显示。在屏幕密度为160的显示屏上,1dip=1px,有时候可能你的屏幕分辨率很大如480*800,但是屏幕密度没有正确设置比如说还是160,那么这个时候凡是使用dip的都会显示异常,基本都是显示过小。 dip的换算... 阅读全文

posted @ 2013-03-18 17:06 疯狂的石头陈 阅读(167) 评论(0) 推荐(0)

使用PULL解析XML文件
摘要:XmlPull和Sax类似,是基于流(stream)操作文件,然后根据节点事件回调开发者编写的处理程序。因为是基于流的处理,因此Xmlpull和 Sax都比较节约内存资源,不会象Dom那样要把所有节点以对橡树的形式展现在内存中。 但Xmlpull比Sax更简明,而且不需要扫描完整个流。下面来看一个pull解析xml的例子:student.xml:[html] view plaincopyprint?<?xmlversion="1.0"encoding="utf-8"?> <root> <studentid="1&q 阅读全文

posted @ 2013-03-13 17:47 疯狂的石头陈 阅读(253) 评论(0) 推荐(0)

Android开发之WIFI网络操作
摘要:1.WIFi网卡有五个状态,实际就是一些整形常量:WIFI_STATE_DISABLED:WIFI不能使用,其值是:1.WIFI_STATE_DISABLING:WIFI正在关闭中,由于WIFI关闭是需要一个过程,其值是:0WIFI_STATE_ENABLED:WIFI可以使用,其值是:3.WIFI_STATE_ENABLING:WIFI正在开启中, 其值是:2.WIFI_STATE_UNKNOWN:WIFI未知网卡状态,当手机或程序出现错误引起WIFi不可用,其值是:4.2.操作WIFi需要获取的权限:(主要操作权限有以下四个)CHANGE_NETWORK_STATE :允许修改网络状态的权 阅读全文

posted @ 2013-03-13 17:40 疯狂的石头陈 阅读(311) 评论(0) 推荐(0)

android Handler的使用(一)
摘要:Handler的使用(一) Handler基本概念: Handler主要用于异步消息的处理:当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分逐个的在消息队列中将消息取出,然后对消息进行出来,就是发送消息和接收消息不是同步的处理。 这种机制通常用来处理相对耗时比较长的操作。 使用一个例子简单的来介绍一下Handler。 示例1:一个应用程序中有2个按钮(start、end),当点击start按钮时,执行一个线程,这个线程在控制台输出一串字符串,并且每隔3秒再执行一次线程,直到点击end按钮为止,线程停止。 下图为这个应用程序的界面: 下图为执行程序时控制台的输出: 阅读全文

posted @ 2013-03-10 17:00 疯狂的石头陈 阅读(215) 评论(0) 推荐(0)

Java中Runnable和Thread的区别
摘要:在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限, 下面看例子: package org.thread.demo; class MyThread extends Thread{ private String name; public MyThread(String name) { super(); this.name = name; } public vo... 阅读全文

posted @ 2013-03-10 16:52 疯狂的石头陈 阅读(145) 评论(0) 推荐(0)

Android中Handler的使用方法——在子线程中更新界面
摘要:本文主要介绍Android的Handler的使用方法。Handler可以发送Messsage和Runnable对象到与其相关联的线程的消息队列。每个Handler对象与创建它的线程相关联,并且每个Handler对象只能与一个线程相关联。 Handler一般有两种用途:1)执行计划任务,你可以再预定的实现执行某些任务,可以模拟定时器。2)线程间通信。在Android的应用启动时,会 创建一个主线程,主线程会创建一个消息队列来处理各种消息。当你创建子线程时,你可以再你的子线程中拿到父线程中创建的Handler对象,就可以通过该 对象向父线程的消息队列发送消息了。由于Android要求在UI线程中. 阅读全文

posted @ 2013-03-08 22:52 疯狂的石头陈 阅读(200) 评论(0) 推荐(0)

Android自动在线升级
摘要:首先说一下运行环境,android2.3测试(主线程http请求),tomcat7.0作为服务器tomca配置:在webapps下的root文件夹下放了两个文件,一个为apk版本信息txt文件(当然也可以在servlet中返回json),一个为新的apk的文件(v2.0)//install.txt内容1 versioncode=22 url=http://192.168.1.131/android_apk_install.apkandroid配置:首先,机子运行的是apk为v1.0版本,服务器的为v2.0版本权限配置(网络和sd卡写入):1 <uses-permission androi 阅读全文

posted @ 2013-03-07 22:30 疯狂的石头陈 阅读(360) 评论(0) 推荐(0)

Android应用的自动升级、更新模块的实现(zz)
摘要:我们看到很多Android应用都具有自动更新功能,用户一键就可以完成软件的升级更新。得益于Android系统的软件包管理和安装机制,这一功能实现起来相当简单,下面我们就来实践一下。首先给出界面效果:1. 准备知识在AndroidManifest.xml里定义了每个Android apk的版本标识:<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.myapp" android:versionCode="1" andro 阅读全文

posted @ 2013-03-07 22:29 疯狂的石头陈 阅读(285) 评论(0) 推荐(0)

java 泛型详解
摘要:普通泛型Java代码classPoint<T>{//此处可以随便写标识符号,T是type的简称privateTvar;//var的类型由T指定,即:由外部指定publicTgetVar(){//返回值的类型由外部决定returnvar;}publicvoidsetVar(Tvar){//设置的类型也由外部决定this.var=var;}};publicclassGenericsDemo06{publicstaticvoidmain(Stringargs[]){Point<String>p=newPoint<String>();//里面的var类型为Strin 阅读全文

posted @ 2013-03-04 10:55 疯狂的石头陈 阅读(197) 评论(0) 推荐(0)

详解Android中AsyncTask的使用
摘要:在Android中实现异步任务机制有两种方式,Handler和AsyncTask。Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,但也是有缺点的,例如代码相对臃肿,在多个任务同时执行时,不易对线程进行精确的控制。关于Handler的相关知识,前面也有所介绍,不清楚的朋友们可以参照一下。为了简化操作,Android1.5提供了工具类android.os.AsyncTask,它使创建异步任务变得更加简单,不再需要编写任务线程和Handler实例即可完成相同的任务。先来看看AsyncTask的 阅读全文

posted @ 2013-03-02 10:39 疯狂的石头陈 阅读(140) 评论(0) 推荐(0)

Android回调机制
摘要:一、回调函数 回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。详细解释: 客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。由于S并不知道C提供的B姓甚名谁,所以S会约定... 阅读全文

posted @ 2013-03-01 23:50 疯狂的石头陈 阅读(206) 评论(0) 推荐(0)

导航