- 浏览: 11749 次
最新评论
-
LinApex:
功能实现的不错,用Java写软件已经非常少了吧。
实现重绘的仿XP画板 -
shuanzia:
厉害哇,看看学习下
仿XP画板
文章列表
应用程序核心
[一点点想法]
最近又找了一本安卓的书看,越看越觉得以前了解到的实在是太少了,同时也缺乏思考,很长一段时间都是在机械的敲代码,而很少想到去想想为什么这么做,这么做有什么好处,有没有更好的办法来实现它。看到一个学长在做他们团队的一个项目的安卓前台,深感自己太low。接下来,我也是希望先打好基础然后再深入,所以我又回到了安卓的基础知识上面,一点一点把这些概念属性都弄清楚。现在我看到一个APP就会去想,像这个功能是怎么实现的,这个界面是怎么做的这么简单又美观的。我把手机上设置了显示布局边界,看到上面的边界线,我就会想,这个布局这个组件是什么样的。我觉得,这 ...
安卓中控制线程其实我们之前在JAVA中原理并没有多少区别,只是因为我们不能直接利用Thread让这个线程运行起来,而是要通过一个中间
安卓中控制线程:1、创建一个继承自View的类2、定义一个Handler类对象handler,创建Callback的一个对象,重写其中的handleMessage方法,让它可以进行重绘,并传给handler。3、重写onDraw方法4、创建线程并启动
import java.util.ArrayList;
import java.util.Random;
import android.content.Context;
impor ...
一、针对特性配置
触控类型(Touchscreen type) notouch(无触控) finger(手指触控) stylus(触控笔触控)
文字输入方式(text input) nokeys (无实体键盘) qwerty(实体键盘) 12key(数字键盘)
浏览方式(navigation method) notouch(无触控) dpad(方向键) trackball(轨迹球) wheel(滚轮)
配置文件中指定屏幕方向 只要在Mainfest的activity中加上 android:screenOrientation="port ...
1、线程是什么
线程可以理解为程序内部一个独立的运行单位。以QQ为例,QQ是一个进程,一个应用程序就是一个进程,进程下面有很多线程线程就是进程内部的多个运行单位。
2、多线程应用
我们以前写的JAVA程序就是一个单线程程序,我们只能按照程序自顶而下地进行,比如我们在一个Button上添加监听机制,我们只有在监听机制的程序运行完之后我们才能进行下一步动作。这时候我们可以测试一下,当我们在监听机制中循环输出一万次,我们可以很明显地看到按钮按下去没有起来,我们也无法进行其他动作。 这个时候,我们就需要多线程的应用了,多线程应用可以让我们同时干很多件事情。
3、
安卓的话,目前也是刚刚入门,做了一个简单的画图板。画图板有两种写法,第一种是用imageView来实现画板,但是有一个弊端就是画图的位置有偏移,第二种是自定义一个组件,有点会是位置准确。在学JAVA的时候,我们也做过画图板,安卓的开发并没有多大区别。当然,我们首先要提到的是Bitmap,Canvas,Paint这三个类。Bitmap:我们可以把它看作是一个画布Canvas:相当于就是铅笔Paint :铅笔头从它们的关系可以看出,我们想要画出一个图案,在这个过程中,画笔用于决定图案的颜色,然后再在画布上画出来,但仅仅是画出来还不够,我们需要一块屏幕来把图案展现出来下面重点来介绍一下自定义组件的 ...
这几天,基本上每天都有写一点点,现在整合在一起。
一、安卓模拟器和项目的创建
首先,当然是打开eclipse;
模拟器:
点击图标栏中下载图标右边的形似手机的图标
在Device Definitions中选择device 比如3.2QVGA,点击右边Create ...
数组队列
1.为什么要使用数组队列?
数组相当于是一个容器,可以存放多个相同类型的数据。
优点:有序性,清晰,可以快速地查找数据;具有连续的存储空间
缺点:在定义的时候数组长度已经固定,不可改变。例如在画板存储图形的时候,如果数组长度太小,会造成画了一定的图形之后,没有存储空间。如果数组长度太大,会造成存储空间的浪费。
2.数组队列的实现
数据类型 [ ] 数组名 = new 数据类型 [数组长度]
做的是仿XP的画板,在功能上实现了铅笔、直线、喷枪、刷子、橡皮擦、矩形、圆角矩形、椭圆、多边形这些功能 ,左右键可以绘制不同颜色的图形。
颜色栏有12种颜色可供选择,颜色框最左边的两个按钮分别以黑色和白色作为初始颜色。
下面来介绍一下整个思路:
首先,需要创建好整个界面;
创建北边菜单栏,并利用一维数组和二维数组来存放文本内容;
数组
数组是JAVA中最基本的一种数据结构,它是一个连续的存储空间,可以存放多个数据,但是这些数据的数据类型必须相同,也就是说,数组只能用来存放数据类型相同的数据。
数组的长度是固定的,不能用变量来控制数组的长度,但可以是普通常量和用宏定义的常量。比如:int [ ] array =new int[ 10];或者:define M 10; int [ ] array=new int [M]。
数组的起始位置都是0,一个具有10个数据的一维数组a[ 10],数据从a[ 0 ] 到a[ 9 ],而没有a[10],如果调用a[10]就会报错。
数组包括一维数组 ...
0315总结
在Java和C++,C中算法是一致的,故像循环控制语句(for,do while,while)和分支控制语句(if else,switch)都是一样的。但是,输出语句有特殊形式(System.out.println(“”);)
类与对象
需要注意到的一点是String并不是八种基本数据类型之一,而是一个对象,所以不能写成string。
八种数据类型包括整型:byte short int long ,浮点型:float double ,逻辑型 boolean(其中,它只有两个值true false,而不是把非零都看作是真) ,字符型 char。 ...
做的是仿XP的画板,在功能上实现了铅笔、直线、喷枪、刷子、橡皮擦、矩形、圆角矩形、椭圆、多边形这些功能 ,左右键可以绘制不同颜色的图形。同时,在裁剪工具上实现的是颜色渐变的立体图形,在放大镜工具上实现的是立体感的圆角矩形柱体(虽然比较粗糙)。
颜色栏有12种颜色可供选择,颜色框最左边的两个按钮分别以黑色和白色作为初始颜色。
下面来介绍一下整个思路:
首先,需要创建好整个界面;
创建北边菜单栏,并利用一维数组和二维数组来存放文本内容;
创建西边工具栏面板,利用数组来存放图片名;
创建南边颜色栏面板,创建添加两个面板,一个用于放置展现左 ...
值传递和引用传递总结
- 博客分类:
- 学习交流
值传递和引用传递总结
<!--[if !supportLists]-->1.<!--[endif]-->基本数据类型
JAVA有八种数据类型,包括:
字符型 char 1字节
浮点型float 4字节
double 8字节
整型
这是3月中旬写的计算器,通过与之前刚刚学习的登录界面相结合,通过登录界面进入计算器。
首先,谈一谈感想,对于计算器模块,基本上都是自己在冥思苦想,花了一天弄出来的,真心不容易啊,界面还是相当好看的。
计算器的button很多,当时采用的是空布局,对每个button的位置和内容是一个个设置的,十分的繁琐。而这可以通过用面板来实现,比如数字键盘构造一个网格布局的面板。
而且,计算器只实现了加减乘除,取余,倒数,取反,根号这些功能,对于实数只能输出数字,而不能进行运算。并且,整数的运算第二个数只能是个位数,当然,这个可以用将运算符及前面的数清空来实现。
//登录界面 (仿QQ界面)
im ...