- 博客(15)
- 资源 (4)
- 问答 (1)
- 收藏
- 关注
原创 深入理解并发(二)--生产者及消费者
生产者及消费者问题,是线程操作中的一个经典案列。但由于线程运行的不确定性,生产者及消费者可能会产生一些问题: 试想,如果生产者线程向存储数据空间添加了部分信息,但没有添加全部,这时就切换到消费者线程,这时消费者线程将会把已经添加了的部分信息,后上一次的信息混淆了,导致出错。 或者,若生产者放数据,与消费者取数据的速度不匹配,也会出现问题:即可能会出现,生产者放了多条数据,消费者才取了一条,导致数
2015-06-02 19:09:20 969
原创 深入理解并发(一)
一 为什么需要并发? 或许我们想到的第一个理由是:使程序更快的执行,确实,对于多处理器的机器来说,利用并发将每个任务分配到多个CPU上,能使程序更快的执行。 但在单处理器机器上运行并发程序,由于上下文切换(CPU控制权由运行任务转移到另外一个就绪任务时所发生的事件)的代价,开销甚至比顺序执行还要大,那是不是说,并发对于单处理器来说就没有作用了呢? 其实不然,因为考虑到一种情况“阻塞”,如果没有
2015-05-27 10:19:53 1388
原创 WebView 详解(简易浏览器Demo)
在Android应用中,需要使用WebView控件对Web程序进行解析,这个控件实际上使用了Webkit内核的内嵌浏览器. 下面以一个简易浏览器的例子来讲述WebView的使用步骤: 先上成果图: 1 由于涉及到访问网络,所以必须要在AndroidManifest添加访问网络权限:<uses-permission android:name="android.permission.INTER
2015-05-08 21:38:59 4366
原创 Android 判断网络连接(二)
今天写了个Demo,测试Android 判断网络连接(一) 所记录的内容,发现还是有点问题:就是连接像CMCC-EDU之类的需要验证的WIFI下,在未通过验证时,居然仍然表示网络连接.
2015-04-08 20:35:54 631
原创 Android 判断网络连接(一)
ConnectivityManager manager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo mNetworkInfo = manager.getActiveNetworkInfo();if (mNetworkInfo != null) {
2015-04-03 21:28:28 572
原创 IPV4与IPV6
1 IPV4数据报格式如图:关键字段如下:1版本号:规定了数据报的IP协议版本。2首部长度:一个IPV4数据报可包含一些可变数量的选项,所以需要4比特来确定IP数据报数据部分实际从哪里开始。(大多数IP数据报不包含选项,所以一般的IP数据报具有20字节的首部。)3服务类型:(TOS)以便使不同类型的IP数据报能相互区别开来。4数据报长度:IP数据报的总长
2015-03-21 21:04:39 1218
原创 TCP和UDP套接字编程
下面会使用简单的客户机/服务器应用程序来分别演示使用TCP套接字编程和UDP套接字编程。先说明一下,实现的功能:(1)一台客户机从键盘读取一行字符,并通过连接的套接字发送给服务器(2)服务器从套接字读取该行字符(3)服务器将该行字符的小写字符,转换成大写字符(4)服务器将转换后的字符通过连接的套接字返回给客户机(5)客户机从其套接字读取转换后的字符后,通过监视器打印出来。
2015-01-29 21:25:08 973
原创 Android的2D绘图小结
Android SDK支持基本的 2D绘图功能。接下来就介绍一下。 1 绘制像素点绘制像素点使用drawPoint或drawPoints方法。这两个方法原型如下:public native void drawPoint(float x,float y,Paint paint);//这是画一个像素点的,其中x,y分别为像素点的横纵坐标,而paint是描述像素点属性的Paint。
2015-01-27 22:09:55 523
原创 深入理解Layout_weight
估计很多人都对layout_weight这个属性感到疑惑。 下面就通过几个例子来分析一下layout_weight这个属性。 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:lay
2015-01-23 21:21:03 463
原创 Android 调用系统接口发短信
(1) 通过系统接口发短信,首先需要获取短信管理器:android.telephony.SmsManager smsManager = android.telephony.SmsManager.getDefault(); (2)然后因为手机短信有长度限制,所以需要拆分短信内容List divideContents = smsManager.divideMessage(
2015-01-21 10:51:15 922
循环内定义变量,和循环外定义变量的问题
2015-08-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人