- 博客(23)
- 收藏
- 关注
原创 可横向或部分横向滑动的列表实现
先看下效果: 首先需要构造一个header部分,header部分分为固定header和滑动header,滑动header采用横向scrollview实现:private void bindHeader(){ headerLiearLayout = new LinearLayout(context);headerLiearLayout.set...
2016-03-25 17:32:47
842
原创 android 与 javascript 通讯分析
1. AndroidManifest.xml中必须使用许可 "android.permission.INTERNET", 否则会出Web page not available错误。 <uses-permission android:name="android.permission.INTERNET"/>2. 如果访问的页面中有Javascript,则webv...
2016-03-25 13:57:19
98
原创 Android开发——DiskLruCache用法详解以及工作原理深度解析
概述LruCache在加载大图、多图时解决了内存泄露的问题,但是另外一个问题随之而来:图片从内存移除后,用户又要重新加载已经移除的图片时,只能从网络上重新加载一次,显然非常耗时,这是照片墙应用最常用的功能。Google又提供了一套硬盘缓存的解决方案:DiskLruCache(非Google官方编写,但获得官方认证)。只可惜,Android Doc中并没有对DiskLruCache的用法给出详细的...
2016-02-15 11:22:54
118
原创 Android 中Message,MessageQueue,Looper,Handler详解+实例
一、几个关键概念 1、MessageQueue:是一种数据结构,见名知义,就是一个消息队列,存放消息的地方。每一个线程最多只可以拥有一个MessageQueue数据结构。 创建一个线程的时候,并不会自动创建其MessageQueue。通常使用一个Looper对象对该线程的MessageQueue进行管理。主线程创建时,会创建一 个默认的Looper对象,而Looper对象的创建,将自动...
2014-06-20 22:08:24
181
原创 Android Fragment 技术说明
Fragment要点Fragment作为Activity界面的一部分组成出现可以在一个Activity中同时出现多个Fragment,并且,一个Fragment亦可在多个Activity中使用。在Activity运行过程中,可以添加、移除或者替换Fragment(add()、remove()、replace())Fragment可以响应自己的输入事件,并且有自己的生命周期,当然,它...
2014-06-13 11:03:30
92
原创 Android之ListView异步加载网络图片(优化缓存机制)
网上关于这个方面的文章也不少,基本的思路是线程+缓存来解决。下面提出一些优化:1、采用线程池2、内存缓存+文件缓存3、内存缓存中网上很多是采用SoftReference来防止堆溢出,这儿严格限制只能使用最大JVM内存的1/44、对下载的图片进行按比例缩放,以减少内存的消耗具体的代码里面说明。先放上内存缓存类的代码MemoryCache.java:[java] view pl...
2014-05-30 13:41:08
87
原创 Android中LocalSocket使用
一 Socket Socket最初用在基于TCP/IP网络间进程通信中,以客户端/服务器模式进行通信。实现异步操作,共享资源集中处理,提高客户端响应能力。Tcp通信基本流程: 服务器端 客户端 1.创建socket...
2014-04-22 09:34:04
98
原创 Android eclipse NDK开发
本文记录了最新的eclipse版本helios如何搭建Android的JDK和NDK的开发环境。并提供了整合NDK和cygwin的方法。为了使用户不用切换到cygwin命令行去编译NDK的代码,给出了配置eclipse下的NDK环境。最后给出如何配置eclipse上的C/C++开发环境——CDT。本文还提供了一个最简单的示例说明NDK的使用方法。关键词:eclipse,Andr...
2014-04-03 17:47:23
129
原创 Android线程的创建与销毁
ndroid线程的创建与销毁在Android开发中经常会使用到线程,一想到线程,很多同学就立即使用 new Thread(){...}.start();这样的方式。这样如果在一个Activity中多次调用上面的代码,那么将创建多个匿名线程,程序运行的越久可能会越来越慢。因此,需要一个Handler来启动一个线程,以及删除一个线程。保证线程不会重复的创建。1、创建Ha...
2013-06-14 09:37:07
633
原创 java.lang.ClassNotFoundException错误解决办法
08-13 18:29:22.924: E/AndroidRuntime(1875): Caused by: java.lang.ClassNotFoundException:XXXXX in loader dalvik.system.PathClassLoader[/data/app/XXXX.apk]我想大家经常因为疏忽出现ClassNotFoundException的异常,这个异常...
2013-06-13 10:20:08
1340
原创 android 中使用socket使native和framework通信
一般的native和framework的通信是通过jni,但是这一般只是framework调用native,native如果有消息要怎样通知上层呢?android中GSP模块提供一种解决思路,但是实现有些复杂,这里介绍一种使用socket通信的方法可以使native和framework自由通信,具体实现如下:android中使用jni对linux中的socket进行了封装。使用起来十分的方便。...
2012-07-23 14:50:43
131
原创 【转】Android xml资源文件中@、@android:type、@*、?、@+含义和区别
2人收藏此文章, 我要收藏 发表于6个月前 , 已有340次阅读 共0个评论一.@代表引用资源1.引用自定义资源。格式:@[package:]type/nameandroid:text="@string/hello" 2.引用系统资源。格式:@android:type/name android:textColor="@android:color...
2012-07-04 14:30:16
132
原创 andorid wifi 模块分析
一.启动wifi服务1.在 SystemServer 启动的时候,会生成一个 ConnectivityService 的实例路径为:\frameworks\base\services\java\com\android\server\SystemServer.javatry { Slog.i(TAG, "Connectivity Service"); ...
2012-06-08 13:56:32
71
原创 android 属性系统,SystemProperties 的简介---转载
每个属性都有一个名称和值,他们都是字符串格式。属性被大量使用在Android系统中,用来记录系统设置或进程之间的信息交换。属性是在整个系统中全局可见的。每个进程可以get/set属性。在 系统初始化时,Android将分配一个共享内存区来存储的属性。这些是由“init”守护进程完成的,其源代码位于:device/system /init。“init”守护进程将启动一个属性服务。属性服务在“...
2012-05-28 14:22:28
90
原创 上百个Android开源项目分享
上百个Android开源项目分享,希望对android开发有帮助。 Android PDF 阅读器 http://sourceforge.net/projects/andpdf/files/个人记账工具 OnMyMeans http://sourceforge.net/projects/onmymeans/developAndroid电池监控 Android Battery...
2012-05-16 15:42:03
118
原创 IT历程
一个IT人士的个人经历,给迷失方向的朋友这些日子我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能够为国内IT的发展尽自己一份微薄的力量。最近看到很多学生朋友和我当年一样没有方向 ,所以把我的经历写出来与大家共勉,希望能给刚如行的朋友们一点点帮助。一转眼我在IT行业学习工作已经七年多了,这期间我做过网页,写过MIS、数据库,应用程序,做过通信软件、硬件驱动、协议...
2012-05-03 13:57:04
123
原创 Shell编程基础
本文作者:Leal授权许可: 创作共享协议 GNU自由文档许可证 编辑人员:FireHare, Dbzhang800我们可以使用任意一种文字编辑器,比如gedit、kedit、emacs、vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行):#!/bin/sh...注意:最好使用“!/bin/bash”而不是...
2012-04-27 17:02:34
79
原创 Android JNI知识简介
Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI 是本地编程接口,它使得在 Java 虚拟机 (VM) 内部运行的 Java 代码能够与用其它编程语言(如 C、C++ 和汇编语言)编写的应用程序和库进行交互操作。 1.从如何载入.so档案谈起 由于Android的应用层的类都是以...
2012-03-06 11:55:06
82
原创 java文件读写操作大全
一.获得控制台用户输入的信息/** *//**获得控制台用户输入的信息 * @return * @throws IOException */ public String getInputMessage() throws IOException...{ System.out.println("请输入您的命令∶"); ...
2010-11-04 09:57:25
113
原创 Android Gesture Detector
Android Touch Screen 与传统Click Touch Screen不同,会有一些手势(Gesture),例如Fling,Scroll等等。这些Gesture会使用户体验大大提升。Android中的Gesture识别(detector)是通过GestureDetector.OnGestureListener接口实现的。首先,Android事件处理机制是基于Listener实现的...
2010-10-08 14:11:40
183
原创 利用HttpURLConnection对象和Internet交互
1.从Internet获取网页发送请求,将网页以流的形式读回来.1)创建一个URL对象:URL url = new URL("http://www.sohu.com");2)利用HttpURLConnection对象从网络中获取网页数据:HttpURLConnection conn = (HttpURLConnection) url.openConnection();3)设置连接超...
2010-08-11 09:27:41
94
原创 Android创建XML文档
下面,我们就直接来看个具体的例子来说明,如何使用XmlSerializer。private String writeXml(){XmlSerializer serializer = Xml.newSerializer();StringWriter writer = new StringWriter();try{serializer.setOutput(writer);/...
2010-08-10 14:58:40
81
原创 android应用开发总论
Android应用程序是用Java语言写的,通过aapt工具把应用程序所需要的任何数据、资源文件打包成apk文件,这个文件是一个将应用安装到手机上的一个载体。有很多方式,每个Android应用程序存在于不同的世界:(1)默认的,每个应用在他自己的Linux进程中运行,当应用中的任何代码需要执行时Android就启动相应的进程,当不需要执行时并且系统资源被其他应用请求时android...
2010-08-02 14:34:46
66
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人