- 博客(79)
- 收藏
- 关注
转载 Java NIO介绍(三)
转载自并发编程网 – ifeve.comJava NIO中的DatagramChannel是一个能收发UDP包的通道。因为UDP是无连接的网络协议,所以不能像其它通道那样读取和写入。它发送和接收的是数据包。打开 DatagramChannel下面是 DatagramChannel 的打开方式:DatagramChannel channel = Datagra
2015-01-30 16:20:46 376
转载 Java NIO介绍(二)
转载自并发编程网 – ifeve.com下面是本文所涉及到的主题列表:为什么使用Selector?Selector的创建向Selector注册通道SelectionKey通过Selector选择通道wakeUp()close()完整的示例为什么使用Selector?仅用单个线程来处理多个Channels的好处是,只需要更少的线程来处理通道。事实上,可以只用一
2015-01-30 16:16:08 321
转载 adb push permission denied
1. lsusb命令找到对应设备的vendorId和productId$ lsusb$ Bus 002 Device 023: ID 0bb4:0cd4 High Tech Computer Corp.2.更改/etc/udev/rules.d/70-android.rulessudo gedit /etc/udev/rules.d/50-Android.rules添加以下
2015-01-29 22:41:29 606
转载 Android Camera常见问题
在用SurfaceView 和Camera做摄像头程序时,常常会遇到一些问题简单描述下:1、预览取景反转这种情况,在低版本sdk中,必须设置为横屏模式[android:screenOrientation="landscape"]2、预览图像被拉伸变形由于预览大小跟SurfaceView大小不一致引起,常常需要根据surfaceChanged事件的参数width和height
2015-01-29 22:24:09 1377
转载 String,StringBuffer,StringBuilder的区别
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)在大部分情况下三者速度比较:StringBuilder > StringBuffer > Stringjava.lang.StringBuffer线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改。虽然在任意时间点上它都包
2015-01-29 22:04:08 340
转载 Java中extends Thread 与 implements Runnable 的区别
1、通过实现Runnable接口创建线程(1).定义一个类实现Runnable接口,重写接口中的run()方法。在run()方法中加入具体的任务代码或处理逻辑。(2).创建Runnable接口实现类的对象。(3).创建一个Thread类的对象,需要封装前面Runnable接口实现类的对象。(接口可以实现多继承)(4).调用Thread对象的start()方法,启动线程举例如下:
2015-01-29 21:58:05 992
原创 android:layout_gravity和android:gravity的区别
android:gravity 是设置该view里面的内容相对于该view的位置,例如设置button里面的text相对于view的靠左,居中等位置。(也可以在Layout布局属性中添加,设置Layout中组件的位置)android:layout_gravity 是用来设置该view相对与父view的位置,例如设置button在layout里面的相对位置:屏幕居中,水平居中等。即andro
2015-01-29 21:50:07 272
转载 Java NIO介绍(一)
1. 阻塞I/O通信模型 假如现在你对阻塞I/O已有了一定了解,我们知道阻塞I/O在调用InputStream.read()方法时是阻塞的,它会一直等到数据到来时(或超时)才会返回;同样,在调用ServerSocket.accept()方法时,也会一直阻塞到有客户端连接才会返回,每个客户端连接过来后,服务端都会启动一个线程去处理该客户端的请求。阻塞I/O的通信模型示意图如下:如
2015-01-29 21:38:49 364
转载 linux系统中硬链接和软链接的区别
Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为软链接(Symbolic Link)。默认情况下,ln命令产生硬链接。【硬连接】硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接
2015-01-29 21:14:31 420
转载 ps aux指令詳解
1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。2)ps -A 显示所有程序。3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。4)ps -e 此参数的效果和指定"A"参数相同。5)ps e 列出程序时,显示每个程序所使用的环境变量。6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系。7)ps -H 显示树
2015-01-29 21:08:31 678
原创 Java isEmpty,null,""之间的区别
为了清楚的分析这个问题,写程序来解释:package JavaTest; public class TestNull { /** * @param args */ public static void main(String[] args) { String a = new String();
2015-01-29 20:51:11 504
原创 Java Map详解
Map是java中的接口,Map.Entry是Map的一个内部接口。此接口为泛型,定义为Entry。它表示Map中的一个实体(一个key-value对)。接口中有getKey(),getValue方法。通过Map提供的entrySet()方法可以得到Set>。由此可得遍历Map的常用方法,举例如下:public static void main(String[] args) {Ma
2015-01-29 20:30:56 412
转载 Activity隐藏,修改图标标题
有时候在一些子页面或者内容页面,不需要显示ActionBar的标题栏图标。可用如下方式进行设置。ActionBar actionBar=getActionBar();隐藏Label标签:actionBar.setDisplayShowTitleEnabled(false);隐藏logo和icon:actionBar.setDisplayShowHomeEnabled(false);
2015-01-29 18:27:01 386
原创 屏幕适配学习笔记
基本概念:屏幕大小 :物理屏幕的大小,看屏幕的对角线。分辨率 :实际上是像素的总和。1280*720dpi :密度。(每英寸所展示的像素)hdpi :480*800 ~240dpildpi :320*240 ~120dpimdpi : 320*480 ~160dpi (参照物)xhdpi: 1280*720 ~320dpi缩
2015-01-28 23:37:09 329
转载 adb常用命令
1. 显示当前运行的全部模拟器:adb devices2. 安装应用程序:adb install -r 123.apk3. 获取模拟器中的文件:adb pull 4. 向模拟器中写文件:adb push 5. 进入模拟器的shell模式:adb shell6. 缷载apk包:adb shellcd data/apprm 1
2015-01-27 16:08:11 350
转载 android 修改源码framework后如何编译
1.如果在framework/base/core/res/res下添加或修改资源文件后需要先编译资源,然后编译framework 才可正常引用。步骤:(1)进入项目根目录 cd frameworks/base/core/res/ 执行mm命令(原生或高通)或 ./mk mm frameworks/base/core/res(mtk 依据各平台编译命令有所不同),编译 framework
2015-01-27 13:40:20 8661
转载 回调函数教程(二):Android中ListView点击事件回调实例
转自:http://www.cnblogs.com/ivan-xu/p/4124967.html在Activity中响应ListView内部按钮的点击事件,而不在Adapter中响应的两种方式:使用接口回调和使用抽象类回调。1.使用接口回调:Adapter类1 package com.ivan.adapter; 2 3 import java.util.Lis
2015-01-24 16:43:39 4524 1
原创 回调函数教程(一):回调函数定义及用接口实现的实例
回调函数定义:传递一个函数A到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称,就叫做匿名回调函数。或者将一个方法对象A 传递给另一个方法对象 B,让后者在适当的时候执行A,那么A就叫做回调函数。回调函数实例理解:消防员给出一个电话号码119(这是每个人都知道的,119就相当于Java中的一个接口),并且在每一个地方都设置一个发生火灾时的检测装置,如果
2015-01-24 15:53:07 2989
原创 java服务器与linux c客户端之间udp通信
java服务器和 linux c客户端采用udp协议互相通信,最关键的点是数据结构的统一。比如说,在c中一个char型 是8bit,在java中,char 是16bit,所以c和java的char类型不能直接互相转换。在本例程中,c的char 类型和 java的byte类型,两个数据类型都是8bit,这样就保证了数据正确传输的基本条件之一。java服务器代码如下:import java.i
2015-01-22 17:07:07 1237
转载 Android中Thread和Service应用场合的区别
1)Thread 是程序执行的最小单元,它是分配CPU的基本单位,可以用 Thread 来执行一些异步的操作。如果是Local Service,那么对应的 Service 是运行在主进程的 main 线程上的。如果是Remote Service,那么对应的 Service 则是运行在独立进程的main 线程上。因此 Service不是线程! 2)Thread 的运行是独立于
2015-01-22 16:34:40 449
转载 Android.mk简介
Android.mk文件是GNU Makefile的一小部分,它用来对Android程序进行编译。因为所有的编译文件都在同一个 GNU MAKE 执行环境中进行执行,而Android.mk中所有的变量都是全局的。因此,您应尽量少声明变量,不要认为某些变量在解析过程中不会被定义。一个Android.mk文件可以编译多个模块,每个模块属下列类型之一: 1)APK程序 一般的Andr
2015-01-21 17:23:20 332
转载 Android 得到当前已连接的wifi的信号强度
1.得到当前已连接的wifi信息WifiManager wifi_service = (WifiManager)getSystemService(WIFI_SERVICE); WifiInfo wifiInfo = wifi_service.getConnectionInfo(); 其中wifiInfo有以下的方法: wifiinfo.getBSSID();
2015-01-21 17:18:49 972
转载 Android之Socket的基于UDP传输
接收方创建步骤:1. 创建一个DatagramSocket对象,并指定监听的端口号DatagramSocket socket = new DatagramSocket (4567);2. 创建一个byte数组用于接收byte data[] = new byte[1024];3. 创建一个空的DatagramPackage对象 DatagramPackage pack
2015-01-21 17:13:58 451
转载 java 中变量存储位置的区别
1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。) 3. 堆:存放所有new出来的对象。 4. 静态域:存放静态成员(static定义的) 5. 常量池:存放字符串常量和基本类型常量(public stat
2015-01-15 23:06:09 405
转载 Ubuntu 13.10 安装 eclipse不显下拉菜单解决方法
方法很简单,1)首先,关闭Eclipse和做到这一点:sudo gedit /usr/share/applications/eclipse.desktop2)在这个文件的末尾只是复制粘贴此线Exec=env UBUNTU_MENUPROXY=0/usr/bin/eclipse打开Eclipse,在Eclipse的菜单将开始出现。 (适用于在后期版本的Ubuntu
2015-01-15 23:04:01 367
转载 Surface、SurfaceView、SurfaceHolder、SurfaceHolder.Callback之间关系
转载网址:http://blog.csdn.net/pathuang68/article/details/7351317一、SurfaceSurface就是“表面”的意思。在SDK的文档中,对Surface的描述是这样的:“Handle onto a raw buffer that is being managed by the screen compositor”,翻译成中文就是“由
2015-01-15 23:02:28 470
转载 自定义Socket通信协议
按照网络通信的传统,我们都会自定义协议,这有很多好处,大家可以自己体会(嘿嘿)。一直不知道socket通信时候自定义数据包是什么样子的,偶然做了个小例子。先来说说数据包的定义,我这里是包头+内容 组成的:其中包头内容分为包类型+包长度, 那就是 消息对象=包类型+包长度+消息体包类型 byte 型包长度 int 型消息体 byte[]包总长度为 1 + 4 + 消息体.g
2015-01-15 22:57:45 1094
转载 在linux中配置usb连接
通过USB连接android设备后,就可以使用adb命令和设备进行交互了,在linux中需要配置,不需要安装驱动,因为linux下面没有给该usb设备权限,配置方法如下:1、连接usb设备后,使用lsusb命令查看设备的vendorId和productId。如下:1. Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 ro
2015-01-15 22:53:28 2232
转载 su认证失败
Ubuntu 安装后,root用户默认是被锁定了的,不允许登录,也不允许 "su" 到 root。有人说这是个不好的实践,特别是对于服务器来说。我觉得对于桌面用户来说,这样安全性更高一些,是应该的;但对于服务器可以设置成允许 "su" 到root,但不允许root用户直接登录”。而我为了开发时的方便,则在桌面和服务器上都采用这种方式。 问题:su认证失败使用su命令登录到root用户时
2015-01-15 22:51:21 421
转载 Android 实现图片的自动缩放,适应分辨率不同的手机
以下代码可实现Android图片按照不同屏幕手机的大小 比例缩放。1、定义 bitmappublic Bitmap viewBg;// 背景图2、给他图片资源viewBg = BitmapFactory.decodeResource(res, R.drawable.shuaibao_bg);3、就是正事了,自己看吧canvas.save();Matrix matrix=
2015-01-15 22:48:45 569
转载 正则表达式语法
正则表达式示例表达式 匹配 /^\s*$/匹配空行。/\d{2}-\d{5}/验证由两位数字、一个连字符再加 5 位数字组成的 ID 号。/]*)?>[\s\S]*/匹配 HTML 标记。下表包含了元字符的完整列表以及它们在正则表达式上下文中的行为:
2015-01-15 22:37:50 239
转载 Android中Bitmap,byte[],Drawable相互转化
一、相关概念1、Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的可画对象2、Canvas画布,绘图的目的区域,用于绘图3、Bitmap位图,用于图的处理4、Matrix矩阵二、Bitmap1、从资源中获
2015-01-15 22:35:57 302
转载 android 实时视频采集
1 概述通过Android Camera拍摄预览中设置setPreviewCallback实现onPreviewFrame接口,实时截取每一帧视频流数据2 知识点① Android Camera使用: Camera 支持格式拍照流程② Android SurfaceView使用: 参考 Refs/Related 5-10③ Camera权限
2015-01-15 22:32:02 636
转载 基于Socket的Android手机视频实时传输
首先,简单介绍一下原理。主要是在手机客户端(Android)通过实现Camera.PreviewCallback接口,在其onPreviewFrame重载函数里面获取摄像头当前图像数据,然后通过Socket将图像数据和相关的用户名、命令等数据传输到服务器程序中。服务器端(PC端)采用C#编写,通过监听相应的端口,在获取数据后进行相应的命令解析和图像数据还原,然后将图像数据传递至PictureBox
2015-01-15 22:18:57 5385 1
转载 项目中listView常用属性设置
问题1: listview在拖动的时候背景图片消失变成黑色背景。等到拖动完毕我们自己的背景图片才显示出来。解决办法: xml中: android:scrollingCache="false" 或者 android:cacheColorHint="#00000000" 代码中: setScrollingCacheEnabled(false) 或者 se
2015-01-15 22:14:22 365
转载 Android中IntentService的原理及使用
简单说,IntentService是继承于Service并处理异步请求的一个类,在IntentService内有一个工作线程来处理耗时操作,启动IntentService的方式和启动传统Service一样,同时,当任务执行完后,IntentService会自动停止,而不需要我们去手动控制。另外,可以启动IntentService多次,而每一个耗时操作会以工作队列的方式在IntentService的
2015-01-15 22:05:53 329
原创 getApplicationContext()、Activity.this、getBaseContext区别
getApplicationContext() 返回应用的上下文,生命周期是整个应用,应用摧毁它才摧毁Activity.this的context 返回当前activity的上下文,属于activity,activity 摧毁他就摧毁getBaseContext()返回由构造函数指定或setBaseContext()设置的上下文
2015-01-15 22:02:42 444
转载 Android AsyncTask的使用
在Android中实现异步任务机制有两种方式,Handler和AsyncTask。Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,但也是有缺点的,例如代码相对臃肿,在多个任务同时执行时,不易对线程进行精确的控制。关于Handler的相关知识,前面也有所介绍,不清楚的朋友们可以参照一下。
2015-01-15 21:57:43 394
转载 ProgressDialog的使用
ProgressDialog 继承自AlertDialog,AlertDialog继承自Dialog,实现DialogInterface接口。ProgressDialog的创建方式有两种,一种是new Dialog ,一种是调用Dialog的静态方法Dialog.show()。[java] view plaincopy1. // 方式一:new Dialog 2.
2015-01-15 21:53:09 355
转载 Android Service与Activity之间通信方式
转载地址http://blog.csdn.net/xiaanming/article/details/9750689在Android中,Activity主要负责前台页面的展示,Service主要负责需要长期运行的任务,所以在我们实际开发中,就会常常遇到Activity与Service之间的通信,我们一般在Activity中启动后台Service,通过Intent来启动,Intent中我们可以传
2015-01-15 21:45:35 692
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人