`
文章列表
     补下上节课的章节,键盘事件,OnKeyListener实例实现一个输入框判断是否是email地址,是的话换图片为对勾: public class MainActivity extends Activity { private EditText edit=null; private ImageView image=null; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.act ...
            这里接着上节课的内容,现在我们是要把2,3节课学到的组件的事件监听方法全部练一遍,所以接下来就是 监听日期与时间的改变 焦点事件 一下是.java代码: package com.example.timelongclick; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.DatePicker; import android.widget.DatePicker.OnDateChangedL ...
                     主要的事件我们可以想象到,平时经常在手机屏幕中操作的我们,应该可以想到几个吧   单击事件 长按事件 键盘事件 焦点事件 触摸事件 创建上下文事件 1.单击事件   我们来做一个实例去认识单击事件,点击按钮让图片切换竖屏显示和横屏显示。 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" ...
           ,这几天进度还是挺快的,我们已经到了Android布局管理器了。接下来让我们认识最常见的布局方式,也是安卓默认的布局放方式:    LinearLayout    线性布局方式           分为:垂直和水平布局 FrameLayout      框架布局方式 TableLayout       表格布局方式       这个需要重点讲一下: TableLayout属性:   android:collapseColumns:将TableLayout里面指定的列隐藏,若有多列需要隐藏,请用逗号将需要隐藏的列序号隔开。              ...
         接着上一节课学习内容 图片视图: ImageView 用来放图片的,可以设置图片最大宽度高度  <ImageView        android:id="@+id/imageView1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentLeft="true"        android:l ...
                    前面我们学习了怎样创建我们第一个安卓工程,也了解了它基本运作,UI组件+事件处理代码,现在我们来学习Android的基本组件,组件就是你的手机中的按钮,文本框,图片等等,这些是最为基本的组件,看到这里是不是跃跃欲试了呢?现在我们开始认识它们。                                     所有的布局管理器,显示组件都是View类的子类。view类本身包含大量接口。 textView <TextView android:layout_width="wrap_content&quo ...
这是第一堂课,接下来会以我学习的进度,按层次更新下面的博客,大家可以按顺序看,末尾标好了顺序,也希望和大家共同进步。                                               1.应用层           ...
                                                 手机客户端与PC服务端的网络通信                  前面我们学过电脑与电脑之间的通信,以及多人聊天协议,现在我们就用一台电脑做服务器, ...

通信多人聊天基础

    博客分类:
  • JAVA
                                                         多个客户端实现多人聊天            前面已经讲过一个客户端与一个服务器相连的情况,然而发现再加入一个客户端的时候,程序不能如期 运行,这是因为当你创建的只是一个客户端,另一个客户端是不能连入,简而言之就是服务器只把门牌号给了一个上访者,这时就要不断创建客户端,如下: while(true){     //等待客户端访问     Socket socket=host.accept();     System.out.println("有人访问了") ...

网络通信初步

    博客分类:
  • JAVA
                                                  网络通信初步讲解             从刚开始讲,我们最常用的聊天工具无非是qq,想要编程达到qq的效果还是需要一定的理解,比如说,我们手中的电脑是服务器,想要跟你聊天的人就是客户机,你的电脑的服务器有一个属于你的标示,这里可以理解成门牌号,当人家想要访问你的时候,必须要知道你的门牌号,就是代码一下这一段: ServerSocket s=new ServerSocket(port); System.out.println(port+"连接成功");   这 ...
                    我们看到一张图片,无论是什么格式的,都是用图片浏览器打开的,强大的浏览器 可以解析各种格式图片。例如jpg,bmp,gif,png,等等,这里我们讲一下解析较为简单的BMP格式,首先准备一张bmp格式的图片,  然后UltraEdit软件解析,出来会是这个样子   接下来对照下表解析以上字节意思,注意以上都是16进制,学会使用计算器进行转换成10进制: BMP文件格式分析  简介 BMP(Bitmap-File)图形文件是Windows
             I/O流在文件中尤为重要,尤其是文件中,我们鼠标中让你一天中用到最多的什么 复制,粘贴,剪切,新建,删除,等等都涉及到了文件操作,我们在感叹方便之余是不是也想实现这一功能呢, 其实我们在安装windows时候,这些代码就已经被编好,并且快捷到我们鼠标右键中,方便我们的使用,然而在使用着这些应用时,也想自己做出这样的代码,于是在刚刚学了I/O流之后,就可以动手操作了,在学会了读写之后,就可以添加COPY 也就是复制,粘贴·功能,之后的加密解密就迎刃而解了。 以下是关键代码: package 文件; import java.io.FileInputStre ...
                          这是上一篇多线程实现植物大战僵尸博客文章的源代码,部分改进,添加攻击,生产阳光等功能 详情请看上一篇代码。 后续改进中,代码会继续在这里上传
                                    递归,用最少的代码量完成最大的工作量,初步对递归开始上心是因为机试老师给了一道题,看到后开始着急忙慌就开始做,最后那个代码量,就不忍吐槽了,自己还觉得挺自豪的,写了那么多行代码,也打印出了正确图形,,结果老师一公布他的答案,和我几百行的代码相比老师只用了7行,完败。。。。。。。。。 于是觉得与其拿到题就开始做不如先找规律,本来思想就比代码重要,分形就是用递归画出美丽的图案,那些平时在我们眼中单调无趣的线条以及点,就能在不断递归中画出自然界之美。 我随意挑了两个比较有代表性的图案 画出的图如下所示:       ...
        我们在之前学的编程语言中,所有代码的执行顺序是串行的,也就是按顺序执行,这样就造成了一个问题,也许当你刚刚接触编程语言时候无关大碍,甚至在达到一定水平之后可以自己设计五子棋,贪食蛇,连连看等游戏,但是看着自己设计的界面以及游戏,有没有感觉缺少什么?对了,就是单调,不够动态,因为串行语句必须等上面的代码执行完了才会执行下面的语句,这样就无法支持同步性,当时造成我主要困扰的是想要完成儿童时代的经典游戏   坦克大战  时,忽然考虑到了一个很大的问题           用单线程实现不出来!!!!!因为子弹是一个线程,坦克是一个线程,敌人的坦克又是一个线程,当时有种崩溃的感觉,因为 ...
Global site tag (gtag.js) - Google Analytics