随笔分类 - Android
1
摘要:此篇接上篇 Android访问WCF(下篇)-客户端开发 将服务器获取的JSON数据通过GSON这个类库, 进行反序列化, 并通过UI显示出来.如何在Android平台上用GSON反序列化JSON数据, 参考了这篇文章 http://benjii.me/2010/04/deserializing-json-in-android-using-gson/一. 建立我们包装好的Http请求类文件 WebDataGetApi.javapackage com.demo;import java.io.IOException;import java.io.InputStreamReader;import j
阅读全文
摘要:本章目的: 实现在Android客户端请求我们上篇建立的WCF数据服务.此部分分为 建立Http请求 跟 接受WCF 返回的数据.一. 建立Http请求的方法protected String getRequest(String url, DefaultHttpClient client) throws Exception { String result = null; int statusCode = 0; HttpGet getMethod = new HttpGet(url); Log.d(TAG, "do the getRequest,url=" + url + &q
阅读全文
摘要:(转)http://www.cnblogs.com/VinC/archive/2011/02/24/1964049.html本章目的: 用Wcf建立可以上Android可以访问的数据服务, 数据传输格式采用比较适合于移动互联网传输的Json格式.服务的开发流程我们按照 服务契约(ServiceContract), 服务实现(Service), 实体对象模型(Model) 及服务发布的流程来介绍.由于自己对Http请求的链接认识的比较浅,对于有些问题没法做出清楚明了的解释, Android访问WCF这篇文章我会贴出来代码, 让后说明一下关注的地方, 不做深入研究.一. 服务契约(Contract
阅读全文
摘要:json数据格式解析我自己分为两种;一种是普通的,一种是带有数组形式的;普通形式的:服务器端返回的json数据格式如下:{"userbean":{"Uid":"100196","Showname":"\u75af\u72c2\u7684\u7334\u5b50","Avtar":null,"State":1}}分析代码如下://TODO状态处理500200intres=0;res=httpClient.execute(httpPost).getStatus
阅读全文
摘要:在Android上常用的定时器有两种,一种是Java.util.Timer,一种就是系统的AlarmService了。实验1:使用Java.util.Timer。在onStart()创创建Timer,每5秒更新一次计数器,并启动。 /** 定时发送 */ public void SendInTime(String msg, Handler mhandler) { handler = mhandler; timer = new Timer(); // 在1秒后执行此任务,每次间隔2秒,如果传递一个Data参数,就可以在某个固定的时间执行这个任务. timer.schedule(new MyTas
阅读全文
摘要:版权所有,转载请注明来自Mobile Developer (http://mdev.cc ) 作者 : SinFrancis说明:此程序需要将手机上的数据连接的按钮(下图)打开,才好使。(怎么用程序去打开这个按钮呢?各位大牛请不吝赐教!!!)由于Android对于APN的网络API没有公开,不过我们可以阅读源代码,然后进行数据库操作,系统会自动监听数据库的变化,从而实现开启或者关闭APN。大家可以研究一下frameworks/base/core/java/android/provider/Telephony.java这个类,比较重要的就是 URI 和数据库字段: content://telep
阅读全文
摘要:(转http://www.cmd100.com/bbs/forum-redirect-tid-8084-goto-lastpost.html) ------------------------------------------------public class EX05_17 extends Activity{private TextView mTextView01;private CheckBox mCheckBox01;private WifiManager mWiFiManager01;/** Called when the activity is first created. */
阅读全文
摘要:1. String --> InputStreamInputStream String2InputStream(String str){ ByteArrayInputStream stream = new ByteArrayInputStream(str.getBytes()); return stream;}2. InputStream --> StringString inputStream2String(InputStream is){ BufferedReader in = new BufferedReader(new InputStreamReader(is)); Str
阅读全文
摘要:在整个DDMS中体现Android NIO主要框架的要数MonitorThread.java这个文件了,有关PC和Android手机同步以及NIO非阻塞编程的精髓可以在下面的文件中充分体现出来。 final class MonitorThread extends Thread { private static final int CLIENT_READY = 2; private static final int CLIENT_DISCONNECTED = 3; private volatile boolean mQuit = false; private ArrayList<Clien
阅读全文
摘要:今天我们继续就Android DDMS源码一起分析NIO非阻塞通讯方式,Android123也会给大家分享下手机和PC互通中的一些技术。在NIO中有关SocketChannel和ByteBuffer的使用细节,可以在今天文章中 static void read(SocketChannel chan, byte[] data, int length, int timeout) throws TimeoutException, IOException { ByteBuffer buf = ByteBuffer.wrap(data, 0, length != -1 ? length : data.l
阅读全文
摘要:有关Android NIO的相关内容,本次Android123整理并归类如下,为了让大家感觉NIO和Android平台联系的紧密,这里我们结合ADT插件的重要开发工具DDMS中的源码进行分析。在android git中的sdk.git文件中,可以找到ddmlib这个文件夹。有关PC和手机的互通内核在这里使用了Java来完全实现。这里Android开发网一起帮助大家了解下PC同步软件的开发原理同时学习下Java中的New I/O技术。 比较重要的代码段我们贴出,逐一分析,其他的网友可以直接预读源码: AdbHelper.java文件中 public static SocketChannel op
阅读全文
摘要:有关Android NIO的注意点和重点今天Android123着重分析下上次 Android开发进阶之NIO非阻塞包(四)一文中提到的不足地方改进。由于目前国内很多人资料书籍编写人员没有通过NIO实现服务器的经验,导致了很多例子中存在严重的错误,由于大多数例子为Echo这样的单次交互以及数据量较小所以反映不出问题的所在。 1. 读和写应该分开,NIO使用的是异步的方法但不等于说不会阻塞,在上面的例子中我们可以看到 判断 key.isReadable() 时,对于这个SelectionKey关联的SocketChannel尽量不要使用写入数据量过多时ByteBuffer使用hasRemaini
阅读全文
摘要:今天我们通过一个实例详细讲解下Android下NIO非阻塞服务器的开发,对于客户端而言Android123不推荐使用NIO,毕竟NIO相对于传统IO较为复杂,最重要的NIO是为了解决多线程并发问题而解决的技术,可能会因为管理和复杂性降低最终的结果,毕竟NIO是Java的,相关的类型比较难控制,对于客户端而言我们可以使用C++、Java、C#甚至Flash Action Script来编写。 下面我们以一个简单的Echo Server为例子来分析import java.io.IOException;import java.net.InetSocketAddress;import java.nio
阅读全文
摘要:有关Android NIO的精髓主要用于高负载的Socket网络传输,相对于传统I/O模型的Socket传输方式的优势,我们已经在 Android开发进阶之NIO非阻塞包(一) 中讲到了,这里不再赘述,一起来看看Android NIO有关Socket操作提供的类吧: 一、ServerSocketChannel 服务器套接字通道在Android SDK中查找package名为 java.nio.channels.ServerSocketChannel 在Java的NIO中,ServerSocketChannel对应的是传统IO中的ServerSocket,通过ServerSocketChanne
阅读全文
摘要:有关Android NIO我们主要分为三大类,ByteBuffer、FileChannel和SocketChannel。由于篇幅原因今天Android123只对前两个做说明。NIO和传统的I/O比较大的区别在于传输方式非阻塞,一种基于事件驱动的模式,将会使方法执行完后立即返回,传统I/O主要使用了流Stream的方式,而在New I/O中,使用了字节缓存ByteBuffer来承载数据。 ByteBuffer位于java.nio包中,目前提供了Java基本类型中除Boolean外其他类型的缓冲类型,比如ByteBuffer、DoubleBuffer、FloatBuffer、IntBuffer、L
阅读全文
摘要:Android开发进阶之NIO非阻塞包 这个系列转载于http://www.android123.com.cn/androidkaifa/695.html,特此说明 对于Android的网络通讯性能的提高,我们可以使用Java上高性能的NIO (New I/O) 技术进行处理,NIO是从JDK 1.4开始引入的,NIO的N我们可以理解为Noblocking即非阻塞的意思,相对应传统的I/O,比如Socket的accpet()、read()这些方法而言都是阻塞的。 NIO主要使用了Channel和Selector来实现,Java的Selector类似Winsock的Select模式,是一种基于事
阅读全文
摘要:在前面,已经介绍了TabActivity和TabHost的结合实现Tab分页的三种方式。这里,将讲到采用ActivityGroup和GridView的结合,实现Tab分页。其实,这和TabActivity和TabHost的结合差不多。只不过,是自己把Tab的头部(选项栏)和页面视图分开实现。Tab头部采用GridView来实现,子页面采用LinearLayout容器来实现。然后把每个子Activity作为一个View视图,装载到LinearLayout容器里面。你会发现LinearLayout不仅仅是布局容器,它还有许多妙用。 实现讲解:1、主类继承ActivityGrouppublic cl
阅读全文
摘要:讲了两种方式,你是否发觉它们的代码耦合性太高,如果代码过多,那就是密密麻麻的一大堆,不仅可读性差,修改维护还很困难。这里讲到的方式三,能够很好的解决这个紧耦合问题。因为它的布局文件和各块代码都是独立的文件。那步入主题吧。 三、TabActivity和TabHost的结合(三) 实现描述: 1.主类继承TabActivity public class Tagpage extends TabActivity 2.获取当前TabHost对象 final TabHost tabHost = getTabHost(); 3.添加Tab分页标签,这里就是关键,把每个分页面链接成Activity。页面的跳转
阅读全文
摘要:在上一篇讲到了TabActivity和TabHost的结合的分页实现方式一。这里,将讲到方式二。其实,方式一、二大同小异,只是方式二的布局文件可以是独立的。当然,也有些差别,例如点击顶部Tab标签时页面跳转事件响应的实现也不同。具体,看源代码。二、TabActivity和TabHost的结合实现分页标签--------方式二 细节分析: 1.主类继承TabActivity public class Pagination extends TabActivity 2.获取当前TabHost对象TabHost tabHost = getTabHost();3.添加Tab分页标签tabHost.ad.
阅读全文
摘要:特别说明:以下四篇文章都转自于http://blog.csdn.net/kkfdsa132许多软件,因为功能比较多,都喜欢采用Tab分页。在Android里面Tab分页,常用的方法有两种: 1、采用TabActivity和TabHost的结合2、采用ActivityGroup和GridView的结合。 这里将会一一讲到他们的实现方法。现在,先讲讲TabActivity和TabHost的结合吧。其实,TabActivity和TabHost的结合的方式有三种,如下: 第一种方式:各个页面布局放在同一个文件,代码也紧凑一起。不建议。 第一种方式:各个页面布局文件是分割的,但代码仍然紧凑一起,也不建议
阅读全文
1