09 2012 档案
摘要:字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如图所示。下面以两个写文件的操作为主进行比较,但是在操作时字节流和字符流的操作完成之后都不关闭输出流。范例:使用字节流不关闭执行Java代码packageorg.lxh.demo12.byteiodemo;importjava.io.File;importjava.io.FileOutputStream;importjava.io.OutputStream;publicclassOu...
阅读全文
摘要:Java对于网络通讯有着非常强大的支持。不仅可以获取网络资源,传递参数到远程服务器,还可以通过Socket对象实现TCP协议,通过DatagramSocket对象实现UDP协议。同时,对于多点广播以及代理服务器也有着非常强大的支持。以下是本人在学习过程中的总结和归纳。1. Java的基本网络支持1.1 InetAddress Java中的InetAddress是一个代表IP地址的对象。IP地址可以由字节数组和字符串来分别表示,InetAddress将IP地址以对象的形式进行封装,可以更方便的操作和获取其属性。InetAddress没有构造方法,可以通过两个静态方法获得它的对象。代码如下:...
阅读全文
摘要:定时短信的界面比较简单,只是几个EditText和Button,功能包括添加联系人,编写短信,设定时间,保存发送等。Android号称拥有四大组件:Activity、Intent、Broadcast和Service。只要熟练掌握了这四大组件,Android开发就变得很简单了。在这个项目中,我用到了前三个,Service没有用到。Activity可以理解为一个窗口或者容器,它是可视化的,里面可以承载各种控件。对于Intent和Broadcast会在后面介绍。 时间的设定是通过android.app.TimePickerDialog类来实现,这个类提供了一个可视化的窗口,对于用户来说界面十分...
阅读全文
摘要:A.逻辑推理1、你让工人为你工作7天,给工人的回报是一根金条。金条平分成相连的7段,你必须在每天结束时给他们一段金条,如果只许你两次把金条弄断,你如何给你的工人付费? 2、请把一盒蛋糕切成8份,分给8个人,但蛋糕盒里还必须留有一份。 3、小明一家过一座桥,过桥时是黑夜,所以必须有灯。现在小明过桥要1秒,小明的弟弟要3秒,小明的爸爸要6秒,小明的妈妈要8秒,小明的爷爷要12秒。每次此桥最多可过两人,而过桥的速度依过桥最慢者而定,而且灯在点燃后30秒就会熄灭。问:小明一家如何过桥? 4、一群人开舞会,每人头上都戴着一顶帽子。帽子只有黑白两种,黑的至少有一顶。每个人都能看到其他人帽子的颜色,却看不到
阅读全文
摘要:为了能够方便的识别网络上的每个设备,网络中的每个设备都会有一个唯一的数字标识,这个就是IP地址。在计算机网络中,现在命名IP地址的规定是IPv4协议,该协议规定每个IP地址由4个0-255之间的数字组成,例如10.0.120.34。每个接入网络的计算机都拥有唯一的IP地址,这个IP地址可能是固定的,例如网络上各种各样的服务器,也可以是动态的,例如使用ADSL拨号上网的宽带用户,无论以何种方式获得或是否是固定的,每个计算机在联网以后都拥有一个唯一的合法IP地址,就像每个手机号码一样。 但是由于IP地址不容易记忆,所以为了方便记忆,有创造了另外一个概念——域名(Domain Name),例如...
阅读全文
摘要:Android平台有三种网络接口可以使用,他们分别是:java.net.*(标准Java接口)、Org.apache接口和Android.net.*(Android网络接口)。下面分别介绍这些接口的功能和作用。1.标准Java接口java.net.*提供与联网有关的类,包括流、数据包套接字(socket)、Internet协议、常见Http处理等。比如:创建URL,以及URLConnection/HttpURLConnection对象、设置链接参数、链接到服务器、向服务器写数据、从服务器读取数据等通信。这些在Java网络编程中均有涉及,我们看一个简单的socket编程,实现服务器回发客户端信息
阅读全文
摘要:Java的const和C++的一样吗?怎么实现的?const和goto只是Java的保留字,没有被使用实现。它们的区别在下面:(1)final在java中定义常量,可作用于基本类型或者类类型,若是作用于类类型,则此类类型不能作为父类被继承,也就是说它的下面不能有子类,这样的类叫做原子类。 C++中的const定义常量(2)Java中的final如果是对于基本类型,那和C++里面const是一样的,如果是是对对象而言,就不同了(3)final表示这个句柄是不可改变的 final Object obj=(Object)new String("a"); obj=(Object)n
阅读全文
摘要:在开发Android应用时必须遵守单线程模型的原则: Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。在单线程模型中始终要记住两条法则:1. 不要阻塞UI线程2. 确保只在UI线程中访问Android UI工具包 当一个程序第一次启动时,Android会同时启动一个对应的主线程(Main Thread),主线程主要负责处理与UI相关的事件,如:用户的按键事件,用户接触屏幕的事件以及屏幕绘图事件,并把相关的事件分发到对应的组件进行处理。所以主线程通常又被叫做UI线程。 比如说从网上获取一个网页,在一个TextView中将其源代码显示出来,这种涉及到网络操作的程序一般..
阅读全文
摘要:当某个组件第一次运行的时候,Android启动了一个进程。默认的,所有的组件和程序运行在这个进程和线程中。也可以安排组件在其他的进程或者线程中运行进程组件运行的进程由manifest file控制。组件的节点 — <activity>, <service>, <receiver>, 和 <provider> — 都包含一个 process 属性。这个属性可以设置组件运行的进程:可以配置组件在一个独立进程运行,或者多个组件在同一个进程运行。甚至可以多个程序在一个进程中运行——如果这些程序共享一个User ID并给定同样的权限。<applica
阅读全文
摘要:SlidingDrawer(滑动式抽屉)隐藏屏外的内容,并允许用户拖拽一个handle以显示隐藏的内容。它由两个子视图组成:一个是用户拖拽的handle(柄),另一个是随着拖动变化的content(内容)。SlidingDrawer应当作为内部布局的覆盖来使用,也就是说SlidingDrawer内部应该使用FrameLayout或RelativeLayout布局。SlidingDrawer的大小决定了其内容显示时所占空间的大小,所以它的尺寸一般定义为match_parent。在XML布局中SlidingDrawer必须指定handle和content的id.其中:android:all...
阅读全文
摘要:1. 传统的JDBC操作获取连接;创建可执行对象;执行数据库操作;2. JDBC连接的工具化, JDBC操作的工具化用公共类实现数据库的连接, 查询, 新增,更新,删除以及关闭连接操作.3. JDBC连接的配置化把连接信息配置在文本文件中,这样修改环境不需要重新编译java文件把数据库操作封装在工具类中,业务不需要关心数据库连接环境。(同第二种方法)。4. 连接池的引入对操作结束后的连接不马上关闭, 而是维持一个合理的空闲连接数, 获取连接也不一定完全新建连接, 可以从空闲连接池中获取.5. POJO, 数据的对象化POJO 在 Hibernate 语义中理解为数据库表所对应的 Domain
阅读全文
摘要:一、基本原理Hibernate是一个基于Java的开源的持久化中间件,对JDBC做了轻量的封装。采用ORM映射机制,负责实现Java对象和关系数据库之间的映射,把sql语句传给数据库,并且把数据库返回的结果封装成对象。内部封装了JDBC访问数据库的操作,向上层应用提供了面向对象的数据库访问API.优点:以对象的形式操作数据,提高开发效率,不用关心数据库种类(换数据库只要修改配值文件)。二、使用步骤 1、创建Hibernate配置文件,存储和数据库连接的相关信息,放在classes下。2、创建持久化类(数据bean并实现Serializable接口)注意:Serializable接口不是必需的,
阅读全文
摘要:一,什么是框架? 所谓框架就是提供了一组统一的接口和编程方式的可以重用组件,同时我们可以在框架中扩充我们自己的特定逻辑。二,MVC设计模式将应用程序分为3个部分:模型 Model,视图View,控制器Controller;模型组件:负责业务逻辑; 模型包含应用程序的核心功能。模型封装了应用程序的状态。有时它包含的唯一功能就是状态。它对视图或控制器一无所知。视图组件:负责表示业务范围的视图; 视图提供模型的表示。它是应用程序的 外观。视图可以访问模型的读方法,但不能访问写方法。此外,它对控制器一无所知。当更改模型时,视图应得到通知。控制器组件:负责控制用户输入的流和状态; 控制器对用户的输入作出
阅读全文
摘要:Ctrl+1快速修复(最经典的快捷键)Ctrl+D:删除当前行Ctrl+Alt+↓复制当前行到下一行(复制增加)Ctrl+Alt+↑复制当前行到上一行(复制增加)Alt+↓当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑当前行和上面一行交互位置(同上)Alt+←前一个编辑的页面Alt+→下一个编辑的页面(当然是针对上面那条来说了)Alt+Enter显示当前选择资源(工程,or文件or文件)的属性Shift+Enter在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)Shift+Ctrl+Enter在当前行插入空行(原理同上条)Ctrl+Q定位到最后
阅读全文
摘要:importjava.text.SimpleDateFormat;SimpleDateFormatformatter=newSimpleDateFormat("yyyy年MM月dd日HH:mm:ss");DatecurDate=newDate(System.currentTimeMillis());//获取当前时间Stringstr=formatter.format(curDate); 可以获取当前的年月时分,也可以分开写:[java]view plaincopyprint?SimpleDateFormatsDateFormat=newSimpleDateFormat(&q
阅读全文
摘要:如何获取 res 中的资源数据包package:android.content.res主要类:ResourcesAndroid SDK中的简介:Class for accessing an application’s resources.Class for accessing an application’s resources. This sits on top of the asset manager of the application (accessible through getAssets()) and provides a higher-level API for getting
阅读全文
摘要:前提是需要在value目录下的string.xml文件中加入一段代码:Xml代码<drawablename="bkcolor">#ff00ff</drawable>其中的颜色值可以自己设置。以下为两种方法:一.从代码中设置1.首先导入必要的包:Java代码importandroid.content.res.Resources;importandroid.graphics.drawable.Drawable; 2.然后在onCreate()函数中加入以下代码:Java代码Resourcesres=getResources();Drawabledrawa
阅读全文
摘要:Android的大多数控件都是继承自View的,因此在自定义控件时一般也是继承View类,但是对于高效的,游戏级别的绘图,或者是播放器等要求比较高的地方,普通的View类就有点吃不开了,这个时候就要用到SurfaceView类。因为比较高级,所以就该装B,单纯一个继承自SurfaceView类是不行的,必须实现一个SurfaceHolder.Callback接口来指明SurfaceView创建、改变、删除时的回调方法,并且在SurfaceView中通过一个SurfaceHolder对象来控制SurfaceView。 如果将该SurfaceView作为某个Activity的全屏View,则...
阅读全文
摘要:共有属性: java代码中通过btn1关联次控件 android:id="@+id/btn1" 控件宽度 android:layout_width="80px" //"80dip"或"80dp" android:layout_width =“wrap_content” android:layout_width =“match_parent” 控件高度 android:layout_height="80px" //"80dip"或"80dp" android
阅读全文
摘要:SurfaceView不能直接使用,需要使用时需要基于他派生出我们自己的类,并导出SurfaceHolder.Callback接口并实现。SurfaceView继承于视图类(View),能够实现线程绘图主要是因为其内部包含一个专门用于绘制的Surface。人们通过getHolder()获得Surface的句柄,然后通过SurfaceHolder接口的callback来使用他。SurfaceHolder的使用周期与surfaceview有关,surfaceview可见时,surface被创建;surfaceview不可见时,surface被销毁,且在surfaceview不可见之前。这样设计..
阅读全文
摘要:callback接口: 只要继承SurfaceView类并实现SurfaceHolder.Callback接口就可以实现一个自定义的SurfaceView了,SurfaceHolder.Callback在底层的Surface状态发生变化的时候通知View,SurfaceHolder.Callback具有如下的接口: surfaceCreated(SurfaceHolderholder):当Surface第一次创建后会立即调用该函数。程序可以在该函数中做些和绘制界面相关的初始化工作,一般情况下都是在另外的线程来绘制界面,所以不要在这个函数中绘制Surface。 surfaceChang...
阅读全文
摘要:在JAVA中实现定时器功能要用的二个类是Timer,TimerTask Timer类是用来执行任务的类,它接受一个TimerTask做参数Timer有两种执行任务的模式,最常用的是schedule,它可以以两种方式执行任务:1:在某个时间(Data),2:在某个固定的时间之后(int delay).这两种方式都可以指定任务执行的频率,本文有二个例子,一个是简单的一个是用了内部类1.简单实例先写一个类public class TimeTest {public static void main(String[] args) { Timer timer = new Timer(); timer.sc
阅读全文
摘要:定时器在VC中的使用频繁,以下讨论定义器的使用方法。 定时器的原型是: WINUSERAPI UINT WINAPI SetTimer ( HWND hWnd , UINT nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc);hWnd 是欲设置定时器的窗体句柄。定时时间到时,系统会向该窗体发送WM_TIMER消息。nIDEvent 定时器标识符。在一个窗体内可以使用多个定时器,不同的定时器根据nIDEvent来区分。uElapse 定时时间,单位是毫秒。lpTimerFunc 定时器的回调函数。如果该值为NULL,定时时间到时,定时器发送的消息WM..
阅读全文
摘要:Android开发:实现带图片和checkbox的listview 原文链接:http://mobile.51cto.com/android-254823.htm 标注:该listView中的checkbox实际上是不能获取焦点的,点击时监听的是listView的OnItemClickListener方法.先新建一个MyAdapter类,继承自BaseAdapter。在MyAdapter中实现对数据的绑定,我这儿由于是测试的,所以把数据写死了。[java]view plaincopypackagecom.zwq.umeng;importjava.util.ArrayList;importjav
阅读全文